A Quarterly Business Review Prompt That Locks the Deck Structure
Turn account data into a structured QBR narrative with a quarterly business review prompt that locks the section order and flags missing data. Copy it free.
A QBR season looks the same in most customer success teams. Ten accounts, ten decks, and three CSMs who each structure the story differently. One leads with usage, one buries the renewal risk on slide nine, one forgets to mention the expansion the account exec flagged last month. The data exists. The narrative doesn't, until someone spends an afternoon assembling it by hand.
A quarterly business review prompt fixes the assembly, not the thinking. You still decide what the account needs to hear. The prompt takes the raw inputs (adoption numbers, the outcomes the customer cared about, the open risks, the expansion signals) and writes them into a locked section order, the same one every time, so the deck reads consistent across the whole book of business.
The trick isn't getting an LLM to write prose about an account. That's easy and mostly useless. The trick is getting it to write only what the data supports, flag what's missing, and never quietly invent a number to fill a slide.
Why a generic QBR template won't get you there
Search "quarterly business review template" and you'll find a wall of slide decks and agenda frameworks. Gong's QBR examples piece lays out a solid nine-section agenda and a few sample conversations (gong.io). The AI for Work QBR prompt and similar libraries hand you a "world-class CSM expert" instruction that produces a generic template (aiforwork.co).
Both leave the same gap. None of them is a prompt that takes your account data and enforces a structure against it. The template tells you the sections exist. It doesn't pull usage, outcomes, risks, and expansion into those sections, and it certainly doesn't flag when one of them is empty. You're still doing the assembly. You've just moved the blank page from PowerPoint to a chat window.
That's the gap a real QBR prompt closes. Structure plus a data guard, not a pretty outline.
What you can do with a QBR prompt
- Turn a quarter of usage exports and CRM notes into a first-draft QBR narrative in one pass
- Write the same locked section order for every account in your book, so reviews stay comparable
- Surface renewal risk explicitly instead of letting it hide in the appendix
- Tie the narrative to the outcomes the customer actually signed up for, not vanity metrics
- Flag expansion signals the account team raised, so the deck doesn't leave money on the table
- Get a "Not stated" list of every input you're missing before the meeting, not during it
- Hand a junior CSM a structure that produces a defensible deck on their first quarter
Anatomy of the QBR prompt
The whole point is the contract. Here's the shape:
Variables
{{account_name}} — the customer
{{quarter}} — e.g. Q2 2026
{{usage_data}} — adoption, active seats, feature usage
{{stated_outcomes}} — the goals the customer cared about
{{open_risks}} — churn signals, support escalations, contacts lost
{{expansion_signals}} — upsell/cross-sell flags from the account team
Prompt
Role: senior CSM writing a QBR narrative for {{account_name}}, {{quarter}}.
Task: write the narrative against the LOCKED section order below.
Rule: every metric must trace to {{usage_data}} or {{stated_outcomes}}.
Any section with no supporting input → write "Not stated".
Never estimate, never invent a number.
Output contract (locked order, every time)
1. Executive summary (3 sentences max)
2. Outcomes vs. stated goals
3. Adoption & usage
4. Open risks (renewal-relevant first)
5. Expansion opportunities
6. Recommended next quarter (3 actions)
7. Missing data (every "Not stated" field, listed)
Section 7 is the part the template libraries don't have. It's the difference between a deck you can trust and a deck that reads great until the customer asks where a number came from.
The "Not stated" guard is the whole game
Here's the opinionated part. Most people treat hallucination in a QBR as a model problem. It's a prompt problem. Models fill gaps because nothing told them not to. Leave the {{open_risks}} variable empty and a default model will write a confident paragraph about "minor adoption headwinds in the EMEA segment" that you never fed it. It sounds plausible. It's fiction. And it's in front of your customer.
The fix is one rule and one section. Tell the model: if an input is empty, write "Not stated" and move on. Then make "Missing data" a required output section so every gap is listed in one place. Now the deck is honest by construction, and your prep list writes itself. Anything marked "Not stated" is a data pull you owe the account before the meeting.
In practice, Claude honors a rule like every metric must trace to the pasted data more consistently when it sits at the top of the prompt as a hard constraint, not buried in the middle. GPT-4o tends to need the "Not stated" instruction restated near the output contract too, because it weights the most recent tokens. Put the guard in both places and the gap-filling mostly stops.
A fluent QBR that invented a churn-risk number is worse than a plain one that says "Not stated." The first costs you trust in the room. The second costs you nothing. It just tells you what to go find. Optimize the prompt for honesty, then for prose.
Step-by-step: from account data to a QBR draft
1. Gather the inputs
Pull the four data sources the contract needs: usage export, the outcomes the customer stated at the start of the quarter (check the original deal notes or kickoff doc), open risks from support and the account team, and any expansion signals. Don't clean them. Paste them raw. That's what the variables are for.
2. Fill the variables
Drop each source into its {{variable}}. If you genuinely don't have one (say there were no expansion signals this quarter), leave {{expansion_signals}} empty on purpose. The guard handles it.
3. Run the prompt
Run it once. Read the "Missing data" section first, before the narrative. That tells you whether the draft is built on real inputs or full of holes.
4. Fill the gaps, then re-run
For every "Not stated" field that matters, go get the data and paste it. Re-run. The narrative tightens with each pass because there's less the model has to leave blank.
5. Edit for the room
The prompt gets you a defensible draft. You still own the framing: which risk to lead with, how hard to push the expansion, what the customer's exec actually cares about. That judgment doesn't automate, and you wouldn't want it to.
Prompt-craft patterns that make it hold
Lock the section order, don't suggest it. "Here are some sections you might include" produces a different deck every run. "Write these seven sections in this exact order, every time" produces comparable decks across your whole book. Comparability is the point of a QBR cycle.
Output the sections in this EXACT order. Do not add, remove, or reorder.
If a section has no supporting input, output the heading and "Not stated".
Constrain length per section. Without a cap, the executive summary becomes three paragraphs and the risks become one line. Flip that. "Executive summary: 3 sentences. Open risks: every risk, one line each." The structure should weight attention where it matters.
Separate the data from the instruction. Keep all {{variables}} in a clearly labeled block and the rules in another. Mixing pasted CRM notes into the instruction text confuses the model about what's data and what's a command.
Variables you'll set
| Variable | Required | What it is |
|---|---|---|
{{account_name}} | Yes | The customer the QBR is for |
{{quarter}} | Yes | The review period, e.g. Q2 2026 |
{{usage_data}} | Yes | Adoption, active seats, feature usage (raw is fine) |
{{stated_outcomes}} | Yes | The goals the customer set at the start |
{{open_risks}} | No | Churn signals, escalations; empty → "Not stated" |
{{expansion_signals}} | No | Upsell/cross-sell flags; empty → "Not stated" |
Getting started
- Copy the prompt anatomy above into a chat window or save it as a reusable template.
- Run one real account through it end to end, gaps and all.
- Read the "Missing data" output and treat it as your prep checklist.
- Tune the section order to your team's QBR format. The structure is yours to set, the guard stays.
- Standardize it across the team so every CSM ships the same shape.
- For a production-grade version with the guard pre-built, reach for a dedicated pack.
If your QBRs feed a board update or exec summary, the same data discipline carries over. The Board Pack Production Prompt Pack applies the locked-structure-plus-data-guard pattern to board decks, and the Customer Health Monitor Agent Pack watches the risk signals between reviews so the next QBR isn't a surprise.
The QBR Production Prompt Pack does this end-to-end — the core prompt ships the locked seven-section contract and the "Not stated" guard already wired to a {{usage_data}} and {{stated_outcomes}} variable, plus a companion prompt that turns the draft into talk-track notes for the meeting. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the whole catalog (plus every pack added later) if you run more than one of these jobs.
QBRs aren't the only recurring deck a CSM or PM assembles from messy inputs. If you build sprint or product narratives the same way, the structure-first approach in the sprint retrospective prompt and the product roadmap prioritization prompt uses the same locked-output discipline. Lock the shape, guard the data, and the recurring deck stops eating your quarter.
See how reusable packs beat one-off prompts →Common questions
What is a quarterly business review prompt?
Can ChatGPT write a QBR from account data?
How do you stop a QBR prompt from inventing numbers?
Get the prompt packs this guide is built on
Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.
More prompt guides

Build a Customer Health Score Prompt With a Scoring Contract
Every customer success tool sells a health score. Almost none of them tell you how it's calculated. You get a green, yellow, or red dot and a vague promise that machine learning is involved. Then a "g…

A Customer Escalation Prompt That Triages and Drafts the Reply
An escalated ticket isn't a normal ticket with a louder customer. It's a decision waiting to be made under time pressure: how bad is this, who needs to own it, and what's the next concrete move. Get t…

How to Write an RFP Response Prompt With a Compliance Matrix
Most RFP advice online stops at "paste the question, get an answer." That works for one row. It falls apart on the document that actually lands in your inbox: 140 requirements, a security questionnair…