Remote business plan consultancy serving founders in Jeddah and Saudi Arabia. Work is delivered online; we have no office in Jeddah.
Home/Guides/How to structure a financial model

Guide

How to structure a financial model

A good model is boring: inputs in one place, calculations in a predictable order, outputs a reader can follow without opening every tab.

Structure a model in this order: assumptions, revenue build, cost build, P&L, cash flow, balance sheet, funding and debt, scenarios, outputs. Each sheet should only reference sheets before it.

Sheet order and purpose

SheetContainsNotes
1. AssumptionsEvery input, with units and basisThe only place numbers are typed
2. RevenueVolume × price by streamMonthly, with seasonality index
3. CostsFixed, variable, step costsStaffing separated
4. P&LRevenue − costs = resultMonthly then annual
5. Cash flowReceipts and paymentsTiming, not accrual
6. Balance sheetAssets, liabilities, equityChecks and balances
7. FundingDrawdowns, repayments, interestDebt schedule
8. ScenariosSwitches and outputsBase, downside, upside
9. SummaryOne-page outputFor the reader

Assumptions sheet

Each row: name, value, unit, basis, source, confidence.

Illustrative example — invented figures for a fictional business:

AssumptionValueUnitBasis
Average price45SARCompetitor benchmark
Daily transactions120countCapacity estimate
Trading days26days/monthOperating calendar
COGS30%% revenueSupplier quotes
Rent8,000SAR/monthLease quote
Staff5FTEOperating plan

Revenue build

Keep the calculation visible: transactions per day × trading days × average price × seasonality index.

For multiple streams, one block per stream, then a total. Do not merge streams into one growth rate; the reader cannot test it.

Cost build

Separate three behaviours:

  • Fixed — rent, salaried staff, insurance, licences.
  • Variable — materials, packaging, payment fees, delivery.
  • Step — second shift, additional vehicle, new location.

Step costs are the ones that break models. Add a line that flags when a step is triggered.

Cash flow

Cash flow is not the P&L with a timing adjustment bolted on. Build it from receipts and payments:

RowBasis
Opening cashPrior month closing
Cash receiptsRevenue adjusted for collection period
Supplier paymentsCosts adjusted for payment terms
PayrollPaid in month
CapexPer capital schedule
Loan drawdown / repaymentPer debt schedule
Closing cashSum

If closing cash is negative, the model is telling you the funding requirement. That is the model doing its job.

Balance sheet, briefly

A simple balance sheet should balance: assets (cash, receivables, inventory, fixed assets) = liabilities (payables, debt) + equity (paid-in capital, retained earnings).

If it does not balance, there is a timing error in the cash flow or a missing accrual. Do not plug the difference.

Scenarios

Use a single switch cell (1, 2, 3) that drives named changes:

ScenarioVolumeRampPrice
Base100%PlanPlan
Downside80%+3 monthsPlan
Upside115%−1 monthPlan

Document what changes in each case. A scenario switch that nobody understands is worse than no scenario.

Presentation rules

  • One currency, stated on every output.
  • Round outputs to whole units; keep inputs precise.
  • No hard-coded numbers in formulas.
  • Colour-code inputs (blue) and formulas (black).
  • A summary tab that fits on one page.

For a built model, see financial modelling. For the surrounding document, see business plan writing.

A worked mini-model

Illustrative example for a fictional business — invented figures.

LineMonth 1Month 6Month 12
Transactions per day4095120
Trading days262626
Average price (SAR)454545
Revenue (SAR)46,800111,150140,400
Cost of goods (30%)14,04033,34542,120
Gross profit32,76077,80598,280
Fixed costs62,00062,00068,000
Net result(29,240)15,80530,280

The step from SAR 62,000 to SAR 68,000 in month twelve is a step cost — an additional staff member. Without that line, the model would overstate profit by SAR 6,000 a month from the point the hire is needed.

That is the whole discipline of modelling: every cost that changes with scale appears at the point it changes, not as a smooth annual average.

Naming and documentation conventions

  • Prefix input cells with in_ and calculations with calc_ if the model will be maintained by someone else.
  • Name the scenario switch cell, so formulas read =IF(scenario=2, 0.8, 1).
  • Put a date on the assumptions sheet.
  • Record who changed what in a version log.

Those conventions take an hour to set up and save days later, particularly when a lender asks for a revised case two weeks before submission.

Structural mistakes that cost days

MistakeConsequenceBetter approach
Mixing inputs and formulas on one sheetImpossible to audit or updateSeparate assumptions tab
One giant sheet for everythingErrors hide; reviewers give upOne purpose per sheet
Copy-pasting months instead of referencingA change breaks the modelBuild month one, drag with absolute references
Circular referencesThe model recalculates unpredictablyUse a separate interest calculation on opening balances
Hard-coded totalsThey drift from the detailSum the detail rows
No version controlNobody knows which file is currentDate-stamped file names and a change log

A model that is easy to audit is also easier to defend. When a lender asks "what happens if rent rises by 10%", the answer should take one cell change, not a rebuild.