Build a Bottom Up Forecast
This guide shows you how to build a forecast by starting from operational inputs instead of top line financial percentages.
Before you start
Identify:
The operational levers that drive revenue and costs (for example units, customers, projects, hours).
Capacity limits and utilisation assumptions.
Staffing requirements per unit of output.
What you will build
Operational drivers for units, customers, projects or hours.
Revenue, COGS, opex and staff variables driven by these inputs.
Capacity aware forecasts that reflect physical or operational constraints.
Steps
Create operational drivers in the Data Library
Open the Data Library.
For each operational metric create a Driver entry, for example:
Units - Product AProjects - ConsultingBillable Hours - Team A
Enter:
Current levels.
Growth assumptions.
Seasonality if relevant.
These drivers will underpin revenue and cost variables.
Build costs from operational drivers
Costs often scale with the same units:
Create COGS variables that use:
COGS = Units Γ Cost_per_unit
For Staff:
Use headcount drivers or hours based staffing ratios.
For example:
Headcount_t = Units_t Γ· units_per_FTE
Staff_cost = Headcount Γ salary_per_FTE
For Opex:
Model where costs scale by operational intensity (for example logistics or customer care).
Introduce capacity and utilisation constraints
Avoid unrealistic growth by modelling capacity:
Create capacity drivers, for example:
Maximum units per plant.
Maximum hours per team.
Apply simple logic, for example:
Units_t = min(desired_units_t, capacity_t)Utilisation = units_t Γ· capacity_t
Monitor utilisation using charts.
Even simple capacity logic can prevent obviously impossible forecasts.
Check your work
Every major financial line is traceable back to an operational driver.
Headcount and staff costs are linked to actual workload.
Unit volumes do not exceed realistic capacity.
Capacity changes (for example new plant or hires) are explicitly modelled.
Troubleshooting
Related guides
Last updated