Variance analysis is the process of comparing actual financial results to budget or forecast, isolating the cause of each material difference, and converting that cause into a decision or a model adjustment. A variance is favorable when it improves operating income (revenue above plan, expense below plan) and unfavorable when it reduces operating income. The analysis is not the comparison itself. It is the explanation of why the gap happened and what should change because of it.
Most finance teams produce the comparison every month. Far fewer produce the explanation. That distinction is the entire difference between a variance report that gets filed and a variance conversation that changes a hiring plan.
A variance report displays plan, actual, and difference across the P&L. Producing one is a systems exercise: load the actuals, align the periods, render the columns. Any reasonably configured reporting layer does it.
Variance analysis asks a different question. Given that revenue came in $180,000 under plan, was that a pricing problem, a volume problem, a mix shift, or a timing slip? Each answer implies a different response, and three of the four imply that the forecast itself needs updating.
Jirav’s earlier treatment of budget versus actual reporting covers the comparison mechanics. This piece picks up where that leaves off, at the explanation.
The practical consequence for advisory firms is a pricing one. The report is a commodity. The explanation is not. Data from the CPA.com and AICPA PCPS CAS Benchmark Survey supports this directly: the smaller group of firms generating significant revenue from CFO-level and business insights services reported more than 30% higher monthly recurring revenue and a typical monthly fee more than 30% higher than their peers. The insight layer is where the fee premium lives.
Foundation reading: If the budget and the forecast in your comparison are the same artifact, the variance is measuring against a stale target. Budget versus forecast covers why the two need to stay separate and what each one is for.
The most common failure in variance work is investigating everything, which means investigating nothing well. A month-end review with forty flagged lines produces a two-hour meeting and no decisions.
Set thresholds in advance, and set them on two dimensions rather than one. A percentage threshold alone flags a 40% swing on a $900 line item. A dollar threshold alone misses a 22% miss on a line that is small today and structural tomorrow. Require both:
|
Line type |
Suggested trigger |
Reasoning |
|---|---|---|
|
Revenue lines |
Greater than 5% and greater than $25K |
Revenue variances compound across the remaining forecast periods, so the bar is lower |
|
Direct cost / COGS |
Greater than 5% and greater than $25K |
Margin movement is the leading indicator most owners react to |
|
People cost |
Greater than 3% and greater than $15K |
Timing-driven and usually explainable in one sentence, but structural misses here repeat monthly |
|
Discretionary opex |
Greater than 10% and greater than $10K |
Noisy by nature; a higher bar prevents false positives |
|
Cash and working capital |
Any move outside the stated operating range |
Absolute position matters more than percentage change |
Calibrate the dollar figures to the client. The percentages hold across most sizes. Publish the thresholds in the engagement documentation so the client understands why a line was not discussed.
A total variance is an aggregate of several independent movements, and explaining the aggregate is where most commentary goes wrong. Break it into components first.
Three separate questions produce three separate numbers, and they frequently offset each other. A revenue line that comes in 2% under plan can be hiding a 9% volume shortfall partially covered by a favorable price variance, which is a very different situation from a flat 2% miss.
Mix is the one most often skipped and most often material. A services firm that hits its total billable hours but delivers them through lower-level staff has a mix problem that shows up as a margin miss, not a revenue miss.
The same logic applies on the cost side. A materials overrun is either a rate problem (unit cost rose) or a usage problem (consumed more units than planned). A payroll overrun is either a rate problem (compensation above plan) or a headcount timing problem (hired earlier or in different roles than planned).
This is the single most useful classification, because it determines whether the forecast needs changing. A timing variance means the amount was right and the period was wrong, and the offsetting variance appears in a later month. A structural variance means the assumption itself was wrong and will keep producing misses until it is updated.
Label every material variance as one or the other. Timing variances get a note. Structural variances get a model change.
Weak commentary restates the number in words. Strong commentary names the driver, the magnitude, the expected duration, and the action.
|
Restatement (weak) |
Analysis (useful) |
|---|---|
|
Revenue was $180K under budget for the month. |
Revenue missed by $180K: $220K unfavorable volume from six enterprise deals slipping past month end, partially offset by $40K favorable price from lower discounting. Four of the six closed in the first week of the following month, so roughly $150K is timing. The remaining $30K reflects a close rate running at 18% against a 25% assumption, which is structural and the driver has been updated. |
|
Payroll was over plan by $62K. |
Payroll exceeded plan by $62K: two engineering hires started in week two rather than the planned month-three date, adding $48K, and the benefits loading factor ran at 24% against a 19% assumption, adding $14K. The hires are a pull-forward, so the full-year number is unchanged. The loading factor is structural and has been corrected in the model. |
|
Gross margin declined 310 basis points. |
Gross margin fell 310 basis points on a service mix shift: implementation work ran at 38% of revenue against a 25% plan, and it carries a 22-point lower margin than recurring work. Volume and pricing were both on plan. If the current implementation backlog holds, margin stays compressed for two more quarters, and the mix assumption in the model has been adjusted accordingly. |
The pattern is consistent: cause, quantified components, expected duration, model consequence. Three to five sentences per material variance is usually enough. Anything longer is a memo, not commentary.
For the delivery mechanics of the report those explanations sit inside, Jirav has covered five keys to a meaningful variance report and how to get more value out of the variance report itself.
Variance analysis that ends at the commentary is a reporting exercise wearing an analysis label. The loop closes when structural findings change the drivers.
A workable monthly sequence:
Step four is where most processes break. A finding that gets documented but not modeled produces the same variance next month, and repeat variances erode the credibility of the whole package.
The bottleneck is rarely analytical skill. It is the gap between where the reporting lives and where the model lives. In most stacks those are two different artifacts, often two different tools, and the update in step four means manually re-entering a changed assumption into a spreadsheet that was last touched at budget time.
That gap is measurable. AFP’s benchmarking work found finance professionals naming data problems ahead of skills or tools as the main obstacle to technology success, with 61% citing a lack of data reliability and 60% citing a lack of accessible data. Across a book of fifteen clients, the friction multiplies until the monthly process degrades to whatever fits in the available hours, which is the report without the analysis.
Jirav is built around the assumption that reporting and planning are the same system rather than adjacent ones. Actuals connect from the general ledger, payroll, and operational sources, so the comparison is generated rather than assembled. Because the plan is a driver-based model rather than a static budget file, a structural finding gets applied as a driver change and the remaining periods recalculate immediately, including the balance sheet and cash flow effects. Commentary lives with the report, and the partner console lets a firm apply the same variance package and reporting across an entire client book instead of rebuilding it per engagement.
The method above works in a spreadsheet. It works at fifteen clients only if the loop between report and model takes minutes rather than an afternoon.
A favorable variance improves operating income relative to plan: revenue above budget, or expense below budget. An unfavorable variance reduces it: revenue below budget, or expense above budget. The labels describe direction against plan and carry no judgment about whether the outcome is desirable. Expense running below plan because a planned hire was never made is favorable and usually bad.
Monthly, tied to the close, for the full P&L and the key balance sheet accounts. Weekly for cash where the position is tight. Quarterly is too slow to be corrective: by the time a structural driver error surfaces, it has already produced a full quarter of compounding misses.
Material variances only, with causal explanations, plus the revised outlook that results from them. A board package with every line above and below plan is a data dump. The board reporting structure that works keeps variance commentary to the exceptions and spends the space on what changed in the forecast. A KPI dashboard carries the operational detail underneath it.
|
Close the loop between variance and forecast Jirav connects reporting and driver-based planning in one system, so a structural finding updates the model and the revised outlook in the same session.
|