The Five Errors I Find in Every Model Review
01/06/26
I’ve been reviewing financial models for 25 years. Models built by Big 4 firms, by boutique advisors, by in-house finance teams, by consultants. Models for infrastructure deals, PE acquisitions, property developments, corporate forecasts, government projects.
And the same five errors appear in almost every one.
These aren’t obscure edge cases or advanced modelling problems. They’re fundamental structural issues that undermine the integrity of the model and, in some cases, lead to materially wrong outputs. They’re also entirely preventable.
Here they are.
1. Inconsistent Formulas Across Time Periods
This is the single most common error in financial modelling, and it’s often invisible.
A row of formulas should be identical across every time period. If cell G15 calculates revenue as =G10*G12, then H15 should calculate revenue as =H10*H12. Same structure, different column references.
In practice, what I find is that someone has manually adjusted a formula in one period — hardcoded a number, changed a reference, added a condition — without applying the same change to every other period in the row.
The result: the model looks correct when you check the formula in column G, but column Q has a different formula that produces a different answer. The variance may be small enough to escape a sense-check, especially if it only affects one period out of many.
How to prevent it: Use Operis OAK or PerfectXL to scan for formula inconsistencies. These tools flag every row where a formula changes across columns. Alternatively, Excel’s Go To Special → Row Differences (Ctrl+) will highlight cells that differ from the leftmost cell in the selection. Run this check on every calculation row before finalising the model.
The rule: If a formula needs to change in one period, it almost certainly needs to change in a way that still works across all periods — using an IF statement with a flag, not a manual override in one cell.
2. Hardcoded Numbers in Formulas
A formula that says =D10*1.05 contains a hardcoded assumption — the 5% growth rate — buried inside a calculation. When someone reviews the model and asks “what growth rate are you using?”, they won’t find it on the inputs sheet. It’s hiding in a formula on a calculation sheet.
This is a model review nightmare. Every hardcoded number is an undocumented assumption. In a model with 5,000 formulas, finding the 200 that contain hardcoded numbers is tedious without tooling.
I find this in every model I review. Every single one. Even models built by experienced modellers have at least a few constants embedded in formulas — a tax rate here, a conversion factor there, a “temporary” hardcode that was never replaced with a proper input reference.
How to prevent it: All assumptions belong on an input sheet, in a named cell, referenced by the formula. The formula =D10*Assumptions!C15 is transparent and auditable. The formula =D10*1.05 is a time bomb.
Use PerfectXL’s constant detection to scan for numbers embedded in formulas. Any number other than 0, 1, -1, 12, 100, or 365 (the universally understood constants) should be flagged for review.
3. Broken or Absent Error Checks
A financial model without error checks is like a car without a dashboard — everything might be working, but you have no way to know.
The essential error checks are:
- Balance sheet balance: Assets minus Liabilities minus Equity should equal zero in every period. If it doesn’t, something is wrong.
- Cash flow reconciliation: Opening cash plus net cash flow should equal closing cash. This is the model’s second balance — if it doesn’t work, the cash flow statement has an error.
- Circular reference checks: If the model uses circular calculations (common when debt interest depends on average debt which depends on cash flow which depends on debt interest), there should be a check that confirms the iteration has converged.
- Sign checks: Are there any negative revenues? Any positive costs that should be negative? Any balance sheet items with the wrong sign?
- Growth rate checks: Is any line item growing at an implausible rate (>50% year-on-year, say)?
I frequently find models with no error checks at all. The builder assumed the model was correct because it “looked right.” In other cases, the error checks exist but aren’t wired up — the check formulas are there, but nobody looks at them.
How to prevent it: Build error checks as you build the model, not as an afterthought. Create a summary error check sheet with conditional formatting: green if all checks pass, red if anything fails. Make it the first sheet in the workbook so it’s the first thing anyone sees when they open the model.
4. Circular References Without Controls
Circular references are sometimes unavoidable in financial models. The classic case: interest expense depends on average debt, which depends on the cash flow available for debt service, which depends on interest expense.
The problem isn’t the circularity itself — it’s how it’s managed. I regularly find models where:
- Iterative calculation is switched on (File → Options → Formulas → Enable Iterative Calculation) but there’s no documentation that the model requires it
- The maximum iterations and change threshold are set at Excel’s defaults (100 iterations, 0.001 change) rather than values appropriate for the model
- There’s no circular reference breaker switch — a cell that can be set to zero to break the circularity for debugging
- The model has unintended circular references created by formula errors, masked by the iterative calculation setting
That last point is the most dangerous. When iterative calculation is enabled, Excel doesn’t warn you about circular references. It just iterates. If someone accidentally creates a new circular reference through a formula error, the model silently produces wrong answers.
How to prevent it: Include a circular reference breaker switch (a cell that, when set to 0, breaks all circular chains). Document which cells are intentionally circular. Add a convergence check that confirms the iteration has settled. And periodically disable iterative calculation to confirm there are no unintended circular references — the #REF! errors will tell you where they are.
5. No Documentation of Assumptions
A model without documentation is a model that only one person can use. When that person leaves, the model becomes a black box.
I’m not talking about a 50-page user guide. I’m talking about basic documentation that answers:
- What does this model do?
- What are the key inputs and where do they come from?
- What are the main outputs and how should they be interpreted?
- What are the key structural decisions (sign convention, time periods, granularity)?
- What are the known limitations?
This documentation can live on a “readme” sheet within the model itself. It doesn’t need to be long — a single page that orients the next user is enough.
I find this missing far more often than I find it present. The excuse is always the same: “We ran out of time.” But a model without documentation is a model that will cost the next user days of reverse-engineering to understand — far more time than the hour it would have taken to document it properly.
How to prevent it: Build the documentation sheet first, before you build the model. Write down what the model will do, what inputs it needs, and what outputs it will produce. Update it as the model evolves. Treat it as part of the deliverable, not an optional extra.
The Common Thread
All five of these errors share a common characteristic: they’re not errors of competence. The modellers who make them are often highly skilled. The errors arise from time pressure, from the gap between building the model and preparing it for handover, from the assumption that “I’ll fix that later” — which means it never gets fixed.
A structured review process — using tools like Operis OAK and PerfectXL alongside manual review — catches these errors before they reach the decision-maker. It’s not a luxury; it’s a necessity.
Will Wardle has reviewed hundreds of financial models across every sector over 25 years. He developed the peer review methodology used at his former Big 4 firm and trained 30 modellers in its application. He uses Operis OAK and PerfectXL alongside manual review in every engagement.