Financial model sanity-checker

Catch the broken assumption before the board does.

Max HalvorsenAdvancedSaves ≈2h/weekChatGPT
317 views
Free community read · 5 leftUnlock all →

I stared at my own model too long to see the errors. A fresh pair of eyes, on demand.

ChatGPT stress-testing SaaS model assumptions and catching an inconsistency
Example run in ChatGPT, on a sample set of model assumptions. Unedited output.

The workflow

  1. Describe your assumptions and outputs
  2. Ask ChatGPT to stress test them
  3. Flag anything that looks off
  4. Fix and re-check

Result: A second opinion that catches the obvious misses.

The prompt

Prompt
Here are my model assumptions and outputs: [PASTE]. Stress test them, flag unrealistic assumptions, and list 3 sensitivities I should show.

A note on what follows. The workflow, the prompt and the result above come from the member. The notes below (why the prompt works, what to watch for, how to adapt it) were written with AI help.

Why this prompt works

I paste the outputs as well as the assumptions, and that is the part people skip. Give it only assumptions and it critiques them in the abstract. Give it both and it starts checking whether one produces the other, which is how it caught that my headcount line and my revenue per employee line could not both be true. That took it nine seconds and it had survived two internal reviews. The three sensitivities matter for a different reason: I do not want a list of everything that could go wrong, I want the three a partner will actually ask about, so I can have them ready rather than discovering them live. What I do not use it for is the maths. It approximates compounding and I have caught it being off by a wide margin on 36 month projections.

What to watch for

  • Arithmetic. It reasons well about assumptions and computes badly. Verify any number it produces in the sheet.
  • It flags what it can see. Missing operating costs stay missing, and my first version had no salaries in it at all.
  • Vocabulary drift. Logo churn and revenue churn get treated as interchangeable unless you are explicit.
  • Everything gets called aggressive if you ask it to stress test. Some of my assumptions were fine and it flagged them anyway, so I stopped reading the count as signal.

How to adapt it

  • Name the audience: This is going to a seed investor, not a board. Focus on what they will push on first.
  • To catch internal contradictions specifically, add Check whether the outputs are arithmetically consistent with the assumptions and show your working.
  • For a benchmark view, add Compare each assumption to typical B2B SaaS ranges and say where mine sit. Treat those ranges as a starting point, not a source.

What good output looks like

The best runs point at a conflict between two of my own numbers rather than telling me a number is high. "Your 15 percent monthly growth and your 14.2M ARR do not reconcile" is worth the whole exercise. "CAC seems aggressive" is a prompt to think, not a finding. If nothing internally contradicts, I take that as a decent sign, then still rebuild the sensitivity tab by hand because I do not trust its maths.

Want to share your own workflows?

AI Academy members publish workflows, vote, and get featured in Techpresso.

Become a member

Discussion

Loading…