READING THE P&L PROPERLY 103: The Variance Nobody Flagged Because Nobody Was Looking for It
The Variance Nobody Flagged Because Nobody Was Looking for It
The Variance Nobody Flagged Because Nobody Was Looking for It
The monthly close came back clean. Revenue matched forecast, gross margin held steady, operating expenses were within budget. The finance lead signed off, the board deck went out with a green light on all the key metrics, and nobody raised a concern.
Three months later, the same business was scrambling to explain why cash was tighter than the P&L suggested it should be, why a credit line that should have been comfortable was suddenly stretched, and why the numbers that had looked stable for a quarter were now visibly off track. The problem wasn't that the P&L had been wrong. It was that a small variance, visible every month but never large enough to trigger a flag, had been quietly compounding while everyone watched the headline figures.
The variance was in cost of goods sold. Not the total, the mix. Material costs had been creeping up as a percentage of revenue, month over month, by amounts small enough that they sat inside the noise threshold of a standard monthly review. Two percent here, three percent there, never enough to break a budget line or prompt a deeper look. But over three months, that drift added up to a margin compression severe enough that the business model the board thought they were funding was no longer the business model they actually had.
Nobody flagged it because nobody was looking for it. The review process was checking whether the numbers matched the forecast, not whether the internal relationships between the numbers were still holding.
This is part three of a series on reading a P&L properly. Last week we covered revenue recognition timing gaps, the kind that make a business look solvent a quarter before it isn't. This week: the variance that doesn't break a threshold but quietly rewrites your unit economics while you're watching something else. A shorter version of this post appears on LinkedIn.
What a Variance Actually Tells You
A variance is the difference between what you expected and what happened. That definition is correct but useless, because it treats every variance as if it carries the same information. It doesn't.
Some variances are noise. A one-off supplier invoice that came in late, a bulk purchase that shifted timing between months, a customer payment that cleared two days into the next period. These show up as variances, but they don't tell you anything about the underlying business. They're artifacts of timing, not signals of change.
Other variances are information. A shift in the relationship between revenue and the cost base. A change in the rate at which operating expenses are scaling relative to growth. A drift in gross margin that's consistent across multiple months but small enough each time that it doesn't break a materiality threshold.
The problem is that most monthly review processes treat these the same way. If the variance is under a certain percentage or below a certain absolute amount, it gets marked as immaterial and the review moves on. That threshold exists for a reason, you can't investigate every minor deviation or you'd never close the books. But it also means that a consistent, directional drift can stay under the radar for months, because each individual month looks immaterial in isolation.
The businesses that catch these early aren't running more frequent reviews or setting tighter thresholds. They're asking a different question. Not "is this variance material?", but "is this variance part of a pattern?"
The Compound Effect of Small Drifts
Let's work through the numbers, because this is where the second-order effect becomes visible.
Assume a business with monthly revenue of 10 million and a gross margin of 60 percent. Cost of goods sold is 4 million, gross profit is 6 million. Standard monthly review process flags any variance over 5 percent as requiring investigation.
Month one: COGS comes in at 4.2 million instead of 4 million. Variance is 5 percent, right at the threshold. Gets a look, explanation is a one-off supplier price adjustment, noted and closed. Gross margin drops from 60 percent to 58 percent, still within normal range.
Month two: COGS is 4.3 million. Variance against the original budget is now 7.5 percent, but the variance against last month is only 2.4 percent, well under the threshold. No flag. Gross margin is now 57 percent.
Month three: COGS is 4.5 million. Variance against budget is 12.5 percent, variance against last month is 4.7 percent, still under the 5 percent threshold for a month-on-month review. Gross margin is now 55 percent.
Over three months, gross margin has dropped five percentage points. On 10 million in monthly revenue, that's 500,000 in gross profit erosion per month, 1.5 million over the quarter. But because the review process was checking each month in isolation against a tolerance band, and because the month-on-month changes were individually small, no single month triggered an investigation.
The formula for gross margin is straightforward:
But the insight isn't in the formula, it's in tracking the rate of change of that margin over time, not just its absolute level in any given month. A margin that's drifting consistently in one direction, even by small amounts, is telling you something about the unit economics. A margin that's volatile but mean-reverting is telling you something about timing and mix. The distinction matters, and a standard variance review that's only checking against a static threshold won't catch it.
Why the Standard Review Process Misses This
Most monthly close processes are designed to answer one question: did we hit our numbers? Revenue against forecast, expenses against budget, variance explanations for anything that's off by more than a set tolerance. It's a compliance exercise as much as a management tool, and it's optimized for speed and consistency, not for pattern recognition.
The problem is that a process optimized for closing the books quickly will, by design, filter out small variances as immaterial. That filtering is necessary, you can't treat every minor deviation as a crisis. But it also means that the process is structurally blind to consistent, directional changes that happen slowly.
This is not a flaw in the people running the process. It's a flaw in what the process is designed to detect. A standard variance review is checking whether each month is materially different from the plan. It's not checking whether the relationship between revenue and costs is shifting over time, because that requires looking at multiple periods together, not one month in isolation.
The businesses that catch this are running a second layer of review on top of the standard close process. Not a more frequent close, a different type of analysis. They're tracking rolling averages, looking at trends over multiple periods, and flagging any line item where the rate of change is consistent even if the absolute variance in any given month is small.
The Diagnostic You Should Be Running
Here's the practical edge case: how do you distinguish between a small variance that's noise and a small variance that's the early signal of a structural shift?
The answer is time series analysis, but you don't need a statistician to run it. You need a spreadsheet and a willingness to look at more than one month at a time.
Take any line item on your P&L, revenue, COGS, operating expenses, whatever you're tracking. Pull the last six months of actuals. Calculate the month-on-month percentage change for each period. Then calculate the average of those changes.
If the average is close to zero and the individual months are volatile, you're looking at noise. The line item is moving around, but it's not trending in any particular direction. No action required beyond the standard variance review.
If the average is non-zero and the individual months are consistently on the same side of that average, you're looking at a trend. The line item is drifting in one direction, and that drift is likely to continue unless something changes. This is the signal that requires a deeper look, even if no individual month broke your materiality threshold.
The formula for a simple moving average over $n$ periods is:
where $x_i$ is the value in period $i$. For variance tracking, you're applying this to the percentage change in each line item, not the absolute value. The insight is in whether that average is drifting away from zero over time.
This isn't sophisticated. It's basic trend analysis. But it's also not part of most standard monthly close processes, because those processes are designed to check whether you hit your numbers this month, not whether the underlying trajectory is changing.
What It Looks Like When You Catch It Early
Go back to the example. Same business, same COGS drift, but this time the finance lead is tracking a three-month rolling average of the COGS-to-revenue ratio, not just the absolute variance against budget.
Month one: COGS is 4.2 million, ratio is 42 percent, up from 40 percent. Noted, but one month isn't a pattern.
Month two: COGS is 4.3 million, ratio is 43 percent. Three-month rolling average is now 41.7 percent, up from 40 percent baseline. Still within tolerance, but the direction is consistent.
Month three: COGS is 4.5 million, ratio is 45 percent. Three-month rolling average is now 43.3 percent. The trend is clear, and it's been consistent for three months. This triggers a deeper investigation, not because any single month broke a threshold, but because the pattern is directional and sustained.
The investigation finds that a supplier had implemented a phased price increase that was structured to stay under the contract's single-month escalation cap, but over multiple months was adding up to a material cost increase. The contract allowed it, but nobody had flagged it because the monthly invoices were individually within tolerance.
Catching it in month three instead of month six means the business has time to renegotiate, find an alternative supplier, or adjust pricing to customers before the margin compression becomes a cash problem. The variance was always there, visible in every monthly close. The difference was having a process that looked for the pattern, not just the outlier.
The Second-Order Effect Nobody Talks About
The real cost of missing a small, consistent variance isn't the variance itself. It's the decision you make based on numbers that are quietly going stale.
A founder looking at a P&L that shows stable gross margin will make different decisions than a founder looking at a P&L that shows margin drifting down by two percent a month. The first founder might invest in growth, hire ahead of revenue, commit to a longer cash runway. The second founder might tighten operations, renegotiate supplier terms, or adjust pricing before the drift becomes a crisis.
Both founders are looking at the same underlying business. The difference is that one of them is seeing the trajectory, not just the snapshot.
This is why the variance nobody flagged is often more dangerous than the variance that breaks a threshold and triggers an investigation. The big variance gets caught, explained, and dealt with. The small variance that's consistent and directional just sits there, month after month, quietly rewriting your unit economics while everyone watches the top line.
The businesses that survive the next downturn won't be the ones with the cleanest P&L. They'll be the ones whose finance function was looking for the drift before it became a crisis.
What This Means for Your Monthly Close
If you're running a standard monthly close process and this sounds familiar, the fix isn't to tighten your variance thresholds or run more frequent reviews. It's to add one layer of analysis that sits outside the close process itself.
Take your P&L. Pick the three or four line items that matter most to your unit economics: revenue, COGS, gross margin, operating expenses as a percentage of revenue, whatever drives your business model. Track the month-on-month percentage change for each of those items over a rolling six-month window. Calculate the average. If that average is drifting consistently in one direction, flag it for investigation, even if no individual month broke your materiality threshold.
This takes about fifteen minutes per month if your data is clean. It's not a substitute for your standard variance review, it's a complement. The standard review catches the outliers. This catches the drift.
The variance nobody flagged is the one that was too small to matter in any given month, but consistent enough that it mattered over time. The businesses that catch it early aren't running more sophisticated processes. They're just asking whether the numbers are trending, not just whether they're on budget.
Next week, part four: the reconciliation everyone assumes is fine because it's always been fine, right up until it isn't.
If this is landing uncomfortably close to home, the diagnostic is faster than you think: calendly.com/muhammed-adediran/30min.
Muhammed Adediran
Quantitative Finance ConsultantI run a quantitative finance consultancy providing fractional FP&A, financial modelling, and credit & risk analytics to growing businesses and lenders. See the engagements.
