Blog
FP&A13 min4 September 2026Alex TapioBy Alex Tapio

How to Build an OpEx Forecast

How to Build an OpEx Forecast

Key Takeaways

  • Match the method to the cost behaviour - fixed, headcount-driven, variable-with-revenue, driver-based, or discretionary. One blanket assumption across all of opex is the root of most forecast error.
  • Compensation is the biggest line and the most timing-sensitive. Forecast it off a month-phased headcount plan and a fully-loaded cost per head, not a growth rate.
  • Percent-of-revenue belongs only on lines that truly move with revenue - commissions, marketing programmes, payment fees. Keep it off rent, salaries, and G&A.
  • Build monthly off a single assumptions block. Every category is one formula row, so a slipped hire or a re-timed campaign reflows the whole forecast.
  • Watch the trend and the exit run-rate, not just the annual total. OpEx falling as a percent of revenue is operating leverage; the December run-rate is what you carry into next year's plan.
  • Report budget vs actual by category. Net accuracy hides offsetting gross misses; a threshold on category variance is what catches the overspend the total masks.

For the broader driver-based framework this fits into, see financial forecasting methods; for the parallel build on the people-cost side, see headcount planning; and for keeping the forecast current as assumptions move, see how to build a rolling forecast. To track the forecast against actuals by category, explore the Budget vs Actuals template.

An opex forecast projects every operating cost below gross profit - salaries, rent, software, marketing, G&A - month by month, with a method matched to how each cost actually behaves. This guide covers the five cost behaviours, the right forecast method for each, the monthly build mechanics in Excel, and a full worked example: a six-category opex forecast for a scaling software company, rolled into an operating-income view and a budget-vs-actual variance report that shows why a forecast that looks 0.6% accurate in total can still be badly wrong line by line.

Operating expenses are where financial forecasts quietly go wrong. Revenue gets pressure-tested from five directions; opex often gets a single blanket assumption - "grow it with revenue" - bolted on at the end. But rent does not grow with revenue, salaries grow in steps as you hire, and marketing programmes are a management decision rather than a percentage. Applying one method to all of opex is the most common reason a budget misses.

An opex forecast is also the number a board holds management to. Revenue is partly outside anyone's control; the operating expense base is a plan the company sets and is expected to hit. For a software business scaling toward profitability, total opex commonly runs 65–85% of revenue, so a 5% opex forecast error is frequently the difference between hitting and missing the operating-income plan.

One clarification before the methods. This guide covers operating expenses - costs expensed in the period they are incurred, sitting between gross profit and operating income. That is different from capital expenditure, which is capitalised on the balance sheet and expensed over time through depreciation. Capex is forecast project-by-project with investment economics; opex is forecast as a period-by-period allocation tied to headcount, revenue, and contracts. See our guide to building a capex forecast for the other side of that line.

flowchart TD A["OpEx line to forecast"] --> B{"How does the cost behave?"} B -->|"Fixed: rent, insurance, base contracts"| C["Run-rate hold plus escalator or known step"] B -->|"Headcount-driven: salaries, benefits, payroll tax"| D["Ending headcount x fully-loaded cost per head"] B -->|"Variable with revenue: commissions, marketing, payment fees"| E["Percent of revenue"] B -->|"Driver-based: T&E per head, recruiting per hire, cloud per customer"| F["Units of driver x cost per unit"] B -->|"Discretionary and lumpy: consulting, events, legal projects"| G["Zero-based rebuild each planning cycle"] C --> H["Monthly opex forecast by category"] D --> H E --> H F --> H G --> H H --> I["Operating income and budget vs actual tracking"]

Match the forecast method to how each cost actually behaves. Most opex forecasts go wrong by applying one blanket method - usually percent-of-revenue - to lines that do not work that way.


Start With How Each Cost Behaves

Before choosing a formula, classify every opex line by its cost behaviour. There are five, and each maps to a different forecast method.

Cost behaviour Examples How it moves Forecast method
Fixed Rent, insurance, audit fees, base software contracts Flat until a contract renews or a step change Run-rate hold plus escalator; hard-step at renewal
Headcount-driven Salaries, benefits, payroll tax, per-seat licences Scales with FTE count Ending headcount x fully-loaded cost per head
Variable with revenue Sales commissions, marketing programmes, payment processing, cost-to-serve Roughly proportional to sales Percent of revenue
Step-fixed Facilities, management layers, infrastructure tiers Flat, then jumps at a capacity threshold Hold flat; model the step at the trigger point
Discretionary / lumpy Consulting, legal projects, events, PR Management decision, not a formula Zero-based, rebuilt each planning cycle

The mistake this table is built to prevent is reaching for percent-of-revenue by default. It is the right method for maybe a quarter of a typical opex base and the wrong method for the rest.


Method 1: Run-Rate Hold for Fixed Costs

Rent, insurance, audit and legal retainers, and base software contracts do not move with sales volume or headcount within a normal range. Forecast them by holding the current monthly run-rate forward, then layering in the two things that do change them:

  • Contract escalators. Multi-year leases and enterprise SaaS agreements typically step up 3–8% at renewal or on an annual anniversary. A flat hold silently understates the back half of the year.
  • Known step changes. A signed lease on additional space, a new insurance tier, an office move - these are dated events, not gradual drift. Put the step in the month it takes effect.
// Fixed cost: hold prior month, apply an annual escalator monthly,
// or hard-step to the known new rate at renewal
= IF(MonthNumber = RenewalMonth, NewContractRate, PriorMonth * (1 + AnnualEscalator/12))

Keep escalator rates and renewal months on the assumptions block so the whole schedule reflows if a renewal date slips.


Method 2: Headcount-Driven for Compensation

Salaries and benefits are almost always the largest opex line - in the worked example below they are just under three-quarters of total opex - and the most sensitive to timing. Forecast compensation off a month-phased headcount plan, not a growth rate.

Two rules matter most:

  1. Phase hires by start month, not by quarter. A role approved for "Q2" costs three months of salary if it starts in April and one month if it starts in June. A quarterly headcount plan hides a 2x swing in the cost that lands this year.
  2. Use fully-loaded cost, not base salary. Base pay is typically 70–80% of the real cost of an employee. Payroll tax, health benefits, retirement match, equipment, software seats, and bonus accrual add 25–40% on top. Forecast the loaded number.
// Salaries & benefits = ending headcount this month x fully-loaded annual cost / 12
= EndingHeadcount * Assumptions!$B$4 / 12

Our headcount planning guide walks through building the month-phased hiring plan and the fully-loaded cost per head that feed this line.


Method 3: Percent of Revenue for Truly Variable Costs

Reserve percent-of-revenue for the lines that genuinely move with sales:

  • Sales commissions (a percent of bookings or revenue by design)
  • Marketing programme spend run as a percent-of-revenue budget
  • Payment processing and transaction fees
  • Variable elements of cost-to-serve and customer support
// Variable programme spend = revenue x opex % assumption
= Revenue * Assumptions!$B$7

The failure mode is using this method on fixed or step lines. When revenue dips, a percent-of-revenue rent line drops with it - which never happens in reality - and the model shows a resilience the business does not have. When revenue grows, the same method fakes operating leverage that a fixed cost base would deliver anyway. Percent-of-revenue is a defensible shortcut for a long-range DCF model where line-level detail is not available; it is not an operating budget.


Method 4: Driver-Based for Everything Else

Many opex lines are neither fixed nor revenue-linked, but they do track an operational driver:

  • Travel and entertainment scales with headcount (cost per head per month)
  • Recruiting fees scale with hiring activity (fee per hire)
  • Cloud and infrastructure scale with customers or usage (cost per active customer, cost per GB)
  • Support tooling scales with ticket volume

For each, forecast the driver, then multiply by a unit cost:

// Recruiting & professional services = fixed retainer + fee per hire x hires this month
= Assumptions!$B$12 + Assumptions!$B$13 * HiresThisMonth

// Semi-variable software = fixed platform fee + per-seat licence x headcount
= Assumptions!$B$9 + Assumptions!$B$10 * EndingHeadcount

Driver-based forecasting is the backbone of a rigorous FP&A build; our guide to financial forecasting methods covers the broader approach this plugs into.


Method 5: Zero-Based for Discretionary Lines

Consulting projects, legal matters, brand and PR campaigns, offsites, and one-off events are management decisions, not formulas. A percent-of-revenue or "last year plus 5%" method invents a precision that is not there and tends to ratchet spend upward automatically.

Handle these zero-based: each planning cycle, rebuild the line from the specific projects and events actually planned, starting from zero rather than from the prior period. Our zero-based budgeting guide covers the full method; for opex forecasting the point is narrow - do not let discretionary spend inherit last year's number by default.


Building the Monthly Forecast

Assemble the categories into one monthly grid, one row per cost line, every formula referencing a single assumptions block. The design rules are the same as any FP&A model:

  • No hardcoded numbers in a category row. Rates, headcounts, escalators, and unit costs all live on the assumptions sheet. A slipped hire or a re-timed campaign should reflow the entire forecast.
  • One formula per row, copied across all twelve months. If a line needs a different formula in different months (a mid-year contract step), use IF on the month number rather than overtyping cells.
  • Semi-variable lines get a two-part formula: a fixed base plus a variable rate times a driver, e.g. = FixedBase + PerSeatCost * EndingHeadcount.

Live example: Budget vs Actuals Tracker in Excel

Loading...

Worked Example: A Six-Category OpEx Forecast

A B2B software company is building its operating expense forecast for the coming year. Revenue starts at $1,000,000 in Month 1 and grows $50,000 per month, reaching $1,550,000 by Month 12 - a full-year total of $15,300,000. The opex assumptions:

Assumption Value
Month 1 revenue $1,000,000
Revenue growth +$50,000 per month (linear)
Starting headcount (Month 1) 40 FTE
Hiring plan +2 FTE/month (Months 2–7), +1 FTE/month (Months 8–12)
Fully-loaded cost per FTE $180,000/year ($15,000/month)
Rent & facilities $80,000/month, steps to $95,000 in Month 7
Software & SaaS $12,000/month base + $250 per FTE per month
Sales & marketing programmes 8% of revenue
Recruiting & professional services $10,000/month retainer + $8,000 per hire
Other G&A $30,000/month, steps to $31,000 in Month 7

The hiring plan takes headcount from 40 to 57 over the year (+2/month for six months, then +1/month for five months = 17 hires). Ending headcount by month: 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, 56, 57.

The monthly build

Each category is one formula row. Salaries = ending headcount x $15,000. Software = $12,000 + $250 x headcount. Sales & marketing = 8% x revenue. Recruiting = $10,000 + $8,000 x hires that month. Rent and G&A hold flat with a Month 7 step.

Category ($000) M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 Year
Salaries & benefits 600.0 630.0 660.0 690.0 720.0 750.0 780.0 795.0 810.0 825.0 840.0 855.0 8,955.0
Rent & facilities 80.0 80.0 80.0 80.0 80.0 80.0 95.0 95.0 95.0 95.0 95.0 95.0 1,050.0
Software & SaaS 22.0 22.5 23.0 23.5 24.0 24.5 25.0 25.25 25.5 25.75 26.0 26.25 293.25
Sales & marketing 80.0 84.0 88.0 92.0 96.0 100.0 104.0 108.0 112.0 116.0 120.0 124.0 1,224.0
Recruiting & prof. svcs 10.0 26.0 26.0 26.0 26.0 26.0 26.0 18.0 18.0 18.0 18.0 18.0 256.0
Other G&A 30.0 30.0 30.0 30.0 30.0 30.0 31.0 31.0 31.0 31.0 31.0 31.0 366.0
Total OpEx 822.0 872.5 907.0 941.5 976.0 1,010.5 1,061.0 1,072.25 1,091.5 1,110.75 1,130.0 1,149.25 12,144.25
Revenue 1,000 1,050 1,100 1,150 1,200 1,250 1,300 1,350 1,400 1,450 1,500 1,550 15,300
OpEx % of revenue 82.2% 83.1% 82.5% 81.9% 81.3% 80.8% 81.6% 79.4% 78.0% 76.6% 75.3% 74.1% 79.4%

Total operating expenses for the year come to $12,144,250, or 79.4% of revenue. Salaries and benefits are $8,955,000 of that - 73.7% of total opex - which is why the compensation line, and the headcount plan behind it, deserve more forecasting effort than every other line combined.

Reading the trend, not just the total

The single most useful output here is not the full-year number, it is the OpEx % of revenue trend: it falls from 82.2% in Month 1 to 74.1% in Month 12. That decline is operating leverage - revenue is growing faster than a cost base that is mostly fixed and headcount-driven. The Month 7 tick upward (81.6%, from 80.8% the month before) is the rent and G&A step landing; a one-month distortion, not a reversal of the trend.

The exit run-rate matters more than the annual average for next year's plan. Annualising December: opex of $1,149,250 x 12 = $13,791,000 against revenue of $1,550,000 x 12 = $18,600,000, a 74.1% exit opex ratio. The company enters next year at a materially better cost structure than the 79.4% full-year figure suggests.

Rolling into operating income

Layering an 82% gross margin assumption on top gives the operating-income view the opex forecast ultimately feeds:

Year total Value
Revenue $15,300,000
Gross profit (82% margin) $12,546,000
Total operating expenses $12,144,250
Operating income $401,750
Operating margin 2.6%

On the December exit run-rate - 82% gross margin less a 74.1% opex ratio - operating margin is roughly 7.9%, which is the number worth carrying into the next planning cycle.


Budget vs Actual: Why Net Accuracy Hides Gross Misses

Once the forecast becomes the budget, it gets tracked against actuals. Here is Q1 (Months 1–3), where the budget total is $2,601,500:

Category Budget Actual Variance Variance % Note
Salaries & benefits $1,890,000 $1,845,000 -$45,000 -2.4% Two hires started late
Rent & facilities $240,000 $240,000 $0 0.0% On plan
Software & SaaS $67,500 $74,200 +$6,700 +9.9% Unbudgeted analytics tool
Sales & marketing $252,000 $291,000 +$39,000 +15.5% Conference sponsorship pulled forward
Recruiting & prof. svcs $62,000 $78,000 +$16,000 +25.8% Agency fees on two senior roles
Other G&A $90,000 $88,000 -$2,000 -2.2% Minor underspend
Total OpEx $2,601,500 $2,616,200 +$14,700 +0.6% -

The headline says the quarter came in 0.6% over budget - close enough to call it a rounding error. The category detail says something different. Three lines are over budget by a combined $61,700 - more than four times the $14,700 net variance - and the only reason the total looks clean is that a hiring delay handed back $45,000 that happened to offset most of it.

That hiring delay is not good news; it is a revenue risk showing up in the cost line. Sales & marketing at 15.5% over and recruiting at 25.8% over are the misses that need explaining, and a report that shows only the total would never surface them. Track variance by category, with a threshold (say, the greater of 5% or $10,000) that flags a line regardless of whether the net nets out. Our budget vs actual analysis guide covers building that variance report properly.


Common Mistakes to Avoid

  1. Blanket percent-of-revenue across all of opex. Rent, salaries, insurance, and G&A do not flex with sales. Applying a revenue percentage to them understates cost in a downturn and manufactures operating leverage in growth.
  2. Forecasting compensation off a quarterly headcount plan. A hire approved for "Q2" costs three months if it starts in April and one if it starts in June. Model the start month, not the quarter.
  3. Using base salary instead of fully-loaded cost. Base pay is 70–80% of the real number. Payroll tax, benefits, retirement match, equipment, and bonus accrual add 25–40%. Forecast the loaded figure.
  4. Missing contract escalators and renewals. Multi-year leases and SaaS contracts step up 3–8% at renewal. A flat run-rate hold silently understates the second half of the year.
  5. Treating discretionary spend as a formula. Consulting, events, PR, and legal projects are decisions, not percentages. A "last year plus x" method ratchets them up automatically. Rebuild them zero-based each cycle.
  6. Reporting only the net variance. A total within 1% of budget can hide a 15% marketing overspend offset by a hiring delay. Report variance by category with a materiality threshold.
  7. Never re-forecasting. An opex forecast set in the annual budget and left alone is stale by February. Re-forecast on a rolling basis as the hiring plan slips and programmes get re-timed - see our rolling forecast guide.

Alex Tapio, founder of Finamodel and ex-Deloitte financial modelling expert

Alex Tapio

Founder of Finamodel • Professional Financial Modeller • Ex-Deloitte

alextapio.comx.com/alextapioLinkedIncontact [at] finamodel.com

Frequently asked

An opex forecast is a projection of a company's operating expenses - all costs below gross profit that are not capitalised, such as salaries, rent, software, marketing, and G&A - over a future period, broken out by category and timed by month. Each line is forecast with a method matched to its cost behaviour: fixed costs held at run-rate, compensation driven off a headcount plan, truly variable costs as a percent of revenue, and the rest on an operational driver. It differs from an opex budget the way any forecast differs from a budget: the budget is the annual target set once, and the forecast is the continuously updated best estimate. The opex forecast feeds operating income, the cash flow statement, and budget-vs-actual reporting.

Build one row per cost category on a monthly grid, with every formula referencing a single assumptions block. Hold fixed costs (rent, insurance, base contracts) at their run-rate with an escalator or a known contract step. Forecast compensation as ending headcount that month times fully-loaded cost per head divided by 12. Forecast truly variable costs (commissions, marketing programmes, payment fees) as a percent of revenue. Forecast everything else on a driver - travel per head, recruiting per hire, cloud per customer - multiplied by a unit cost. Never hardcode a number into a category row; the whole forecast should reflow when an assumption changes.

Only for the lines that actually move with revenue: sales commissions, marketing programmes run on a percent-of-revenue budget, payment processing, and the variable part of cost-to-serve. Applying a blanket percent-of-revenue to rent, salaries, or G&A is the most common opex forecasting error - those costs are fixed or step-driven, so a revenue-percentage method understates them when revenue dips and overstates operating leverage when revenue grows. Percent-of-revenue is a reasonable shortcut for a long-range DCF where line-level detail is not available; it is not an operating budget.

Operating expenses are expensed in the period incurred and hit operating income directly; capital expenditure is capitalised on the balance sheet and expensed over time as depreciation. OpEx is forecast as a period-by-period allocation tied to headcount, revenue, and contracts. Capex is forecast project-by-project with investment economics - NPV, payback, ROI against a hurdle rate - because the cash goes out before the benefit is realised. The two reconcile: a capex project's depreciation becomes an opex line, and the operating benefit that justified the project (cost savings, incremental revenue) should show up in the opex or revenue forecast it was approved against.

SG&A is a bundle, not a single line, so decompose it before forecasting. Selling expense splits into headcount-driven cost (sales salaries and benefits) and variable cost (commissions as a percent of bookings, marketing programme spend). G&A is mostly fixed or headcount-driven - executive and finance salaries, rent, insurance, audit fees - plus discretionary project lines like legal and consulting that are best handled zero-based. Forecasting the whole SG&A block with one growth rate hides the fact that part of it is a hiring decision, part is a contract, and part is a discretionary spend choice.

There is no universal figure - it depends on the business model and stage. An enterprise software company scaling toward profitability often runs total opex at 65–85% of revenue, trending down as revenue outgrows a cost base that is largely fixed and headcount-driven. The more useful read than the level is the trend and the exit run-rate: opex falling as a percent of revenue over the forecast period is operating leverage and points to margin expansion, while a flat or rising ratio means cost growth is keeping pace with sales and the path to higher margins is not yet in the plan.

Have more financial modelling questions? Contact us

Go further

Build the financial model you need with Fina AI

Browse templates, examples, and downloadable Excel models for the analysis you are trying to build. If you can't find your model, ask Fina to build a model for your specific needs.

Excel financial model spreadsheet preview showing Customer Rollforward
Fina interactive chat interface preview
Career Principles

Learn Financial Modelling Skills with industry-leading Career Principles

Breaking into the finance industry? Explore courses in Excel, financial modeling, valuation, data analytics, and AI for business and finance.

Career Principles lesson on preparing a cash flow statement in Excel
Career Principles Financial Analyst Program
Career Principles Python for Data Analysis
Career Principles AI for Business and Finance course