THE PROBLEM
Senior strategists were writing slide bullets instead of running accounts.
Each QBR took the lead strategist 4–6 hours of manual assembly: pulling Looker tiles, screenshotting GA4, re-typing the same caveats. Across 22 clients per quarter, the agency-wide load came out to roughly 3 senior days a month — billable rate burnt on copy-paste.
The deeper damage was that the narrative had no memory. Last quarter's awkward conversation got forgotten, and clients caught the agency repeating itself.
THE APPROACH
We connected the warehouse to a draft engine that writes in the agency's tone.
Phase 1: standardise the metric layer in BigQuery so every client account uses the same definition of 'good week'. No more bespoke pivots.
Phase 2: a retrieval layer over the last 8 quarters of QBRs per client, so the draft knows what's been promised, what's been pushed back, and what's about to be raised again.
Phase 3: a draft engine producing a 12-slide Google Slides deck with each claim citing the BigQuery query that produced the number — strategist reviews in 45 minutes instead of writing for 4 hours.
The first two weeks the draft was wrong on tone — we burned three rounds calibrating the editorial pass before strategists trusted it. Now my Monday is pushing back on the draft, not typing it.
WHAT WAS MESSY
Where the first version of the workflow failed.
The retrieval layer initially returned the wrong quarters when a client had renamed their account. We fixed it by switching from account-id to a fuzzy match plus reviewer confirmation step.
Tone calibration took longer than the build itself. The first draft sounded like every other agency. Two rounds of in-context examples from past QBRs got it to a place strategists would actually edit instead of rewrite.
The deck render through Google Slides API kept breaking on charts. We ended up exporting charts as images from Looker and inlining them, which means chart edits still require a manual step.
THE OUTCOME
Margin freed where the agency was leaking it.
- QBR prep hours per client4–6 h → 45 min−85%
- Senior days per month, agency-wide3 days → 5 hours−85%
- Clients with QBR auto-draft0 → 22100%
- Client-reported clarity (post-QBR survey)+11 ptsn=22
HOW WE MEASURED IT
Baseline, sample and method — so the numbers above are checkable.
Baseline: the prior 12 QBR cycles before the pilot (22 client accounts × ~4 QBRs/year cadence sampled).
Pilot: 22 client accounts across one 6-week window.
Time-saved figures come from reviewer logs in the new workflow and timesheet entries (Harvest) from the prior baseline.
Clarity score is a 1–5 client-reported question added to the post-QBR follow-up email; +11 pts is the absolute delta versus baseline (n=22 accounts, response rate 64%). Treat it as directional, not a controlled study.
WHAT WE DID NOT AUTOMATE
Where the human stayed in the loop on purpose.
Strategists own every client-facing send. The engine drafts; the strategist edits, signs and ships.
We did not train models on client data. Retrieval is over the agency's own past QBRs only.
Awkward-week interpretation stays human — the engine flags anomalies, but never explains them away.
The agency's account leads still set the QBR agenda. The engine fills the slides, not the narrative direction.
WHAT'S NEXT
We're now adding the same flow for monthly steering and ad-hoc deep-dives.
Once the retrieval layer existed, every other client-facing artifact got easier. Weekly performance updates, monthly steering decks and ad-hoc creative-vs-investment deep-dives are now drafting through the same engine.
The agency's lead also flipped: they now sell 'AI-augmented account team' as a differentiator on new business pitches — without selling a chatbot.