When I was recruiting I noticed there's no good way to practice building models under interview conditions. You can watch YouTube tutorials or buy courses but there's nothing where you actually build a model from scratch, get graded, and then do it again with different numbers.
So I built one at finprep.academy/modeling. Completely free.
How it works:
- You pick a model type (3-statement or paper LBO)
- The tool generates randomized assumptions (revenue, margins, growth rates, debt structure, etc.)
- You fill in the cells directly in the browser. It supports actual formulas like =100*1.1 or =500*0.6
- When you're done you hit Grade and it checks every cell against the expected values with a 2% tolerance for rounding
- It shows you exactly which cells were wrong with the correct answer and the formula explanation
- Hit "New random scenario" and you get completely different numbers. No memorization, pure understanding
The 3-statement model has a full Income Statement, Cash Flow Statement, and Balance Sheet with a NWC line so the balance sheet actually balances properly. It checks 22 cells including a balance check at the bottom.
The LBO has entry transaction, 5-year income statement, debt schedule with FCF paydown, and exit returns (MOIC and IRR). About 40 cells to fill in.
Still early and I know it's not perfect. The formula engine is basic compared to Excel and there's no cell referencing across sections yet. But for practicing the mechanics of how statements flow together and how an LBO works, it does the job.
Would love feedback from people who actually build models. What's wrong with the structure? What assumptions am I missing? What would make this more realistic?