← All work Next case100+ strategic accounts, assigned on one map →
300+ reports a cycle, none built by hand
300+automated, every cycle
- Scale
- 17M survey rows, three years, 31 slides per report
- Methods
- Config-driven generator, generated edge-case tests, slide-by-slide checks
The problem
Every site needed its own report, every cycle. Analysts were the bottleneck, and the old generator was a script only one person could touch.
What I did
I built a generator where slide layouts live in a config file, not in code. I tested it on generated edge cases, then checked it slide by slide against the old reports, within five points, before anyone switched.
FIG.04 ยท one config, any site, checked against the old reporttry it · sample data
What changed
- Analysts are out of the bottleneck.
- The team changes a slide without opening Python.
What this looks like for you
Replacements fail on trust, not function. I prove the new thing matches the old one before I ask you to trust it.
Let's talk data →