# Rolling Forecast: [Organisation name] [Cycle, e.g. RF 2027-Q1]

> Driver-based rolling forecast that extends a fixed number of periods
> ahead every cycle: purpose, horizon and cadence, drivers and driver
> owners, the bridge from the previous forecast, revenue, margin, cost,
> headcount and cash outlook, scenarios, forecast accuracy, risks and
> opportunities, and the decisions requested. Written as original
> practice guidance for financial planning and analysis (FP&A); no
> standard prescribes a rolling forecast. Replace every `[bracketed]`
> value and every row marked *Example*. This is a document format, not
> financial, investment, tax, legal or accounting advice.

<!--
Guidance: How to use this template
- A rolling forecast answers "where are we going to land, and what
  should we do about it?" It does not replace the approved budget,
  which stays frozen as the target. Keep both views side by side.
- Fix the horizon (for example six quarters) and add one period each
  cycle, so the organisation always sees the same distance ahead.
- Forecast drivers, not accounts: orders, price, churn, hires, rates.
  The owner of each driver signs the driver, and finance turns drivers
  into the financial statements with the same model as the budget.
- Measure accuracy every cycle (section 8). A forecast nobody measures
  drifts towards optimism or sandbagging.
- The worked example continues the fictional Corvid Commerce Group
  (EUR thousand, financial year = calendar year) from Annual Budget
  (`finance/annual-budget`); first-quarter actuals match Variance
  Analysis (`finance/variance-analysis`).
- Related documents: Monthly Management Report
  (`finance/monthly-management-report`), 13-Week Cash Flow Forecast
  (`finance/13-week-cash-flow-forecast`) for short-term cash, Liquidity
  and Funding Plan (`finance/liquidity-funding-plan`), Financial Model
  Specification (`finance/financial-model-specification`), Unit Economics
  Analysis (`finance/unit-economics-analysis`).
-->

## Document control

<!-- Guidance: Each cycle is a new document ID with the cut-off date of actuals. Keep earlier cycles: accuracy tracking needs them. -->

| Field | Value |
|---|---|
| Document ID | [RF-2027-Q1] |
| Organisation and scope | [Group / Segment] *Example:* Corvid Commerce Group, consolidated |
| Actuals cut-off | [YYYY-MM-DD] *Example:* 2027-03-31 |
| Forecast horizon | [Periods] *Example:* Q2 2027 to Q3 2028 (six quarters, monthly detail for the first two) |
| Cadence | [Monthly / Quarterly] *Example:* quarterly full refresh, monthly flash on revenue and cash |
| Comparison bases | [Budget version], [previous forecast ID] *Example:* BUD-FY2027 v1.0; previous forecast = budget (first cycle of the year) |
| Currency and units | [EUR thousand, budget FX rates unless stated] |
| Version | [0.1] |
| Status | [Draft / In review / Approved / Superseded] |
| Owner | [@head-of-fpa] |
| Approvers/reviewers | [@cfo], [@ceo], [@driver-owners] |
| Last updated | YYYY-MM-DD |
| Classification | [Confidential] |
| Model file | [Path and version] |

### Approvals

| Role | Name | Decision | Date |
|---|---|---|---|
| Chief Financial Officer | [@name] | [Approve / Return] | YYYY-MM-DD |
| Executive committee | [@ceo] | [Noted / Decisions taken, see section 10] | YYYY-MM-DD |
| Board (quarterly, for information) | [@chair] | [Noted] | YYYY-MM-DD |

### Revision history

| Version | Date | Author | Change summary |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [@name] | Drivers collected from owners |
| 0.5 | YYYY-MM-DD | [@name] | *Example:* First consolidation, commerce volume cut after March trading |
| 1.0 | YYYY-MM-DD | [@name] | *Example:* Approved by CFO, presented to executive committee |

## Contents

<!-- Guidance: Keep this list aligned with the headings. -->

1. [Purpose, horizon and cadence](#1-purpose-horizon-and-cadence)
2. [Drivers and driver owners](#2-drivers-and-driver-owners)
3. [Changes since the last forecast](#3-changes-since-the-last-forecast)
4. [Revenue and margin outlook](#4-revenue-and-margin-outlook)
5. [Cost and headcount outlook](#5-cost-and-headcount-outlook)
6. [Cash and liquidity outlook](#6-cash-and-liquidity-outlook)
7. [Scenarios](#7-scenarios)
8. [Forecast accuracy](#8-forecast-accuracy)
9. [Risks and opportunities](#9-risks-and-opportunities)
10. [Decisions requested](#10-decisions-requested)
11. [Process, controls and model governance](#11-process-controls-and-model-governance)
12. [Glossary and references](#12-glossary-and-references)

## 1. Purpose, horizon and cadence

<!-- Guidance: State what the forecast is used for (resource decisions, guidance to lenders or investors, cash planning) because the use sets the horizon, granularity and tolerance for error. Pitfall: a horizon that always ends at the financial year end, so in Q4 the organisation sees only a few weeks ahead. -->

[State the purpose, the decisions this forecast informs and who relies on it.]

*Example:* The rolling forecast gives the Corvid executive committee a six-quarter view of revenue, EBITDA, headcount and cash so that it can redirect spending inside the approved budget envelope, plan hiring ahead of demand and keep liquidity headroom above the treasury limit. It also produces the full-year landing view used in the quarterly board report and in lender updates.

| Design choice | Setting | Reason |
|---|---|---|
| Horizon *(Example)* | Six quarters, always rolling | Covers the next budget year before the budget cycle starts |
| Granularity | Months for the first two quarters, quarters after that | Detail where it can be acted on |
| Cadence | Full refresh each quarter; flash on revenue and cash monthly | Balances effort and freshness |
| Level of detail | Segment, function, entity; not cost centre line items | Forecast what moves the result |
| Currency | Budget rates for comparison; actual rates for cash and covenants | Separates performance from translation |
| Lock date | Working day 8 after quarter close | Allows actuals to settle |

```mermaid
flowchart LR
  A["Close actuals (WD 1 to 5)"] --> B["Driver owners update drivers (WD 3 to 6)"]
  B --> C["FP&A runs model and bridge (WD 6 to 7)"]
  C --> D["Challenge session with owners (WD 7)"]
  D --> E["CFO review and lock (WD 8)"]
  E --> F["Executive committee decisions (WD 10)"]
  F --> G["Accuracy log updated after next close"]
  G --> A
```

## 2. Drivers and driver owners

<!-- Guidance: Each driver has one owner, a unit, a source and a link to the lines it moves. Keep the list short: the ten drivers that explain most of the variance. Pitfall: owners who submit account totals instead of drivers, which makes the bridge in section 3 impossible to explain. -->

| Driver ID | Driver | Unit | Budget (Q2 to Q4 2027) | Forecast (Q2 to Q4 2027) | Owner | Lines moved |
|---|---|---|---|---|---|---|
| DRV-001 *(Example)* | New ARR bookings | EUR thousand | 11,000 | 11,000 | [@cro] | Subscription revenue, commissions |
| DRV-002 *(Example)* | Price uplift on renewals from 1 July | % of renewing ARR | 0% | 3% | [@cro] | Subscription revenue |
| DRV-003 *(Example)* | Gross churn | % of opening ARR, annualised | 4.3% | 4.3% | [@customer-success] | Subscription revenue |
| DRV-004 *(Example)* | Commerce orders | % versus budget | 0% | -3.6% | [@commerce-director] | Commerce revenue, cost of sales |
| DRV-005 *(Example)* | Commerce average order value | EUR | 45.00 | 45.00 | [@commerce-director] | Commerce revenue |
| DRV-006 *(Example)* | Billable services days | days | 40,000 | 42,500 | [@services-director] | Services revenue and cost |
| DRV-007 *(Example)* | Net hires | FTE | 55 | 68 | [@chro] | People cost |
| DRV-008 *(Example)* | Marketing programme spend | EUR thousand | 11,250 | 12,450 | [@marketing-director] | S&M expense |
| DRV-009 *(Example)* | EUR/USD rate outlook | USD per EUR | 1.10 | 1.12 | [@treasurer] | Translation of US revenue and costs, USD cash, covenant tests |
| DRV-010 *(Example)* | Capex phasing | EUR thousand | 9,400 | 9,700 | [@cfo] | Cash, depreciation |

Notes on the example: DRV-009 moves EUR/USD from 1.10 to 1.12 on US subscription revenue of USD 18,480k for Q2 to Q4 (the budget of USD 24,640k less the Q1 USD 6,160k): 18,480 / 1.10 - 18,480 / 1.12 = 16,800 - 16,500 = 300. CC-US sells subscriptions only and US commerce orders are invoiced in EUR by CC-DE, so commerce carries no translation effect. About one sixth of US revenue is matched by costs paid in dollars (Annual Budget ASM-014), so the EBITDA effect is 300 x 5 / 6 = 250. DRV-010: Q1 capex was 1,900 against a budget of 2,600, so Q2 to Q4 spend of 9,700 gives a full-year 11,600, 400 below budget. DRV-006 adds 2,500 days at the budget day rate of EUR 200, or EUR 500k of revenue. DRV-004 removes 3.6% of the Q2 to Q4 commerce budget of 41,600, or about 1,500. Driver definitions and the model logic that links them to the statements belong in Financial Model Specification (`finance/financial-model-specification`).

## 3. Changes since the last forecast

<!-- Guidance: Bridge the full-year result from the previous forecast (or the budget for the first cycle) to this one. Separate actuals already banked from changes in the outlook. Every bar has an owner and a driver. Pitfall: an "other" bar larger than any named bar. -->

### 3.1 Revenue bridge, FY2027

| Step | EUR thousand | Driver | Owner |
|---|---|---|---|
| Budget FY2027 *(Example)* | 160,000 | | |
| Q1 actual versus budget | (800) | Actuals, see `finance/variance-analysis` | [@head-of-fpa] |
| Commerce volume, Q2 to Q4 | (1,500) | DRV-004 | [@commerce-director] |
| Subscription price uplift | 900 | DRV-002 | [@cro] |
| FX translation on US subscriptions | (300) | DRV-009 | [@treasurer] |
| Services days | 500 | DRV-006 | [@services-director] |
| **Forecast FY2027** | **158,800** | | |

Check: 160,000 - 800 - 1,500 + 900 - 300 + 500 = 158,800. Forecast at budget rates (constant currency): 158,800 + 300 (DRV-009) + 100 (Q1 translation, in the Q1 actual) = 159,200.

### 3.2 EBITDA bridge, FY2027

| Step | EUR thousand | Explanation |
|---|---|---|
| Budget FY2027 *(Example)* | 21,600 | |
| Q1 actual versus budget | (150) | Commerce shortfall partly offset by opex savings |
| Commerce volume | (450) | 1,500 of revenue at 30% gross margin |
| Subscription price uplift | 900 | Price falls straight to EBITDA |
| FX translation | (250) | 300 of revenue less 50 of US costs |
| Services days | 150 | 500 of revenue at 30% gross margin |
| R&D hiring re-phased | 300 | Ten Vietnam hires start in October instead of April: 10 x EUR 48k x 6 / 12 = 240, plus 60 of recruiter fees avoided |
| Marketing reinvestment | (1,200) | Second US campaign, decision D-001 |
| **Forecast FY2027** | **20,900** | |

Check: 21,600 - 150 - 450 + 900 - 250 + 150 + 300 - 1,200 = 20,900.

## 4. Revenue and margin outlook

<!-- Guidance: Show actuals, forecast and the comparison bases in one table so readers do not mix them up. Mark actual and forecast periods clearly. Pitfall: presenting the forecast without the budget beside it, which hides the size of the gap. -->

| EUR thousand | Q1 2027 A | Q2 2027 F | Q3 2027 F | Q4 2027 F | FY2027 F | FY2027 B | Var | Q1 2028 F | Q2 2028 F | Q3 2028 F |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue *(Example)* | 36,200 | 38,400 | 40,000 | 44,200 | 158,800 | 160,000 | (1,200) | 41,500 | 43,000 | 44,500 |
| EBITDA | 3,950 | 4,700 | 5,150 | 7,100 | 20,900 | 21,600 | (700) | 5,000 | 5,800 | 6,300 |
| EBITDA margin % | 10.9% | 12.2% | 12.9% | 16.1% | 13.2% | 13.5% | -0.3 pt | 12.0% | 13.5% | 14.2% |

A = actual, F = forecast, B = budget. Quarterly budget for comparison: revenue 37,000, 39,000, 40,000, 44,000; EBITDA 4,100, 5,000, 5,300, 7,200.

| Segment, FY2027 | Budget | Forecast | Variance | Gross margin % forecast |
|---|---|---|---|---|
| Subscription *(Example)* | 96,000 | 96,750 | 750 | 80.1% |
| Commerce | 54,000 | 51,400 | (2,600) | 29.8% |
| Professional services | 10,000 | 10,650 | 650 | 30.2% |
| **Total** | **160,000** | **158,800** | **(1,200)** | |

Subscription: 96,000 + 150 (Q1) + 900 - 300 = 96,750. Commerce: 54,000 - 1,100 (Q1) - 1,500 = 51,400. Services: 10,000 + 150 (Q1) + 500 = 10,650. Gross profit forecast: subscription 76,800 + 70 (Q1) + 900 - 250 (FX net of US costs) = 77,520; commerce 3,290 (Q1 actual) + 12,480 - 450 = 15,320; services 3,000 + 70 (Q1) + 150 = 3,220; total 96,060. Commerce margin is lower than budget because Q1 delivered 29.1% on a weaker mix.

Report revenue also at constant currency (budget rates) and explain the translation effect separately; segment profitability and pricing analysis sit in Unit Economics Analysis (`finance/unit-economics-analysis`).

## 5. Cost and headcount outlook

<!-- Guidance: Forecast cost by function from the hiring plan and committed spend. Show where the forecast uses room inside the budget and where it exceeds it. Pitfall: forecasting cost at budget by default, which hides both underspend and creeping overspend. -->

| Function, FY2027 | Budget | Forecast | Variance | Comment |
|---|---|---|---|---|
| Sales and marketing *(Example)* | 36,000 | 36,850 | (850) | Q1 underspend 350; reinvestment 1,200 (D-001) |
| Research and development | 24,000 | 23,950 | 50 | Q1 overspend 250; hiring re-phase saves 300 (240 people cost, 60 recruiter fees) |
| General and administrative | 14,400 | 14,360 | 40 | Q1 saving 40 |
| **Operating expense before D&A** | **74,400** | **75,160** | **(760)** | |

Check: forecast gross profit equals EBITDA plus operating expense: 20,900 + 75,160 = 96,060, against budget gross profit of 96,000. The commerce shortfall of 450 (Q2 to Q4) and Q1 gross profit shortfall of 290 are offset by price (900), services (150) and FX net (-250): 96,000 - 290 - 450 + 900 + 150 - 250 = 96,060.

| Headcount (FTE) | Opening 2027-01-01 | Q1 actual close | Year end budget | Year end forecast | Variance |
|---|---|---|---|---|---|
| Delivery and customer operations *(Example)* | 160 | 166 | 180 | 182 | 2 |
| Sales and marketing | 200 | 207 | 220 | 220 | 0 |
| Research and development | 230 | 223 | 260 | 260 | 0 |
| General and administrative | 95 | 96 | 100 | 98 | (2) |
| **Total** | **685** | **692** | **760** | **760** | **0** |

The year-end forecast of 760 is 68 above the Q1 close of 692, matching DRV-007; the budget needed 55 net hires from its Q1 close of 705. Research and development reaches its budgeted 260 at year end because the ten deferred Vietnam hires start in October; the saving is in the months they are not on payroll, not in year-end headcount.

## 6. Cash and liquidity outlook

<!-- Guidance: Forecast cash from the forecast P&L, working capital days and capex phasing, at actual FX for cash held in other currencies. Compare headroom with the treasury policy minimum. Pitfall: a P&L forecast with cash left at budget. -->

| EUR thousand | FY2027 budget | FY2027 forecast | Variance | Explanation |
|---|---|---|---|---|
| EBITDA *(Example)* | 21,600 | 20,900 | (700) | Section 3.2 |
| Working capital movement | (2,100) | (2,700) | (600) | Commerce inventory built for the weaker volume |
| Tax paid | (3,300) | (3,300) | 0 | Payments on account fixed for the year |
| Capital expenditure | (12,000) | (11,600) | 400 | Part of CAP-002 moves to Q1 2028 |
| Interest, leases, dividend | (5,800) | (5,800) | 0 | |
| FX on USD cash balances | 0 | (200) | (200) | EUR/USD at 1.12 versus 1.10 |
| **Net change in cash** | **(1,600)** | **(2,700)** | **(1,100)** | |
| Opening cash | 28,000 | 28,000 | 0 | |
| **Closing cash** | **26,400** | **25,300** | **(1,100)** | |
| Less trapped cash (Vietnam deposit account) | (1,000) | (1,000) | 0 | Not freely transferable |
| Undrawn revolving facility | 20,000 | 20,000 | 0 | Counts only if more than 12 months to maturity |
| **Liquidity headroom** | **45,400** | **44,300** | **(1,100)** | Treasury minimum EUR 35,000k |

Check: 20,900 - 2,700 - 3,300 - 11,600 - 5,800 - 200 = -2,700; 28,000 - 2,700 = 25,300; 25,300 - 1,000 + 20,000 = 44,300. Interest in the financing line is net interest (term loan 1,200 plus lease interest 360 less interest received 360), as in Annual Budget (`finance/annual-budget`) section 9.2.

The revolving facility and the term loan both mature on 2028-06-30. The year-end headroom above assumes the refinancing targeted for 2027-06-30 (Annual Budget ASM-013); without it, the facility would have six months to run at 2027-12-31, would drop out of the liquidity definition and headroom would fall to 24,300, below the treasury minimum. Track the refinancing as a forecast milestone each cycle.

$$
\text{Management leverage} = \frac{30{,}000 - 25{,}300}{20{,}900} = \frac{4{,}700}{20{,}900} = 0.22\text{x}
\qquad
\text{Covenant leverage} = \frac{30{,}000 + 6{,}400 - (25{,}300 - 1{,}000)}{20{,}900} = \frac{12{,}100}{20{,}900} = 0.58\text{x}
$$

Management leverage excludes leases; covenant leverage follows the facility definition (lease liabilities of 6,400 at year end included, trapped cash excluded) against a maximum of 3.00x.

The weekly cash view for the next 13 weeks is maintained in 13-Week Cash Flow Forecast (`finance/13-week-cash-flow-forecast`); it must reconcile to the first quarter of this forecast within [tolerance].

## 7. Scenarios

<!-- Guidance: Describe each scenario by the drivers that change, not by a percentage on the result. Give the trigger that would tell you the scenario is happening and the pre-agreed response. Pitfall: downside cases that are only a few percent below base and never test funding or covenants. -->

| Scenario | Driver changes | Revenue FY2027 | EBITDA FY2027 | Closing cash | Management net debt / EBITDA | Covenant leverage |
|---|---|---|---|---|---|---|
| Base *(Example)* | As section 2 | 158,800 | 20,900 | 25,300 | 0.22x | 0.58x |
| Upside | Commerce orders back to budget from Q3; new ARR +10% | 162,000 | 22,300 | 26,600 | 0.15x | 0.48x |
| Downside | Commerce orders -10% for Q2 to Q4; US churn +2 pt; second campaign kept | 153,000 | 18,500 | 22,400 | 0.41x | 0.81x |

Ratios: (30,000 - 26,600) / 22,300 = 0.15x; (30,000 - 22,400) / 18,500 = 0.41x. Covenant leverage adds lease liabilities of 6,400 and excludes trapped cash of 1,000: (36,400 - 25,600) / 22,300 = 0.48x; (36,400 - 21,400) / 18,500 = 0.81x. Even the downside leaves wide headroom to the 3.00x maximum; the binding constraint in every scenario is the refinancing date, not the covenant.

| Trigger ID | Leading indicator | Threshold | Pre-agreed response | Owner |
|---|---|---|---|---|
| TRG-001 *(Example)* | Commerce orders, trailing four weeks versus forecast | Below -8% for two consecutive months | Pause second campaign tranche; cut inventory buy | [@commerce-director] |
| TRG-002 *(Example)* | US logo churn, trailing quarter | Above 2% | Customer success review; delay US sales hires | [@cro] |
| TRG-003 *(Example)* | Liquidity headroom | Below EUR 38,000k forecast | Treasury escalation under the treasury policy | [@treasurer] |

For funding stress tests and committed facility planning use Liquidity and Funding Plan (`finance/liquidity-funding-plan`).

## 8. Forecast accuracy

<!-- Guidance: Measure accuracy at a fixed lag (for example the forecast made three months before the month) and track both size of error and direction. Pitfall: measuring only full-year accuracy late in the year, when most of the year is already actual. -->

Use the following measures, where F is the forecast, A the actual and n the number of periods.

$$
\text{MAPE} = \frac{100\%}{n}\sum_{t=1}^{n}\left|\frac{F_t - A_t}{A_t}\right|
\qquad
\text{WAPE} = 100\% \times \frac{\sum_t |F_t - A_t|}{\sum_t A_t}
\qquad
\text{Bias} = 100\% \times \frac{\sum_t (F_t - A_t)}{\sum_t A_t}
$$

MAPE shows the typical size of error; WAPE weights larger periods more; a positive bias means the forecast is systematically too high (optimism), a negative bias means it is too low (sandbagging).

| Month | Forecast at lag 3 | Actual | Error F - A | Absolute % error |
|---|---|---|---|---|
| Oct 2026 *(Example)* | 11,800 | 12,050 | (250) | 2.07% |
| Nov 2026 | 12,400 | 12,150 | 250 | 2.06% |
| Dec 2026 | 12,900 | 12,700 | 200 | 1.57% |
| Jan 2027 | 12,100 | 11,850 | 250 | 2.11% |
| Feb 2027 | 12,150 | 11,900 | 250 | 2.10% |
| Mar 2027 | 13,300 | 12,450 | 850 | 6.83% |
| **Total** | **74,650** | **73,100** | **1,550** | |

Results for revenue: MAPE = 16.74% / 6 = 2.79%; WAPE = 2,050 / 73,100 = 2.80%; bias = 1,550 / 73,100 = +2.12%, so the forecast has been too high in five of six months. Q1 actuals (11,850 + 11,900 + 12,450 = 36,200) match the variance analysis.

| Measure | Target | Latest | Status | Action |
|---|---|---|---|---|
| Revenue MAPE, lag 3 *(Example)* | Below 3.0% | 2.79% | Met | None |
| Revenue bias, lag 3 | Between -1.5% and +1.5% | +2.12% | Not met | Commerce driver review; owner to show order pipeline evidence |
| EBITDA error, full year at Q2 | Within 5% | [Next cycle] | [Status] | [Action] |
| Closing cash error, quarter | Within EUR 1,500k | [Next cycle] | [Status] | [Action] |

## 9. Risks and opportunities

<!-- Guidance: List items not in the base forecast with a probability and value. Keep the base forecast a best estimate; do not hide contingency in it. Pitfall: listing risks with no owner or date, so they are never closed. -->

| ID | Description | Type | Probability | EBITDA effect FY2027 | Cash effect | Owner | Review date |
|---|---|---|---|---|---|---|---|
| RO-101 *(Example)* | Large US customer delays roll-out | Risk | Medium | (900) | (900) | [@cro] | YYYY-MM-DD |
| RO-102 *(Example)* | Supplier rebate renegotiation | Opportunity | Medium | 600 | 600 | [@commerce-director] | YYYY-MM-DD |
| RO-103 *(Example)* | Excess commerce inventory write-down | Risk | Low | (300) | 0 | [@financial-controller] | YYYY-MM-DD |
| RO-104 *(Example)* | Services day-rate increase for new contracts | Opportunity | Medium | 200 | 200 | [@services-director] | YYYY-MM-DD |

Probability-weighted net effect (medium = 50%, low = 20%): -450 + 300 - 60 + 100 = -110. Use the weighted figure for discussion only; do not add it to the base forecast. Enterprise-level risks go to Risk Register (`compliance/risk-register`).

## 10. Decisions requested

<!-- Guidance: A forecast earns its cost when it changes a decision. List each decision with the option chosen, the effect already included in the forecast and the owner. Pitfall: a forecast presented "for information" every cycle. -->

| Decision ID | Decision | Options considered | Recommendation | In forecast? | Owner | Date |
|---|---|---|---|---|---|---|
| D-001 *(Example)* | Release second US marketing campaign | Release now; release in Q3; cancel | Release now (EUR 1,200k) to protect FY2028 ARR | Yes | [@ceo] | YYYY-MM-DD |
| D-002 *(Example)* | Start ten Vietnam R&D hires in October instead of April | Keep plan; re-phase | Re-phase (saves EUR 300k: people 240, recruiter fees 60) | Yes | [@cto] | YYYY-MM-DD |
| D-003 *(Example)* | Defer part of warehouse automation (CAP-002) | Full spend; defer EUR 400k to Q1 2028 | Defer, subject to capex request | Yes | [@cfo] | YYYY-MM-DD |
| D-004 *(Example)* | Commerce inventory buy for Q4 | Budget volume; forecast volume | Buy to forecast volume | No, saves working capital if taken | [@commerce-director] | YYYY-MM-DD |

## 11. Process, controls and model governance

<!-- Guidance: Show how the forecast is produced and controlled so that reviewers and auditors of management information can rely on it. Pitfall: an untested spreadsheet with manual overrides nobody can trace. -->

- **Single model.** The budget and the forecast use the same model and chart of accounts; structural changes are version-controlled under Financial Model Specification (`finance/financial-model-specification`).
- **Input log.** Every driver change carries the owner, date and evidence (pipeline report, order data, hiring tracker). Manual overrides are logged as OVR-NNN with reason and approver.
- **Reconciliations.** Opening balances agree to the closed ledger; Q1 actuals agree to the management accounts; the first-quarter cash agrees to the 13-week forecast.
- **Review.** FP&A challenge session with each driver owner; CFO review of the bridges; executive committee for decisions.
- **Separation from incentives.** Bonus targets stay on the budget, so owners have no reason to bias the forecast.
- **Retention.** Keep each locked cycle for at least [three years] for accuracy analysis.

| Override ID | Line | Change | Reason | Approved by |
|---|---|---|---|---|
| OVR-007 *(Example)* | Commerce Q2 revenue | (200) | April promotion cancelled after the driver lock | [@head-of-fpa] |

### 11.1 How to complete and review a cycle

Start each cycle from the locked actuals, not from the previous forecast file. Roll the model forward so that the first forecast month is the month after the cut-off, load the closed ledger into the actual columns and confirm that opening cash, debt and working capital balances agree to the balance sheet. Only then send the driver templates to owners. A cycle that starts from last quarter's file tends to carry stale assumptions forward without anyone deciding to keep them.

Ask each driver owner for three things: the new value, the evidence behind it and the reason it changed since the last cycle. Evidence means data that someone outside the team could check: the order pipeline, signed contracts, the hiring tracker with offer dates, supplier confirmations or the treasury rate view. "Management judgement" is acceptable only when it is labelled as such and the owner signs it. Record every driver change in the input log so that the bridge in section 3 can be rebuilt from the log alone.

When the model has run, review the outputs in this order. First, check the bridges: every bar must have a driver ID and an owner, and the sum must equal the change in the result. Second, compare the forecast with the run-rate of the last three actual months; a forecast that jumps above the run-rate needs a named reason (a price increase, a campaign, a contract start). Third, check the cash forecast against the profit forecast: working capital, tax, capex and financing lines must follow from the drivers, not from the budget. Fourth, test liquidity and covenants on the facility definitions, including lease liabilities and the treatment of trapped cash, and check the dates on which committed facilities stop counting towards headroom.

Common errors to look for:

- Translation and performance mixed in one bar. Keep FX in its own bar at a stated rate, and give the constant-currency result alongside the reported one.
- Headcount savings that are really permanent cuts. If hires are delayed, show the months saved and the year-end position separately, as in the R&D example, so that the next budget starts from the right run-rate.
- Risks hidden in the base case. The base forecast is a best estimate; contingencies and stretch items belong in section 9 with a probability, never inside a driver.
- A horizon that stops at a facility maturity or a refinancing date without saying what is assumed after it. State the funding assumption explicitly and test the case where it slips.
- Accuracy measured only on revenue. Track EBITDA and closing cash errors as well, because those are the numbers lenders and the board act on.

Close the cycle by archiving the locked file, the input log and the bridges together under the cycle ID, and by updating the accuracy table in section 8 once the next month closes.

## 12. Glossary and references

<!-- Guidance: Define the measures so that every cycle reports the same thing. -->

### 12.1 Glossary

| Term | Meaning in this template |
|---|---|
| Rolling forecast | Forecast that keeps a constant horizon by adding a period each cycle |
| Driver | Operational variable that determines financial results, such as orders or hires |
| Lag | Number of periods between the forecast date and the period forecast |
| MAPE | Mean absolute percentage error, the average size of forecast error |
| WAPE | Weighted absolute percentage error, total absolute error over total actual |
| Bias | Signed total error over total actual; positive means over-forecasting |
| Bridge | Reconciliation of one result to another by named causes |
| Constant currency | Results translated at budget FX rates |
| Liquidity headroom | Unrestricted cash (excluding trapped cash) plus undrawn committed facilities with more than 12 months to maturity |
| Covenant leverage | Borrowings plus lease liabilities less freely available cash, divided by EBITDA, on the facility definition |

### 12.2 References

| Reference | Version or date checked | Use |
|---|---|---|
| Beyond Budgeting principles, Beyond Budgeting Round Table (bbrt.org) | Principles document dated 2022, checked 2026-10-25 | Context: the principle names Targets, Forecasts, Resource allocation, Performance evaluation, Rewards and Coordination; names only |
| FAST Standard, FAST Standard Organisation | Version 02c, July 2019 (CC BY 4.0), checked 2026-10-25 | Modelling discipline for the forecast model, by reference |
| [Group FP&A manual] | [Version] | Calendar, materiality and override rules |

## Standard and licence note

Structure aligned with common financial planning and analysis practice
for driver-based rolling forecasts; no standard prescribes the format.
The Beyond Budgeting principles and the FAST Standard (version 02c, CC
BY 4.0) are cited by name only; no text from either is reproduced.
Accuracy formulas are general statistical measures. Corvid Commerce
Group and every figure are fictional. This template is original text
written for this collection. Check the current versions of cited
sources before use. Template licence: MIT.
