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

1

List operational drivers

For your business, examples might include:

  • Number of active customers.

  • Number of projects delivered.

  • Number of store visits.

  • Production volume in units or tonnes.

  • Billable hours.

Decide which metrics best reflect actual activity.

2

Create operational drivers in the Data Library

  • Open the Data Library.

  • For each operational metric create a Driver entry, for example:

    • Units - Product A

    • Projects - Consulting

    • Billable Hours - Team A

  • Enter:

    • Current levels.

    • Growth assumptions.

    • Seasonality if relevant.

These drivers will underpin revenue and cost variables.

3

Build revenue from operational drivers

For each product or service line:

  • Create a Revenue variable.

  • Use formulas such as:

    • Revenue = Units Γ— Price_per_unit

    • Revenue = Billable_hours Γ— Rate_per_hour

  • Where needed, link to:

    • Rate or Price drivers in the Data Library.

    • Capacity or utilisation modifiers.

4

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).

5

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.

6

Verify outputs and refine drivers

Use P&L and Cash Waterfall to:

  • Confirm revenue and cost patterns match operational expectations.

  • Check margins, staff ratios and unit economics.

  • Adjust drivers where assumptions are unrealistic.


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

chevron-rightRevenue looks fine but capacity is unrealistichashtag

Check that you have not omitted capacity constraints.

chevron-rightCosts are not scaling with unitshashtag

Confirm variables use unit based formulas rather than fixed amounts.

chevron-rightDifficulty managing many drivershashtag

Group drivers in the Data Library with clear naming and tags.


Last updated