Executive summary
A variance analysis narrative is the written explanation that sits beside a budget-versus-actual table. The table gives the size of the gap. The narrative gives the cause, whether the gap will persist, what it does to the full-year outlook, and who is doing what about it. Without it, a report is a set of numbers that each reader interprets alone.
Most variance commentary fails for one of four reasons. It restates the table ("revenue was $180,000 above plan"). It uses a label instead of a cause ("timing," "higher activity," "one-off"). It explains the net of several offsetting movements instead of the movements. Or it was written from memory by someone who did not decompose the number first.
The method below fixes each of these. Set a written materiality rule so the narrative covers what matters. Decompose each flagged variance into five possible causes. Get the cause confirmed by the person who owns it. Label persistence. Then write one paragraph in a fixed order. The result is commentary a CEO, a director or a lender can act on, and which later months can be checked against.
This page is the writing method. The monthly cycle that surrounds it is in the management reporting playbook, and the board-facing layout is in the board reporting pack template.
When to use this
Use this method when:
- Reviews keep producing the question "but why?" after the numbers have been presented.
- Variance explanations are written the night before the review, from memory.
- Commentary is generic enough that it could be pasted into any month's report.
- A new reader (a director, a lender, a sponsor's operating partner) has started to ask for explanation behind the figures.
- You want the forecast to respond to actuals instead of being updated separately.
The method assumes the actuals are final for the period and tie to the ledger. If the close is still moving, fix that first. See monthly close acceleration: a 10-day close plan.
Diagnostic questions
Use these to audit last month's commentary.
- Which variances did the commentary cover, and by what written rule were they chosen?
- For each one, does the text name a specific cause or only a label?
- Can the author show the decomposition (volume, price, cost rate, mix, timing) behind each cause?
- Did the person who owns the cause confirm it, in writing, before release?
- Does each paragraph say whether the variance will persist?
- Does each paragraph say what it does to the full-year outlook?
- Does each unfavorable variance have an action, an owner and a date?
- Are offsetting variances with a common cause explained together?
- Are there statements of cause that nobody has tested?
- Did last month's actions get reported on this month?
- How many words does the commentary use to say what the table already says?
- If you removed the numbers from a paragraph, would a reader still learn something?
If questions 2, 3 and 4 are mostly "no," you are labelling, not explaining.
Framework: size, cause, persistence, action
Every narrative paragraph answers four questions in order.
| Question |
What it contains |
Common failure |
| Size |
The line, the amount, the direction, and the percentage |
Restating the table without direction |
| Cause |
One or more of volume, price, cost rate, mix, timing, with the decomposition |
A label ("timing") or an untested guess |
| Persistence |
One-off, run-rate, or reversing, and when |
Silence; the reader assumes it repeats or vanishes |
| Action |
What changes, who owns it, by when |
"We will monitor" |
The five causes
| Cause |
Meaning |
How to isolate it |
| Volume |
Quantity differs from plan |
(Actual units − plan units) × plan price or plan margin per unit |
| Price |
Realized price per unit differs |
(Actual price − plan price) × actual units |
| Cost rate |
Cost per unit or per hour differs |
(Actual unit cost − plan unit cost) × actual units |
| Mix |
The blend of products, customers or channels differs |
Compare the weighted average price or margin at plan mix with actual mix; state the method you use |
| Timing |
The item is real but lands in another period |
Identify the period it reverses; if you cannot, it is not timing |
Mix has more than one valid calculation. Pick a method, write it in the appendix, and use it every month. For operating expenses, the causes are usually rate (price paid), quantity (headcount, hours, subscriptions), timing, and scope (something was added or removed from the plan). Name the version you use.
The persistence test
| Label |
Meaning |
Effect on the full-year outlook |
| One-off |
Will not recur |
Excluded from run-rate; the year absorbs the amount once |
| Run-rate |
Will recur at about this level |
Carried forward for the remaining months |
| Reversing |
Timing that comes back |
Shifted to the period it reverses, no net effect on the year |
State the label in every paragraph. This is the sentence that turns commentary into a forecast input. See rolling forecast vs annual budget for how persistence labels feed a rolling outlook.
Step-by-step process
- Write the materiality rule. Choose a dollar floor and a percentage floor that must both be met, plus a list of lines always explained. Owner: CFO. Output: a one-line rule in the reporting calendar.
- Flag variances by the rule. Apply it mechanically to every line. Owner: FP&A lead. Output: variance register with flagged items.
- Decompose each flagged variance. Compute the five causes. Check that the components sum to the total. Owner: FP&A lead. Output: decomposition per flagged line.
- Send to the budget owner. Attach the decomposition. Ask for cause, evidence, persistence and action in writing within one working day. Owner: budget owner. Output: confirmed or disputed cause.
- Pair related lines. Where two lines move for the same reason (for example, salaries under plan and recruiting fees over plan), explain them in one paragraph. Owner: FP&A lead. Output: grouped items.
- Write the paragraphs in the order size, cause, persistence, outlook effect, action. Owner: FP&A lead. Output: draft.
- Write the headline last. It names the two or three largest drivers, not the largest lines. Owner: CFO. Output: three to five sentences.
- Test every sentence. Each figure traces to the register; each cause traces to a confirmation or is labelled unconfirmed. Owner: CFO. Output: approved narrative.
- Follow up. Next month, begin with the open actions and report whether the stated cause held. Owner: FP&A lead. Output: a short "since last month" paragraph.
Worked example: an operating expense walk-through
Illustrative. The figures and causes below are invented to demonstrate the method. They are not benchmarks.
The table and the rule
A company's monthly operating expenses, plan versus actual:
| Line |
Plan |
Actual |
Variance (fav / (unfav)) |
Variance % |
| Salaries |
$620,000 |
$598,000 |
$22,000 |
3.5% |
| Recruiting |
$40,000 |
$71,000 |
($31,000) |
(77.5%) |
| Software |
$85,000 |
$99,000 |
($14,000) |
(16.5%) |
| Travel |
$45,000 |
$41,000 |
$4,000 |
8.9% |
| Professional fees |
$60,000 |
$58,000 |
$2,000 |
3.3% |
| Facilities |
$250,000 |
$283,000 |
($33,000) |
(13.2%) |
| Total |
$1,100,000 |
$1,150,000 |
($50,000) |
(4.5%) |
The rule: explain a line when the variance is at least $15,000 and at least 5% of plan. Lines that meet only one test are not flagged on their own.
Applying it:
- Salaries: $22,000 but 3.5%. Not flagged on its own.
- Recruiting: $31,000 and 77.5%. Flagged.
- Software: 16.5% but $14,000. Not flagged.
- Travel: $4,000. Not flagged.
- Professional fees: $2,000. Not flagged.
- Facilities: $33,000 and 13.2%. Flagged.
Arithmetic check: the flagged lines total (31,000) + (33,000) = ($64,000). The unflagged lines total 22,000 + (14,000) + 4,000 + 2,000 = $14,000. Together, (64,000) + 14,000 = ($50,000), which equals the total variance. Everything reconciles, and the rule has covered more than the whole net variance.
Pairing related lines
Salaries are under plan and recruiting is over plan. These may share a cause: vacant roles. The analyst asks the budget owner, who confirms that four roles were open for most of the month and that agency fees were paid to fill two of them. Explained together, the pair nets to 22,000 minus 31,000 = ($9,000). That is a smaller and more honest number than either line alone.
Before: a weak paragraph
Operating expenses were $50,000 over plan, driven by higher recruiting and facilities costs. Salaries were slightly favorable. We expect costs to normalize.
What is wrong: it restates the table, the cause is a label ("higher"), "normalize" is not a persistence label, there is no outlook effect, and there is no action or owner.
After: a narrative paragraph
People costs: net ($9,000), partly reversing. Salaries were $22,000 under plan because four budgeted roles were open for most of the month. Recruiting was $31,000 over plan ($71,000 against $40,000) because agency fees were paid to fill two of the four. Fees are one-off for each hire; the salary saving reverses as roles are filled, and by the second quarter the run-rate returns to plan. Full-year effect: the recruiting overage stays in the year; salary savings do not continue past the start dates. Action: the Head of People will confirm start dates and the agency terms for the remaining two roles by the next review.
Facilities: ($33,000), run-rate pending confirmation. Facilities cost $283,000 against $250,000 planned. The cause is not yet confirmed. The first explanation, a lease escalation not reflected in the plan, has been put to the Facilities Manager. If confirmed, it is a rate effect that repeats every month, and the full-year outlook has been lowered by that amount times the remaining months. Action: Facilities Manager to supply the lease schedule by the next review.
Notice what the better paragraph does. It makes the causes specific. It discloses what is unconfirmed instead of presenting a guess as a fact. It states the persistence of each piece. It tells the reader what happens to the year. And it assigns an owner and a date.
The headline for the operating-expense section
Operating expenses were $50,000 (4.5%) over plan. Facilities ($33,000) is the main driver and is likely to repeat; people costs net to ($9,000) and mostly reverse as roles are filled; the remaining lines were within the materiality rule and net to a $14,000 favorable.
Check: 33,000 + 9,000 = 42,000 of the 50,000 over-run comes from the two explained groups. The remainder is the other flagged and unflagged lines. Any reader can reconcile the numbers in the headline to the table.
Templates
Variance paragraph template
- [Line]: [amount], [fav / unfav], [persistence]. One line, bold, so the reader can scan.
- Size. Plan, actual, variance in dollars and percent.
- Cause. Name the cause or causes with the decomposition figures. State who confirmed it, or write "unconfirmed."
- Persistence. One-off, run-rate or reversing; when.
- Outlook. What changes in the full-year forecast, in dollars.
- Action. What, who, by when.
Variance register
| Line |
Plan |
Actual |
Variance $ |
Variance % |
Flag (rule met?) |
Cause |
Evidence / confirmed by |
Persistence |
Outlook effect $ |
Action |
Owner |
Due |
|
|
|
|
|
|
|
|
|
|
|
|
|
Phrases that signal an unexamined variance
| Phrase |
What to ask instead |
| "Timing" |
In which period does it reverse, and by how much? |
| "Higher activity" |
Higher volume, higher price, or a different mix? Show the split. |
| "One-off" |
What happened, and why will it not happen again? |
| "Slightly" |
How many dollars and what percentage of plan? |
| "As expected" |
Expected by whom, and was it in the forecast? |
| "We will monitor" |
Which person does what by which date? |
| "Normalize" |
To what level, from which month, and why? |
Metrics and KPIs for narrative quality
| Metric |
Formula |
Data source |
Target by method |
| Coverage |
Flagged variances with a written paragraph ÷ flagged variances |
Variance register |
100% |
| Confirmation rate |
Paragraphs with a cause confirmed by the owner ÷ paragraphs |
Variance register |
Your own trailing best |
| Persistence completeness |
Paragraphs with a persistence label ÷ paragraphs |
Variance register |
100% |
| Action closure |
Actions closed by due date ÷ actions due |
Action log |
Your own trailing best |
| Cause accuracy |
Stated causes later found wrong ÷ causes stated |
Next-month follow-up |
Track by owner; investigate any wrong cause |
| Forecast error after variances |
(Next-month forecast − actual) ÷ actual, by line |
Forecast versions |
Your own trailing best |
Cause accuracy is the most useful and the least common. If you record when a stated cause turns out to be wrong, you find which parts of the business your analysts understand and which they are guessing at.
Common mistakes
- Writing the paragraph before the decomposition. You will state a cause you have not tested.
- Explaining the net. A $22,000 favorable variance can be $380,000 of price offset by $358,000 of cost and volume. Explain the components.
- Treating the budget owner as optional. Finance can compute a rate gap. Only the owner can say why it happened.
- Using one materiality rule for everything. A $15,000 miss on freight and on a covenant-linked line are not equal. Keep a list of always-explained lines.
- Forgetting offsets. Two lines that move together for one reason belong in one paragraph.
- Calling it timing without a reversal date. If nothing reverses, it is not timing.
- Skipping the favorable variances. A large favorable variance with an unknown cause is a risk. It may be a missed accrual, a deferred cost, or a sign the plan was wrong.
- No outlook effect. The reader must know what the year looks like now.
- Letting the headline be the biggest line. The headline should be the biggest driver, which may sit inside several lines.
- No follow-up. If you never check whether last month's cause held, you never learn.
AI prompt assistance
AI is a drafting and challenge tool here, not a source of causes. Provide the register with confirmed causes and do not paste confidential data into a tool your company has not approved.
1. Draft paragraphs from a confirmed register.
Here is a variance register with plan, actual, variance, cause, who confirmed it, persistence, outlook effect, action, owner and date. Write one paragraph per row in this order: size, cause with figures, persistence, outlook effect, action. Use only information in the register. Mark any row without a confirmed cause as "unconfirmed" in the text. Do not invent causes.
Check: tie every figure to the register, and delete any cause that does not appear in it.
2. Find weak commentary.
Here is last month's variance commentary. List every sentence that uses a label instead of a cause ("timing," "higher activity," "one-off," "as expected"), every paragraph with no persistence label, and every action without an owner and date. Do not rewrite.
Check: confirm each flagged sentence yourself, then rewrite with the budget owner.
3. Verify the arithmetic.
I will paste a table of plan, actual and variance for ten lines. Recompute each variance and percentage, the total, and the sum of the variances I flag. Show every calculation and highlight any difference from the numbers I pasted.
Check: spot-check two lines by hand. If the totals do not tie, stop and find the break in the source.
Implementation guide
| Phase |
Days |
Owner |
Exit criteria |
| Rule and template |
1-30 |
CFO, FP&A lead |
Materiality rule written; paragraph template and register in use; always-explained lines listed |
| Owner confirmation |
31-60 |
FP&A lead, budget owners |
Cause confirmation in writing within one working day; unconfirmed causes labelled as such |
| Feedback loop |
61-90 |
CFO |
Follow-up paragraph on prior causes added; cause accuracy tracked; forecast effect stated for every paragraph |
In the first month, rewrite one real prior month's commentary using the template and compare it with what was sent. In the second, make owner confirmation a step with a deadline. In the third, start measuring how often stated causes held.
Governance: the CFO owns the standard and signs the narrative. The FP&A lead owns the decomposition and the writing. Budget owners own the cause, the evidence and the action.
Downloadable assets
The variance paragraph template, variance register and the phrase table above are designed to be copied into a document or spreadsheet. No calculator exists for this topic. The price, volume and cost bridge logic is shown in the management reporting playbook, and you can reproduce it in any spreadsheet.
Related resources
Frequently asked questions
What is a variance analysis narrative?
A variance analysis narrative is the written explanation of why actual results differ from plan. It states the size of each material variance, the cause (volume, price, cost rate, mix or timing), whether it will persist, the effect on the full-year outlook, and the action and owner. The table shows the gap; the narrative explains it.
How do you write variance commentary?
Apply a written materiality rule, decompose each flagged variance into its causes, get the budget owner to confirm the cause, then write one paragraph in a fixed order: size, cause, persistence, outlook effect, action. Write the headline last, naming the largest drivers rather than the largest lines. Check that every figure ties to the register.
What is a good materiality threshold for variances?
A good threshold is one set by method, not borrowed from elsewhere. Use a dollar floor that reflects the amount that would change a decision and a percentage floor based on each line's own normal volatility, and require both. Add a list of lines always explained, such as revenue, margin and covenant-linked items, and review the rule each quarter.
Should favorable variances be explained?
Yes, if they meet the materiality rule. A favorable variance with an unknown cause may be a missed accrual, a deferred cost or a planning error, and it can mislead the forecast if you treat it as real. Explain it with the same four parts as an unfavorable one, including whether it persists.
What is the difference between timing and a one-off variance?
A timing variance is real but lands in a different period, so it reverses and has no effect on the full year. A one-off variance does not recur but does not reverse either, so the full year absorbs it. If you call something timing, name the period in which it reverses; if you cannot, it is not timing.
How this works in a System of Performance
Variance commentary improves when each stated cause is checked against what happened next. That link usually breaks, because the explanation sits in a slide, the action in an email and the outcome in next month's ledger. A Performis routine can take on a recurring job like this, with the scope and fit agreed with you: it works from the records your team supplies, prepares the work for your named reviewer, and keeps each approval on record. To see where your explanations lose their thread, bring it to us as a launch partner.