Our second major release of the Media Mix Modeling tool builds on the 1.0 foundation with a re-architected data model, a hardened deployment path, a refreshed reporting UI, and a runtime upgrade. Here’s what’s new.
Built for many clients and projects
The headline change is a move from a single-view tool to a true multi-client, multi-project product. There’s now a clients landing page with per-client project pages, all driven by a re-architected Snowflake data model and resolved dynamically from the URL structure. Projects can belong to distinct clients, and the homepage now shows only active projects, each with its date range on the card.
Richer reporting
Reporting got a meaningful upgrade:
- Response-curve reporting: a new ROI curve chart plus marginal-return and allocation-curve visualizations, sourced from the
_CURVESand_PREDICTIONStables. - Rolling monthly and spend-projection charts, including a by-month spend projection with values surfaced directly on the chart.
- Data tables beneath the three bottom charts for precise, side-by-side numbers.
- Redesigned charts that place historical and projected data side by side, matching the approved mockups, with unified table styling.
More reliable data and deployments
We added a dedicated staging deployment pipeline (scripts/staging.sh) supporting multiple environments and AWS profiles, with automatic auth bypass on staging. Under the hood, the Python runtime was upgraded and the prediction date window was corrected as part of that work.
Data handling is sturdier too: spend parsing now casts dollar signs and commas correctly throughout the charts, historical-vs-projected averaging was refined, and zero or anomalous data falls back to historical values so charts no longer collapse to zero.
Quality-of-life additions
- Data refresh to re-pull project data on demand.
- In-app feedback button.
- Support for multiple allowed email domains, enabling partner-company access.
- Google Analytics tags for usage tracking.
Fixes worth calling out
This release also resolves a Google sign-in issue, several date-handling and rolling-window bugs, a numeric casting problem, and corrects how the rolling graph represents conversions.
A note on the response-curves work: the standalone response-curves graph from 1.0 was temporarily removed, superseded by the new curve charts above.
View the full changelog on GitHub (auth required)