How to Check a Financial Model for Errors
A step-by-step way to review a financial model for errors: checks, flow tracing, sign and timing tests, and the mistakes that hide in plain sight.
By Victor D’Errico, Founder & CEO of SheetRank
Finance & Business Analytics at Sacred Heart University · NY licensed real estate salesperson
IB · 6 min read · Updated
Reading is half of it. Build a real model and get graded cell by cell.Try it free →Most broken models don't look broken. The totals are in the right ballpark, the formatting is clean, and the IRR lands somewhere believable. The mistake is three tabs back, in one cell that points at the wrong row.
That's why checking a model is its own skill. Building a model and reviewing one use the same knowledge, but reviewing needs a process, because you're looking for something you didn't put there. This guide is the process I'd use on a model someone else built, a model from a template, or a first draft from an AI tool.
Start with what the model is supposed to say
Before you touch a cell, write down three things in plain words:
- What question the model answers (what price can we pay, what IRR do we get, what is the share worth)
- The two or three outputs that answer it
- A rough range you'd expect for each, from a back-of-envelope calculation
The last one matters most. If a buyout at 11x with roughly half the price in debt shows a 35% IRR, you know before opening the debt schedule that something is off. A quick paper estimate gives you a target to argue with.
Try it
Work out enterprise value and EV/EBITDA
Equity value plus debt, minus cash, is enterprise value. Divide by EBITDA for the multiple.
| A | B | |
|---|---|---|
| 1 | Share price | |
| 2 | Shares outstanding | |
| 3 | Debt | |
| 4 | Cash | |
| 5 | EBITDA | |
| 6 | Equity value | |
| 7 | Enterprise value | |
| 8 | EV / EBITDA |
Tap cells to put them in the formula. On a laptop you can type the numbers and operators.
Check the checks
Good models carry their own alarms: sources equal uses, the balance sheet balances, cash never goes below the minimum, the debt schedule ends at zero or at a sensible balance. Find every check row and confirm it reads zero (or TRUE) in every period.
A balance check that's always zero is a good sign but not proof. Some checks are built in a way that can't fail, for example a "Total Liabilities & Equity" line that's calculated as Total Assets. Click into the check and make sure it compares two things that are calculated separately.
Trace the flow, not the cells
You don't have time to read every formula in a 200-line model, so follow the money instead. Pick the main output and walk backwards:
Output
Start at the IRR, MoIC or share price. What feeds it directly?
Exit or terminal value
Which year's EBITDA or NOI does it use, and what multiple or cap rate?
Debt or net debt
Which balance gets subtracted, and is it the right year's ending balance?
Cash flow
Does free cash flow add back what it should and subtract what it should?
In Excel, Trace Precedents (or Ctrl + [ ) jumps you to the cells a formula reads. Do it from the output and keep going until you hit the assumptions.
The five mistakes that survive a quick look
These are the errors I see most in student models, templates and AI drafts. They're dangerous because the model still produces reasonable numbers.
1. Pointing at the wrong row
The formula reads the line above or below the one it should. In our institutional LBO, the change in net working capital is supposed to read the $5,000,000 assumption. Point it one row down and it reads the 25% tax rate instead, so the model subtracts $0.25 instead of $5 million. Do that in one year and the sponsor IRR moves from 16.24% to 16.33%. Nobody spots a 9 basis point change by eye, which is exactly the problem.
2. A link that stopped rolling
A prior-year reference gets a dollar sign, so every year reads Year 1. If the beginning term loan balance in Years 2 to 5 is anchored to the Year 1 ending balance, the model "forgets" every paydown after Year 1. In the same LBO that leaves $458 million of term loan at exit instead of $212 million, and the IRR falls from 16.2% to 12.2%.
3. A flipped sign
Capex added instead of subtracted, or a preferred balance that shrinks when it should accrue. Signs are easy to fix and hard to find, because the cell still holds a plausible number.
4. The wrong year
This year's value where the formula needs last year's, or the reverse. Discounting Year 4 cash flow with the Year 3 factor is a classic. So is an exit multiple applied to Year 4 EBITDA in a five-year hold.
5. A typed-in number
The value is right today and wrong the moment an input changes. To find these, change an assumption and watch what doesn't move. A hardcoded revolver draw of zero looks fine until the downside case needs one.
Stress it
A model can be correct in the base case and broken everywhere else. Flex three inputs hard and watch the outputs:
| Flex | What should happen | Red flag |
|---|---|---|
| Growth to zero | Returns fall, debt paydown slows | Debt still pays down on schedule |
| Exit multiple down 2x | Equity value falls sharply | IRR barely moves |
| Interest rate up 300 bps | Cash interest rises, sweep shrinks | Cash interest unchanged |
If an output doesn't react to an input it obviously depends on, there's a hardcode or a broken link between them.
Check units and timing last
Two quick passes catch a surprising amount:
- Units. Is everything in the same unit? A model in thousands with one input typed in millions is off by 1,000x in one line.
- Timing. Count the periods in every IRR, every discount factor and every growth exponent. A five-year hold calculated as six years cuts our LBO's IRR from 16.2% to 13.4% with no other change.
Write it down as you go
When you find a mistake, note the cell, what it does, what it should do, and how much it moves the output. If you're reviewing someone else's work, that list is the deliverable. If you're reviewing your own, it shows you which habits to fix.
Practice on a real model
The fastest way to get better at this is reps on models with known mistakes. The weekly AI Audit gives you a full institutional model with every schedule built and five mistakes hidden in it, the same kinds described above. Fix them all and the clock stops. It's free with an account, and there's a leaderboard if you want to see how fast other people are.
Practice it
Now build one from a blank grid.
Project Sunbelt is a full 300-unit multifamily underwriting. Every formula you write is graded the moment you leave the cell. Free, no account, no card.