17.2 Forecasting Techniques

Key Takeaways

  • Apex's driver forecast is 2,000,000 units at $40 growing 5% in volume and $1 in price, so Year 1 is 2,100,000 × $41 = $86.1 million, not 5% + 2.5% = 7.5%.
  • FY2025 reported gross margin is 38.0% after a $4.0 million inventory write-down; adjusted gross margin is 43.0%; using 38% on $86.1 million understates gross profit by $4.305 million.
  • The three-year reported gross-margin average is 39.7%; the three-year average after the add-back is 41.3%.
  • A three-month moving average of 8,200, 8,500, and 11,200 units equals 9,300; exponential smoothing with alpha 0.30 then forecasts 9,094 — both overstate a post-holiday month.
  • The three-statement invert method hardcodes historical dollars to compute ratios, then hardcodes those ratios (after add-backs) as forecast drivers; it does not copy last year's dollar COGS forward.
Last updated: August 2026

Forecasting Techniques Is the 2026 Core

Forecasting Techniques is the new core course on CFI's 15-course list after 27 February 2026. It is how Budgeting & Forecasting still reaches the final now that the old Budgeting and Forecasting course is off core. This section is that skill: turn history into drivers, apply them forward, and refuse to treat a one-time charge or a holiday month as the new run-rate.

A forecast updates what you think will happen. It is allowed to change every month. A budget (section 17.1) is the lock you still score against. The same Excel workbook can hold both; they are not the same column.

Driver-Based Forecasts

A driver-based forecast hardcodes a short list of assumptions — volume, price, mix, unit cost, fixed cost, variable percent, days, capex policy — and computes every P&L and balance-sheet line as a formula. A growth-rate forecast hardcodes a single revenue growth percent and a stack of percents of sales. Both appear on the FMVA final. Use growth rates when the case gives no units. Use drivers when the case gives units, when mix is shifting, or when you need a flexible budget later.

Apex FY2025 (Year 0):

  • Volume 2,000,000 units
  • Average selling price $40.00
  • Revenue $80,000,000

FY2026 driver assumptions: volume +5%, price +$1.00 (2.5%).

  • Year 1 units = 2,000,000 × 1.05 = 2,100,000
  • Year 1 price = $41.00
  • Year 1 revenue = 2,100,000 × $41.00 = $86,100,000

Adding 5% + 2.5% = 7.5% produces $80,000,000 × 1.075 = $86,000,000 and drops the $100,000 cross-term. Algebra: g_rev = g_vol + g_price + (g_vol × g_price) = 5% + 2.5% + 0.125% = 7.625%. That is the same identity as operational modeling; forecasting techniques does not get a different multiplication rule.

Bridge itemCalculationDollars
FY2025 revenue2,000,000 × $40$80,000,000
Volume effect100,000 extra units × $40+$4,000,000
Price effect$1.00 extra × 2,000,000 old units+$2,000,000
Cross-term100,000 × $1.00+$100,000
FY2026 revenue2,100,000 × $41$86,100,000

Hold those units and that price on the driver tab. Every downstream line — COGS, variable SG&A, AR, and the cash view in 17.3 — should reference them. Hardcoding $86,100,000 as a number on the income statement is how a later volume change fails to flex.

Top-Down Versus Bottom-Up

A top-down forecast starts from a target (board growth rate, market share, or CEO guidance) and allocates it. A bottom-up forecast starts from units, prices, and accounts, then sums.

Apex's board wants 12% revenue growth: $80,000,000 × 1.12 = $89,600,000. The sales build from the three regions is:

RegionFY2025 revenueBottom-up FY2026
East$36,000,000$38,500,000
Central$28,000,000$30,100,000
West$16,000,000$17,500,000
Total$80,000,000$86,100,000

The gap is $89,600,000 − $86,100,000 = $3,500,000. That gap is a decision, not a plug. Honest treatments:

  1. Raise price another $1.67 on 2,100,000 units ($3,500,000 / 2,100,000) and show it as a price assumption.
  2. Raise volume another 85,366 units at $41 ($3,500,000 / $41) and show it as volume.
  3. Tell the board the 12% target is $3.5 million ahead of the build and leave the forecast at $86.1 million.

The dishonest treatment is typing $89,600,000 on the revenue line while leaving units at 2,100,000 and price at $41. You then have two revenues, a broken volume × price identity, and a model that cannot flex. Exam trap: calling a top-down override "driver-based" because the file still has a volume row that no longer multiplies to the revenue cell.

Bottom-up is slower and usually more accurate for the first year. Top-down is how boards set ambition. FP&A's job is to reconcile the two on the driver tab, not to hide the $3.5 million in a rounding difference.

The Invert Method: Historical Driver Ratios

Three-statement modeling already taught the invert: historical years hardcode dollars (from the 10-K) and compute ratios; forecast years hardcode ratios and compute dollars. Forecasting Techniques is that invert applied with judgment.

Apex reported:

YearRevenueReported COGSReported GMOne-time in COGSAdjusted COGSAdjusted GM
FY2023$72,000,000$43,200,00040.0%$43,200,00040.0%
FY2024$76,000,000$44,840,00041.0%$44,840,00041.0%
FY2025$80,000,000$49,600,00038.0%$4,000,000 write-down$45,600,00043.0%

Checks: $43,200,000 / $72,000,000 = 60.0% COGS. $44,840,000 / $76,000,000 = 59.0% COGS. $49,600,000 / $80,000,000 = 62.0% COGS. After the add-back, $45,600,000 / $80,000,000 = 57.0% COGS and 43.0% gross margin.

The $4,000,000 inventory write-down is a one-time charge sitting in COGS. Leaving it in the FY2025 margin tells the model that 38.0% is the run-rate. It is not. The invert for forecast years should use adjusted history unless the prompt says the write-down will repeat.

Three legal choices of margin, and one trap:

MethodGross marginFY2026 COGS on $86.1MFY2026 gross profit
Last-year reported (trap)38.0%$53,382,000$32,718,000
Three-year reported average39.7%$51,918,300$34,181,700
Three-year adjusted average41.3%$50,540,700$35,559,300
Last-year with add-back43.0%$49,077,000$37,023,000

Three-year reported average = (40.0% + 41.0% + 38.0%) / 3 = 39.666…% ≈ 39.7%. Three-year adjusted average = (40.0% + 41.0% + 43.0%) / 3 = 41.333…% ≈ 41.3%. Last-year with add-back = 43.0%.

Using 38.0% instead of 43.0% on $86,100,000 understates gross profit by 5.0% × $86,100,000 = $4,305,000. That is not "conservative." It is re-forecasting last year's write-down as if it were a recurring cost. Copying the $4,000,000 charge forward as a dollar add-on would be a different, at least honest, assumption. Burying it in 38% is how the case study's Year 1 EBIT, tax, and unlevered free cash flow all go low by a linked amount.

Which of 41.3% and 43.0% you pick is a judgment. 43.0% says FY2025 operations, cleaned, are the best analog. 41.3% says the three-year cleaned average is safer because one good year should not set the standard. Both beat 38.0%. Document the choice on the driver tab. Do not average reported and adjusted margins in the same cell.

The same invert applies to days and percents of sales. Historical DSO = AR / (sales / 365). Forecast AR = DSO × sales / 365. Historical SG&A% is a check; if you have already split fixed and variable, the historical percent is not the Year 1 input.

Trend and Seasonality

A trend is the multi-year direction after you strip noise. Apex revenue went $72 million → $76 million → $80 million. A linear trend of +$4 million per year would print FY2026 at $84,000,000. A compound annual growth rate (CAGR) over two years is ($80 / $72)^(1/2) − 1. $80 / $72 = 1.1111; square root ≈ 1.0541; CAGR ≈ 5.41%, so a naive CAGR forecast is $80,000,000 × 1.0541 ≈ $84,328,000. Both are below the $86,100,000 driver build because the driver build has a price increase the straight-line dollar step does not see. Exam trap: extending the $4 million step and calling it driver-based.

Seasonality is the intra-year pattern that an annual CAGR cannot see. Apex's year is not 25% per quarter.

QuarterShare of annualFY2026 revenue at $86.1M
Q118%$15,498,000
Q222%$18,942,000
Q325%$21,525,000
Q435%$30,135,000
Year100%$86,100,000

Equal-quarter modeling books $21,525,000 every quarter. That overstates Q1 by $6,027,000 and understates Q4 by $8,610,000. The annual total still tiles, so an annual three-statement model can look fine. Intra-year cash, the revolver peak, and year-end AR will not. An annual FMVA case that gives only annual sales expects an annual forecast. A quarterly case that gives seasonal weights expects you to apply them before you talk about monthly cash.

Moving Average and Exponential Smoothing

These are practical time-series tools for a single series when you do not have a full driver model. They are not a substitute for volume × price on a three-statement case.

A simple moving average (MA) of order n is the average of the last n observations. Compact SKU units (a single item, not Apex's 2,000,000-unit factory):

  • October 8,200
  • November 8,500
  • December 11,200 (holiday)

Three-month MA for January = (8,200 + 8,500 + 11,200) / 3 = 9,300.

If a typical January is about 8,000 units, 9,300 is 1,300 units (16%) too high because December is still in the window. A trailing average lags a seasonal spike and then overstates the month after the spike.

Exponential smoothing (ES) weights the latest actual more, but it still lags. The one-step formula:

F_{t+1} = α × A_t + (1 − α) × F_t

where F is the forecast, A is actual, and α (alpha) is between 0 and 1. Higher α chases actuals faster and is noisier.

Worked with α = 0.30 and a starting October forecast of 8,000:

MonthActual AForecast F going into the monthNext forecast
Oct8,2008,0000.30 × 8,200 + 0.70 × 8,000 = 8,060
Nov8,5008,0600.30 × 8,500 + 0.70 × 8,060 = 8,192
Dec11,2008,1920.30 × 11,200 + 0.70 × 8,192 = 9,094

January's ES forecast is 9,094 — better than 9,300, still about 1,094 units above an 8,000 January. ES with α = 0.30 only put a 30% weight on the 11,200 spike, so it did not fully chase December, and it also did not know that December is every year's spike. Neither MA nor simple ES has a seasonal index. For seasonal series, use seasonal weights (the 18/22/25/35 split) or a seasonal dummy on the driver tab. Use MA/ES on deseasonalized data, or on a series that is not seasonal.

Exam trap: averaging the last three years' reported margins, including the write-down year, and calling it exponential smoothing. An average of three annual percents is a three-year mean, not ES. ES is a recursive weighted average of a time series. The add-back problem and the smoothing problem are different tools.

Exam traps on forecasting techniques

  • Adding volume growth and price growth instead of multiplying (1 + g_vol) × (1 + g_price).
  • Copying last year's reported 38.0% margin, write-down and all, into Year 1.
  • Plugging a top-down $89.6 million target on top of a $86.1 million volume × price identity.
  • Using a three-month MA across a holiday without a seasonal adjustment.
  • Treating Forecasting Techniques as optional because "budgeting left core." It is core; the old course name is not.
Loading diagram...
Invert cleaned history into drivers; reconcile top-down with bottom-up; do not let a holiday average overwrite the driver tab
FY2026 gross profit on $86.1 million of sales under four margin choices ($000)
Test Your Knowledge

Apex's FY2025 reported gross margin is 38.0% after a $4.0 million inventory write-down; adjusted gross margin is 43.0%. On an $86.1 million FY2026 revenue forecast, using 38.0% instead of 43.0% understates gross profit by:

A
B
C
D
Test Your Knowledge

Monthly units were 8,200, 8,500, and 11,200. A three-month moving-average forecast for the next month is:

A
B
C
D
Test Your Knowledge

The three-statement invert method for a forecast year is:

A
B
C
D