A B2B agency can produce a forecast every month and still lack forecast governance. One account lead may count a proposal as likely work, a channel specialist may count a form submission, and finance may read the same spreadsheet as a cash expectation. The arithmetic can be correct while the operating model is not.
The guide below treats governance as the system around a forecast: who supplies each input, which evidence is acceptable, how scenarios are labelled, when a change is approved, and what decision follows a review. It is written for agencies managing several client programs or internal growth streams. The examples are illustrative. They are not benchmarks, revenue promises, or client performance claims.
1. Define the forecast object
Start with one sentence: “This forecast estimates [defined outcome] for [scope] over [period] to support [decision].” An agency might forecast planned qualified opportunities for one client portfolio, delivery capacity for a service line, or expected campaign work entering a production queue. These are different objects and should not share an unlabeled total.
Write the exclusions beside the definition. A marketing forecast is not automatically a sales forecast, a cash plan, a media projection, or a promise to a client. If the object changes, create a new version and record why.
2. Map the operating roles
The operating model needs named accountability, not just a shared workbook. Use four roles:
| Role | Responsibility | Evidence they must provide | |—|—|—| | Input owner | Supplies a dated field or assumption | Source record, query, or approved note | | Model owner | Applies the agreed method | Versioned sheet or calculation log | | Challenge reviewer | Tests definitions and exceptions | Review comments and unresolved questions | | Decision owner | Chooses action after review | Decision log with date and scope |
One person can hold two roles in a small agency, but the combination should be explicit. The decision owner should not silently change the model while approving it.
3. Create an input contract
Before choosing a formula, define the minimum input contract. For each field, record its meaning, owner, unit, time window, source, refresh date, and allowed blank state. A client-reported budget, an exported platform event, and an internal capacity estimate should not be blended without labels.
The GA4 Event documentation is useful when describing an observed event, but an event name does not establish that an agency opportunity is qualified. Likewise, Google Ads conversion import guidance describes a transport and mapping task; it is not evidence of incrementality or future revenue.
4. Separate facts, assumptions, and decisions
Use three visibly different columns. Facts are dated observations that another reviewer can inspect. Assumptions are provisional interpretations or planning inputs. Decisions record what the team will do because of the forecast. A percentage copied from last quarter belongs in assumptions unless its population, time window, and measurement method are still comparable.
This separation prevents a neat number from becoming an untraceable authority. It also makes the review faster: the challenge reviewer can focus on assumptions instead of re-litigating every raw input.
5. Use scenarios instead of false precision
An agency usually needs at least a base, constrained, and upside scenario. Define what changes between them: available delivery capacity, approved budget, response time, conversion definition, or the inclusion of a client stream. Do not create a range merely to make uncertainty look quantitative.
| Scenario | Allowed evidence | Planning use | Stop condition | |—|—|—|—| | Constrained | Confirmed inputs only | Protect capacity and commitments | Required field is missing | | Base | Confirmed inputs plus named assumptions | Select the next operating action | Assumption ages past review date | | Upside | Explicit enabling condition | Test what would be possible | Enabler is not approved |
The scenario label should travel with the number wherever it is presented.
6. Design the calculation boundary
Write down which transformations are permitted. For example, a forecast may group records by service line and period, but it may not convert a lead count into revenue without a separately approved commercial method. Keep rounding, exclusions, deduplication, and late-arriving data visible.
If a formula changes, preserve the prior result and show the bridge to the new result. A difference caused by a definition change should not be narrated as market movement.
7. Add a quality and correction trail
The NIST Information Quality Standards provide a useful lens for asking whether information is objective, useful, integral, and correctable. An agency can adapt that lens into a lightweight record: source, owner, known limitation, correction path, and last challenge.
Do not imply that a government information-quality framework certifies an agency forecast. It is a prompt for disciplined handling of evidence. When a client corrects a source value, retain the correction note and identify which scenario or decision changed.
8. Set privacy and client-boundary rules
Forecast inputs can contain account names, contact details, budget information, or sensitive project context. The NIST Privacy Framework can help a team ask why a field is needed, who can access it, how long it is retained, and how a correction request is handled. It does not authorize an agency to collect or reuse client data.
Use a minimum-data rule: keep the forecast at the level required for the decision. Replace personal details with an account or workstream identifier when names do not affect the calculation. Record the client permission boundary separately from the model output.
9. Establish the review cadence
A practical cadence has three layers. The input owner checks freshness before the weekly operating review. The model owner publishes a versioned view before the monthly decision meeting. The decision owner performs a quarterly method review or an earlier review after a material scope change.
At each meeting answer four questions: what changed, which evidence supports it, which assumption is now weakest, and what action follows? The GOV.UK Measuring Success guidance is a useful process reference for connecting measures to decisions; it is not an agency benchmark.
10. Define an exception path
Do not force a disputed input into the model just to meet a reporting deadline. Mark it as an exception, name the owner, preserve the last accepted value, and state the decision that is paused or bounded. The exception reviewer can approve a temporary assumption, reject the input, or defer the forecast.
An exception should expire. Add an evidence request and a due date. If the same exception recurs, treat it as an operating-model defect rather than a permanent footnote.
11. Walk through a hypothetical agency
Imagine an agency forecasts delivery demand for paid search, content, and lifecycle work across five B2B clients. One client changes the definition of a qualified opportunity; another sends a late budget update; an internal team loses a specialist for two weeks. The model owner keeps three scenarios instead of rewriting the base case.
The input owner logs the definition change and the budget date. The challenge reviewer asks whether the affected records can be compared with the prior period. The decision owner protects the constrained scenario, requests a capacity trade-off, and records that the upside scenario is not approved. No one presents the scenario as a client result.
12. Use a decision-ready operating model
The model is useful when each output points to a decision. A capacity signal may trigger a staffing review; a stale input may trigger a data request; a definition change may trigger a reporting freeze. A dashboard that only displays a moving line has not yet established governance.
Keep the decision log beside the forecast version. Record the question, evidence considered, scenario selected, dissent or limitation, owner, and review date. This makes handoffs possible when an account lead changes.
13. Copy-ready blueprint
“`text Forecast object and excluded scope: Period and population: Decision this forecast supports:
Input contract:
- Field / meaning / owner / source / refresh date / blank rule:
Scenario register:
- Constrained condition and stop rule:
- Base assumptions and review date:
- Upside enabling condition and approval:
Model version and calculation boundary: Known limitations and correction path: Privacy and client-permission boundary:
Review cadence: Exception owner and expiry: Decision taken / date / next evidence request: “`
The operating model should make uncertainty legible, not hide it. When the agency can trace an input to evidence, an assumption to an owner, and a scenario to a decision, the forecast becomes a governed planning instrument rather than an impressive but fragile number.
How did this article land?
Choose one reaction. You can change it anytime.