Report design · Series “Reporting that carries decisions”, part 9
Commenting variances: why, and what we'll do
The typical comment in a monthly report repeats the number printed next to it. How to write variance commentary that gives the board cause and action – and where an AI may help.
Twelfth working day, the monthly report has gone out, and before the executive meeting the CFO reads the comment on the revenue page: "Revenue is 4 % above budget at TCHF 5,620. Systems +2 %, Service +13 %, Spare parts −2 %, Trading −2 %. Versus prior year +7 %." He looks at the chart next to it. The same figures are there. In the meeting the CEO asks what happened in Service and whether it will continue in the fourth quarter. The controller is not in the room; neither is the head of Service. The item is deferred. Variance commentary was the task, and it was done. The comment simply said nothing the chart had not already shown.
The comment that repeats the number
We see the pattern in almost every project review: next to a clean variance chart sits a block of text that translates the chart into words. The comment is correct, reconciled and worthless, because it stays on the same level as the number. Soufyan Hamid calls this level "What", the observed facts, and a presentation only becomes a statement with "So what" and "Now what": what does it mean, and what do we do now (Hamid 2023, pp. 12–16).
What this costs can be calculated, and the result is smaller than expected. A six-person executive team, twelve monthly meetings, twenty minutes of chasing causes each time: 24 hours a year, three person-days. Not much. What costs more is what happens in the opening scene: the decision on Service waits a month because the person with the answer was not in the room. And over time a second effect sets in. If the comment never says more than the chart, the board stops reading it, including in the month when it would have been worth reading.
The more common variant repeats not just the number but all the numbers: four units, twelve cost types, three comparisons, each with its own sentence, and the reader searches twenty lines for the two that carry a message. Both variants have the same root. There is no rule for what a comment must deliver and what it may leave out. That rule belongs in the notation concept, which is why we define the comment as an element of its own in every reporting build rather than a text box someone fills in at the end.
The structure: What – Why – What now
A variance comment has three parts, each answering a question the board will ask anyway.
What. The message in one sentence. Not "Revenue 4 % above budget" but "Revenue 4 % above budget – entirely due to Service". The half-sentence after the dash says where the variance comes from, and with it that the other units carry no news. IBCS® calls this principle SAY: every page has a message, and the message is the title. If you apply the title concept from the IBCS rules consistently, the first part of the comment is already written, as the page title.
Why. The cause, with its driver. Not an analysis, but two sentences: what moved, price, volume or mix, and why. "Service is TCHF 200 above budget: 150 from more hours, because two overhaul shutdowns were pulled forward from November and December into October, and 50 from the higher hourly rate since September." Splitting into price, volume and mix is the formal-logical decomposition Weber, Bramsemann, Heineke and Hirsch describe for value drivers. They also give the rule for where it stops: where the figure offers immediate guidance for action (Weber et al. 2017, p. 94). For the comment, the decomposition goes as far as someone can act on it, and not one step further.
What now. The action, with an owner and a date. Or the statement that none is needed; that is information too. "The hours pulled forward will be missing in November and December; the Service forecast for those two months is reduced by TCHF 150. Head of Service, by 20 November." The higher hourly rate has been in the forecast since September and needs no correction. If the comment needs something from the board, it stands as the last sentence: "Decision required: none" or "Decision required: two temporary positions in Service for Q1". Hamid frames the same requirement for presentations as a pitch, one sentence with the issue, the consequence and the action (Hamid 2023, p. 23). For a monthly report that is a good test, but not a substitute for the comment: the pitch sentence says what should be done, the comment also has to say who does it by when.
What gets no comment
Only what lies above the threshold is commented. For us that is ±5 % against the reference, budget or forecast once available. Anything within it gets no arrow, no colour and no sentence. This is the principle of "variance instead of value": the target is the baseline, the value only matters as the distance from it. The comparison logic is the same everywhere, prior year, actual, budget, time left to right, so the reader reads the threshold the same way on every page.
If a unit carries no comment, the board knows it lies within the threshold; the silence is part of the rule. Two additions have proved necessary in practice. First, an amount next to the percentage. With ±5 % for everything, a TCHF 30 position with a TCHF 2 variance gets a comment while EBIT at TCHF 20 below budget gets none, because that is only 4.5 %; we built it exactly that way in a first attempt and received comments on travel expenses. Since then the rule is: above 5 % and above an amount set per report. Second, a trend clause: a variance that stays just below the threshold for three months running, pointing the same way, gets a comment regardless.
Before and after: two comments on the same chart
On the chart above, the way it is commented in many reports:
Revenue in October is 4 % above budget (TCHF 5,400) at TCHF 5,620 and 7 % above prior year (TCHF 5,270). Systems at TCHF 2,450 is 2 % above budget, Service at TCHF 1,700 is 13 % above budget, Spare parts at TCHF 880 is 2 % below budget and Trading at TCHF 590 is 2 % below budget. Year to date, revenue is 1 % above budget.
All correct, nothing new. The same facts following What – Why – What now:
Revenue 4 % above budget – entirely due to Service. Service is TCHF 200 above budget: 150 from more hours, because two overhaul shutdowns were pulled forward from November and December into October, and 50 from the higher hourly rate since September. The hours pulled forward will be missing in November and December; the Service forecast for those two months is reduced by TCHF 150 (head of Service, by 20 November). The other units are within ±5 %. Decision required: none.
The second comment is shorter and answers the two questions deferred in the opening scene. The head of Service does not need to be in the meeting; his knowledge is in the text. And "Decision required: none" is permission to turn the page.
| Element | Question | Example |
|---|---|---|
| What (message) | What is the news on this page, in one sentence and in the title? | Revenue 4 % above budget – entirely due to Service |
| Why (cause) | Which driver moved, price, volume or mix, and why? | +TCHF 200: 150 volume (two shutdowns pulled forward from Nov/Dec), 50 price (hourly rate since September) |
| What now (action) | Who does what by when, or why nothing? | Nov/Dec forecast Service −TCHF 150; head of Service, by 20 November |
| Decision | What does the page need from the board? | Decision required: none |
| Threshold | What is not commented? | Systems, Spare parts, Trading within ±5 %: no comment |
The why has to be calculated first
The second part of the comment assumes that someone has calculated the breakdown, and that only works if the data model knows it. A second example, this time a negative variance: a packaging manufacturer, 120 employees, revenue budget for August 2,500 TCHF, actual 2,300 TCHF. Comment in the report: "Market conditions, weaker demand, the economy." Twenty minutes of discussion about the economy in the management meeting, deferred.
The same −200 TCHF broken down into drivers: price +50, the average price per tonne is 2 % above budget, the spring increase is holding. Mix −25, more standard board. Volume −225, 9 % below budget. Volume one level down: food on budget, pharma −5, industrial −220, which is 30 % below budget. And within industrial a single customer who has been ordering half his usual volume since June; the trigger was a delivery delay in May, and he has had a second supplier ever since. This is where the breakdown stops, because this is where someone can act: does the head of sales visit next week? With "the economy" there is nothing to decide, only to regret.
That only works, however, if the data is captured that way: price and volume separately on the order line, the customer on the order, the segment on the customer, the budget at the same level. In most models we see in reviews, revenue is an amount per month and cost centre, and the budget sits at unit level. The controller then reworks the breakdown in Excel the evening before the meeting, if he gets the order data at all, and more often than not "market conditions" ends up in the text box. That is why we fix drivers and dimensions before the first report is built, in the scoping sprint: price, volume and mix as measures, segment and customer as dimensions, the budget at order level. The budget is where it most often gets stuck, because in most companies planning is done per unit and month. An allocation key based on prior-year shares is usually enough; it just has to be decided once and then left alone.
Three people, four days: the comment in the close calendar
The best template does not help if the comment is written the evening before the meeting. By then the controller knows the number but not the cause, and writes what he knows. The cause sits with the unit head, the action needs his agreement, sign-off sits with the CFO. Three people, and their steps belong in the close calendar, with relative days like every other closing step. The report hangs on the close, the comment on the report.
For us it looks like this. On the day the figures are reconciled to the close, the threshold flags the positions that need a comment. The next day the unit heads receive their flagged positions with two fields, cause and action, and two working days. Then the controller writes the comment to the template, sets the message as the title and passes it to the CFO; sign-off takes a day, and the meeting follows no earlier than the day after.
On paper that is simple. In practice it is the unit heads' two days where it jams, every single time. In the first round, in our experience, half the fields come back empty or with "see figures", and at least one unit head says he is not the controller. The objection is fair as long as he is asked to explain the number. It stops being fair when the question is what happened in his unit and what he is doing about it; only he knows that. What has helped: pre-filling the two fields with examples, putting the deadline in the unit heads' calendars instead of an e-mail, and printing the first empty comment in the report exactly as it is, marked "no response from unit X". That rarely happens twice.
At a furniture maker with three plants I had built a departmental cockpit, one page per plant with scrap, utilisation and on-time delivery against target, and below each page a comment field for the plant managers. For the first months it contained what the chart contained: "Scrap 3.1 %, target 2.5 %." One plant manager wrote nothing at all and told me in the meeting that he was a production manager, not a bookkeeper. My first mistake was the field itself: an empty text box under every KPI, including the ones on target. I then changed two things. The field got three labelled lines, cause, action, by when, and it was only unlocked for the KPIs above the threshold; the target was the baseline, with the variance next to it. And a deadline went into the close calendar: two days after month-end figures, before the plant managers' meeting. Two months later the fields held sentences like "Scrap on the edge bander in plant 2, new batch of boards, claim filed with the supplier, incoming inspection from October". The plant manager who did not want to be a bookkeeper wrote the most detailed ones; he no longer had to explain the number, only his plant.
What Copilot takes over
Once structure, threshold and calendar are in place, commentary is the use case where a language model saves the most time in controlling. Fabian Meisser sets two criteria for a sensible AI application: value creation, measurable in francs or hours, and regularity, the rules of the game stay constant (Meisser 2024, pp. 32–33). A comment to a fixed template, for positions above a fixed threshold, with last months' comments and the unit heads' cause fields as input, meets both. What the machine cannot do is also in Meisser: whether an outlier is plausible or problematic can ultimately only be judged by the finance professional (Meisser 2024, p. 33). So the first draft stays a draft. The controller cuts, corrects, adds the cause only he knows, and signs off.
In Power BI specifically, Copilot writes such a paragraph as a narrative visual. For the packaging manufacturer above it reads roughly like this: "Revenue August 2,300 TCHF, 200 TCHF below budget. The average price is 2 % above budget (+50 TCHF), volume 9 % below (−225 TCHF), mix −25 TCHF. The volume shortfall comes almost entirely from the industrial segment, of which 150 TCHF from customer A, who has been ordering half his usual volume since June."
That is not a better language model, it is the same data model as in the section on the breakdown, with three preconditions. First, the model knows the breakdown: price and volume as measures, segment and customer as dimensions, budget at the same level. Second, the terms are stored in the model's AI instructions ("Prep data for AI": what revenue, segment and active customer mean in your company, which measure answers which question), otherwise Copilot guesses. Third, the workspace runs on a Fabric capacity, F2 or above; with Pro or Premium-per-user licences alone there is no Copilot. Without Copilot the first step also works by hand: the decomposition tree in Power BI, with the AI split "low value" on the actual-to-budget variance, shows the segment and the customer with the largest contribution. IBM Planning Analytics and Tableau Pulse demand the same thing, a driver rule in the model before the assistant starts.
Where the model is not clean, the AI makes the problem invisible. If the variance has three references in three reports, it writes three comments, fluent and contradictory. And if you hand it the old comments as examples, you get the repeated number back, only better phrased; that is what we saw in a first test, and we replaced the examples with the template afterwards. The precondition is the same as for any AI initiative in controlling: a model that knows the question before anyone asks it.
What you can do tomorrow
Take last month's report and strike, in every comment, every sentence that repeats a number from the chart. What remains is your current information content, in our reviews usually one or two sentences per page. Then, for a single page, write the comment to the template: message in the title, cause with driver, action with owner and date, threshold for the rest. Show both versions to the CFO.
For the whole report, the commentary standard belongs in a notation concept, together with references, threshold and title concept. In our framework "From decision to KPI", the comment sits at the transition from report to effect: that is where a number turns into an action. Our project review takes a few days at a fixed price and ends with a written second opinion, including last month's comments, sentence by sentence, with a strike list and the template for next month.
Sources
- Hamid, S. (2023): The Ultra Guide – Storytelling & Presentations for Finance Professionals. SoufBP.
- IBCS Association: IBCS® Standards 1.2, © IBCS Association, www.ibcs.com, CC BY-SA 4.0. IBCS® is a registered trademark of the IBCS Institute.
- Weber, J., Bramsemann, U., Heineke, C., Hirsch, B. (2017): Wertorientierte Unternehmenssteuerung. Konzepte – Implementierung – Praxisstatements. 2nd edition, Springer Gabler (in German; paraphrased).
- Meisser, F. (2024): KI im Rechnungswesen und Controlling: Was sind sinnvolle Anwendungen? In: SwissAccounting "Standard" 3/2024, pp. 32–35 (in German; paraphrased).