HMR Designs — Analytics Update

Recurring Analytics Meeting
March 6, 2026 Prepared by: Diego Sanz DataStudios
Sprint Summary
6
Completed
2
In Progress
2
New / Discussion
Completed
Delivered & Ready for Review

Event Margin Anomaly Email — V2 Enhanced

HD-87 · Done
What was requested

On Feb 18, 2026, client feedback raised concerns about the Daily Margin Anomaly Email. Extreme deviation percentages — values like 33,853% and many exact 100.00% entries — made the report difficult to interpret and not actionable.

Investigation revealed three compounding issues:

  1. $0 revenue distortion — Events with vendor costs but no client billing produced meaningless margin percentages
  2. Small-baseline amplification — A $45 trucking cost compared against a 13.33% 15-day average produced 33,853%
  3. Zero-to-nonzero hardcode — Any category going from $0 to any amount returned a flat 100.00% regardless of dollar value
What was delivered

All 7 requested enhancements implemented:

1Dollar amounts shown alongside deviation % (current margin, 15-day avg, $ change)
2$500 minimum change threshold in addition to 20% deviation filter
3New cost activity separated from deviations — $0-to-nonzero items reported as new line items
4Test events excluded (Chris Test Lead, etc.)
5Margin direction shown — Improving vs. Deteriorating
6Severity tiers — color-coded CRITICAL / ALERT / WATCH based on % + $ impact
7Event status filter — only Confirmed or Proposal Released events shown
Action needed

Jonathan & Bob: Review and approve the V2 format so we can switch recipients and disable V1.

Time Entry By Resource V2 — Google Sheets with Drill-Down

HD-88 · Done
What was requested

Based on stakeholder feedback from the Feb 20, 2026 meeting, managers needed a more interactive time tracking report to replace the static XLSX-based one. Specific asks:

  • Unified COB + client hours view with visual COB markers
  • Collapsible row groups so managers can drill into their department
  • Most-recent-week-first column ordering
  • Monthly tabs that accumulate over time (not overwritten)
  • Frozen header and key columns for scrollability
What was delivered

New Lambda (time-entry-by-resource-v2) with native Google Sheets output:

  • Row hierarchy: Department > Event/Job > Resource with collapsible groups at 2 depths
  • COB jobs prefixed with [COB] and highlighted with light orange background
  • Frozen columns A–F and frozen header row
  • Weekly columns ordered most-recent-first
  • Monthly tabs that accumulate; first Monday of each month finalizes the previous tab
  • Estimated hours + days-left columns for planning
  • Email notification via SES with deep link to current month’s tab

Scheduled to run every Monday. Hour totals validated against V1 output.

Action needed

Confirm additional recipients for the weekly report (Jonathan? Amanda? Department managers?).

New Designer Added: Robert Deleonibus

Ad-hoc · Done
What was requested

On Mar 4, 2026, Amanda Filsinger requested: "We have added Robert Deleonibus as a Designer option in Direct. Can you add him into Nutshell as well?"

What was delivered

Robert (Bobby) Deleonibus added to the designers mapping table in PostgreSQL. End-to-end verified: assigning Robert as Assignee on Nutshell lead #5926 correctly created event 19143 in HMR Direct with him as Designer.

Custom Projects Email — Producer Routing Fix

PR #35 · Done
What was requested

On Mar 3, 2026, Amanda flagged: "These notifications are going to the wrong person. Emily is producer for Jason (with Greg). Brittanie's producers are Hadley & Leo W."

What was delivered

Producer-to-designer email mapping corrected. PR #35 merged to hmr-aws-lambda-functions on Mar 3. Amanda confirmed: "Thank you!"

Custom Projects Email — Mari Noga Spelling Fix

Awaiting iVerticle · Root-caused
What was requested

On Mar 3, 2026, Amanda reported: "Can you please fix the spelling of Mari's last name? It's Noga (not Nago)."

What was found

We traced the root cause to the IBIS/iVerticle system:

  • users table: Last name = "Noga" — correct
  • departments table (ID 17, "Production - Shop"): Coordinator = "Mari Nago" — typo here

Our emails pull from the department coordinator field, so the fix must happen in iVerticle’s system.

Action needed

Request Jacques / iVerticle to update the coordinator name for "Production - Shop" (dept ID 17) from "Mari Nago" to "Mari Noga". Our emails will auto-correct on the next sync.

Nutshell Event Types — Synced with Direct

Ad-hoc · Done
What was requested

On Feb 25, 2026, Mal requested: "Can you please update Nutshell event types to match the ones from Direct?" — provided a screenshot of the Direct event types for reference.

What was delivered

All old event types were mapped to new ones and the changes were implemented. Mal confirmed on Feb 26: "Great!!! Thank you!!"

View Event Types Mapping →

Open item

Mal asked about removing unused templates from Direct before renaming the rest: "There are so many — can we remove the ones we aren't using and then I can go in and change names?" This is pending on Mal / Jacques (iVerticle) to clean up the Direct template list.

In Progress
Work Underway — Input Needed

Inquiry Stage Reminder Emails & Auto-Dead

HD-83 · In Progress
Original requirements (approved Feb 12 by Mal & Bob)

When a lead remains in Nutshell "Inquiry" stage without being moved, the system should:

DayAction
Day 10Send first reminder email to Designer (CC Mal)
Day 21Send second reminder email to Designer (CC Mal)
Day 30Automatically move lead to "Dead"
  • Designers can manually move leads to Dead at any time
  • Reminder schedule resets if the lead moves out of Inquiry
  • "No movement" = lead has not advanced to Qualified or any subsequent stage
Input needed to finalize

Are there any exceptions? Specific lead types or tags that should be excluded from the auto-dead schedule?

Custom Email Notifications to Designers & Producers

HD-84 · Blocked on Input
Original requirements (approved Feb 18 by Mal)

Nutshell's automated notifications only go to the Assignee (whoever entered the lead). Custom logic needed so both the Designer AND their Producer(s) receive notification emails.

DesignerProducer(s)
BurtMichael
DavidMichael
MalMichael
JasonEmily AND Greg
BrittanieHadley AND Leo
CorrinNone (on her own)
TWNone (on her own)
Recommended approach

We recommend a webhook-driven notification flow: Nutshell webhooks trigger the backend, latest lead details are fetched, compared against a stored snapshot, and emails sent only for specific field change scenarios chosen by HMR. This approach is deterministic, auditable, and prevents unnecessary email volume.

Input needed to proceed (critical)
  1. Which lead field changes should trigger notifications? (stage, dates, venue, budget, outcome, assignee, producer list, etc.)
  2. Who receives each notification type? (Producers only, or Producers + Designer?)
  3. Confirm the source of truth for producer name → email mapping
New
New Requests & Discussion Items

Scheduled vs Actual Hours — Report Walkthrough & COB Enhancement

New Request
Jonathan's request (today, 8:23 AM)

Jonathan asked for the details behind the "Sched vs Actual Hours — Feb 2026" report and wants to review with Amanda how hours are being generated. Additionally, he requested COB hours be broken out as a separate summary alongside project-related hours.

How the report works

What it compares: The report pulls two numbers for each event and department: the estimated hours (what was scheduled/budgeted upfront) and the actual hours (what was actually logged by the team). It covers the full prior month.

How variance is calculated:

Variance = (Actual − Estimated) / Estimated

Examples from the Feb report:

DepartmentActualEstimatedVarianceInterpretation
Warehouse - Glass19869+189.4%Over budget
Art237377-37.2%Under budget
Event Installation579583-0.7%On target

Red = over budget  •  Green = within/under budget

"Jobs Within budget: 69.6%": This counts how many events came in at or under their estimated hours. Out of all events in February, 69.6% had actual hours ≤ estimated hours. Events with no estimate are counted as "within."

Department view vs Event view:

  • Department table — rolls up all events for the month by department (e.g., total Floral hours across every event)
  • Event table — rolls up all departments for each event (e.g., total hours for "Sage Leadership Festival" across Floral, Electrical, Warehouse, etc.)
Enhancement to discuss

COB hours: Currently COB shows as a department row like any other. Jonathan has requested we break this out as a separate COB vs project-hours summary so that COB time is clearly distinguished from project-related time in one consolidated view.

Nutshell Test Sandbox — Ready for Use

FYI
Context

Nutshell (Rachel Oellig) has built a sandbox/test instance for HMR. This allows us to test any new Nutshell functionality before rolling it out to the active production environment.

Login invites sent to diegos@hmrdesigns.com and analytics@hmrdesigns.com. Ready for Bob, Jonathan, and Mal to be added as well.

Action Items

Decisions Needed Today

  1. Margin Anomaly V2: Approve format → switch recipients to Jonathan & Bob, disable V1
  2. Time Entry V2: Confirm additional recipients for the weekly Google Sheets report
  3. Inquiry Auto-Dead: Any exceptions / lead types to exclude?
  4. Producer Notifications: Which field changes trigger emails? Who receives them?
  5. COB Hours: Scope the enhancement to the Sched vs Actual Hours email
  6. Mari Noga: Request iVerticle to fix the coordinator name in their departments table
  7. Nutshell Sandbox: Add Bob, Jonathan, Mal to the test instance