This is the first analytics recurring meeting since April 13, 2026. The gap was driven by the new Custom CRM (Nutshell replacement) build, which has been the primary development focus and is tracked as its own workstream (see that section — recommended as a separate walkthrough).
In the meantime, the analytics & reporting platform has continued running without interruption. Every scheduled report and data pipeline is live and healthy, and all action items from the April 13 meeting have been delivered. This document summarizes the status of each piece — what it does, what changed, who receives it, and whether it is running cleanly.
Status snapshot as of May 20, 2026. Operational health verified directly against AWS CloudWatch logs.
A daily email that flags events whose margin has moved significantly across decor, subcontract, or trucking — so Bob, Jonathan, and Mal can catch missing costs or pricing problems early. Events are grouped into severity tiers (Alert / Watch), with a separate “new activity” section and a gray “below threshold” section so small movements are visible without cluttering the alerts.
Acting on Jonathan’s request from the April 13 meeting, four new columns were added so the email shows why a margin moved, not just that it did:
Columns are ordered so retail-vs-retail and cost-vs-cost sit side by side. This answers Bob’s “is that 107% margin real, or is a cost just missing?” question inline. Labels were also clarified (“Total Job Budget”, “15d Avg Margin %”). Shipped to production April 16 — tier logic, the 5%-of-budget threshold, and event-state filtering were left unchanged.
A weekly Google Sheets report of logged hours by resource, with a collapsible Department → Event/Job → Resource drill-down, the approved-hours budget per job, and row color-coding by how much of the budget has been used. Built to show managers the consequences of not planning or clocking.
V4 became the production report (it went live April 16; the older V3 was retired and its schedule turned off April 24). Changes from the April 13 meeting:
The sheet now has 5 tabs: Current & Future Events, Past Events, COB Usage, Person × COB, Person × Event. Conditional row coloring and a filterable “% of approved hours used” column (built in March) carry through.
Amanda Filsinger’s team is not yet on the distribution list — Jonathan to review the report with Amanda before it goes wider (carry-forward from earlier meetings).
A monthly email comparing budgeted (estimated) production hours against actual logged hours by department, with a 6-month variance trend heatmap. Designed to give management a trended view of which departments are tracking to plan and which are drifting.
At the April 13 meeting, Bob and Jonathan said they had never actually seen this report. It was put into distribution to them right after (HD-106): test mode was turned off, recipients were set to Bob, Jonathan, and Diego, and the prior month’s report was sent manually so they did not have to wait for the monthly cycle. The variance-math fixes and 6-month heatmap from the March work were already in place.
Bob ultimately wants scheduled hours (what a manager allocates per person, per week in Direct’s scheduler), not just budgeted hours. Investigation — confirmed with Jacques — found that this per-person/per-week scheduled data does not exist in Redshift in a usable form. Adding it requires HMR Direct to expose that data. Until then the report compares budgeted vs. actual. Tony Little’s Event Installation crew is the cited pilot once the data becomes available.
A data pipeline plus two daily emails: one to each department manager and one to designers/producers, listing custom projects that are “Ready for Approval” with a “days pending” timer so nothing sits unactioned.
A natural-language interface to HMR’s data — ask a plain-English question (e.g. “what’s the average trucking labor cost for events at the Four Seasons Hotel in Chicago?”) and get an answer with supporting tables. It lives inside the HMR Reporting Portal and is also reachable from Gmail and Google Chat.
The chatbot was demo’d at the April 13 meeting and drew strong positive feedback from Bob. Follow-up work delivered:
Working and demo-ready; iterating on formatting and coverage. Bob has asked for this to stay a priority. More data domains will be added over time — some HMR Direct fields may need to be exposed to broaden what it can answer.
A custom web app hosted on AWS that replaces HMR’s Tableau subscription. Reports live today: Event Margins (with anomaly detection), Custom Projects, Time Entry by Resource, and Data Chat (the chatbot above).
User authentication (the portal is currently reachable by URL only — HD-112), automated deployment, and a branded domain. Reports themselves are live and in use; this is hardening work.
A custom, HMR-specific CRM built to fully replace Nutshell — pipeline management, contacts, venues, native two-way HMR Direct integration, and no per-seat subscription cost. Approved by Bob at the April 13 meeting.
This has been the primary development focus over the past several weeks — the reason this is the first analytics sync since April 13. It is tracked under its own epic (HD-102) with phased delivery: schema foundation, events & lookup APIs, pipeline and event-detail screens, contacts & venues, and the bidirectional HMR↔CRM sync. A number of phases are already built.
Because it is a large, self-contained effort, it is recommended to walk through the CRM as its own agenda item rather than summarize it here. The existing Nutshell integration — and the open Nutshell tickets (API migration, dropdown watchdog) — will be sunset as the CRM takes over.
Verified against AWS CloudWatch on May 20, 2026. Every actively-scheduled function ran successfully on its last scheduled date, with no errors in the prior 14 days.
| Lambda | Purpose | Schedule | Last run | Health | Recipients |
|---|---|---|---|---|---|
event-margin-anomaly-email-v2 |
Margin anomaly alert email | Daily 8:05 UTC | May 20, 2026 | Healthy | Bob, Jonathan, Mal · CC Diego |
time-entry-by-resource-v4 |
Weekly time-entry Google Sheet | Weekly Mon 13:00 UTC | May 18, 2026 | Healthy | Bob, Jonathan, Diego |
hours-tracking-email |
Sched vs Actual Hours email | Monthly 1st 08:00 UTC | May 1, 2026 | Healthy | Bob, Jonathan, Diego |
hour-tracking-loader |
ETL feeding Sched vs Actual | Daily 08:00 UTC | May 20, 2026 | Healthy | — (data pipeline) |
custom-projects-processor |
Custom projects data processor | Hourly | May 20, 2026 | Healthy | — (data pipeline) |
custom-project-department-emails |
Dept-manager approval emails | Weekdays 11:00 UTC | May 20, 2026 | Healthy | Per-department managers |
custom-project-designer-producer-emails |
Designer/producer approval emails | Weekdays 11:02 UTC | May 20, 2026 | Healthy | Designers & producers |
anomaly-detection-loader |
Data-anomaly detection loader | Daily 08:00 UTC | May 20, 2026 | Healthy | — (data pipeline) |
anomaly-detection-email-lambda |
Daily anomaly alert email | Daily 09:00 UTC | May 20, 2026 | Healthy | Diego, iVerticle · CC Chris, Jonathan |
event-margin-anomaly-email (v1) |
Superseded by v2 | Disabled | Mar 10, 2026 | Retired | — |
time-entry-by-resource-v3 |
Superseded by v4 | Disabled (Apr 24) | Apr 20, 2026 | Retired | — |
time-entry-by-resource, -v2,
-v3, -v4) when only v4 is live; Event Margin Anomaly Email has
event-margin-anomaly-email (v1) alongside -v2 when only v2 is live. The two
disabled versions (event-margin-anomaly-email v1 and time-entry-by-resource-v3) are also still
deployed in AWS. Stale versions should be pruned from the repo, the deploy workflow, and AWS so only the live versions
remain — a recurring repo-wide hygiene check, not a one-off.