A forecast is a decision range, not a revenue promise.

Planning starts with business economics and operating capacity rather than a trend line. Each assumption is documented, each scenario has a range, and the budget has clear rules for when to hold, move, or stop spend. For teams with a real spend or allocation decision pending and a named owner who can approve it.

A budget plan you can defend in the room: the range, the assumption behind it, and the exact evidence that would change it.

A strategist plotting a paid-search budget scenario fan across conservative, base, and upside ranges

Some of the 500+ brands we've worked with

See all references
  • GE
  • Odeabank
  • Marble Systems
  • Ajansspor
  • Armut.com
  • S Sport Plus

The scenario ledger shows where every assumption came from and what changed between versions. AI can calculate ranges, compare inputs, and flag variance. It cannot approve an assumption or make a live budget change.

How we hold ourselves to it

  • Assumptions stay beside every range
  • The next unit earns its allocation from current evidence
  • Pacing safety has its own rules
  • A named person approves each material change
  1. Frame the decision

    Name the decision, its owner, the time horizon, the spend envelope, and how much risk the business will tolerate. Note what the model is not being asked to decide.

    Approved decision contract naming the owner, horizon, spend envelope, risk tolerance and what the model is not deciding.

    AI assist
    Structures the supplied notes and flags a missing input.
    Human gate
    Client budget owner approves the decision contract.
    Owners
    Strategy lead + client budget owner
  2. Audit the data and the assumptions

    Normalize the economics, media history, quality signals, seasonality, and constraints. Reconcile the totals that matter and grade how much confidence each assumption deserves.

    Reconciled input set with each assumption graded for confidence and each exclusion recorded.

    AI assist
    Flags inconsistent periods and prepares a sensitivity check.
    Human gate
    Strategy lead validates the source choices and exclusions.
    Owners
    Strategy lead + analytics lead
  3. Build three scenarios

    Calculate a conservative, base, and upside case, each with its own spend, outcome range, limiting constraint, cash timing, and uncertainty.

    Conservative, base and upside cases, each with its spend, outcome range, limiting constraint, cash timing and uncertainty.

    AI assist
    Runs the approved formulas across all three cases.
    Human gate
    Human strategist owns the formulas and their interpretation.
    Owners
    Strategy lead + finance sign-off
  4. Design the allocation

    Set engine roles, query-family priorities, capacity limits, and a protected learning budget, then build the waterfall, caps, and pacing rules underneath them.

    Allocation design: engine roles, query-family priorities, capacity limits, protected learning budget, caps and pacing rules.

    AI assist
    Checks the draft allocation against the approved constraints.
    Human gate
    Paid-search lead proposes the allocation. Client owner approves it.
    Owners
    Paid-search lead + client owner
  5. Hand off and pace the spend

    Give native teams the approved budget, dates, limits, and trigger matrix, then watch delivery and cost daily and separate a real safety issue from ordinary variance.

    Handoff pack with the approved budget, dates, limits and trigger matrix, plus the daily pacing record.

    AI assist
    Triages alerts and drafts a variance explanation.
    Human gate
    Authorized humans apply every live change and approve corrective action.
    Owners
    Media specialist + client budget owner
  6. Reforecast

    When the evidence or an assumption changes materially, version the model, show exactly what moved, recalculate the ranges, and record the keep, move, or stop decision.

    Versioned model showing exactly what moved, the recalculated ranges and the keep, move or stop decision.

    AI assist
    Calculates the approved sensitivity set.
    Human gate
    Strategy lead and client budget owner approve the new version.
    Owners
    Strategy lead + client budget owner

The assumption register, scenario model, pacing sheet, and decision log show the input behind every version of the plan.

  • Assumption register

    Every input with its source, owner, date, and confidence, keeping an observed value, a business choice, and a modeled guess clearly separated.

    Accepted when

    Every input names its source, owner, date and confidence, and an observed value, a business choice and a modeled guess are never merged into one row.

    Cadence: Built at setup

  • Three-scenario model

    Conservative, base, and upside spend-to-outcome ranges, each naming what has to stay true and the constraint that hits first.

    Accepted when

    Each case states what has to stay true and which constraint hits first, and no case is presented as a promised outcome.

    Cadence: Every reforecast

  • Budget waterfall and pacing sheet

    The approved envelope split by engine, campaign or query family, and time period, with caps, reserve, expected range, actual delivery, and variance beside each line.

    Accepted when

    Every line carries its cap, reserve, expected range, actual delivery and variance under the definitions the plan was built on.

    Cadence: Weekly pacing review

  • Reforecast and decision log

    A record of what changed, why the range moved, and which keep, move, or stop action was approved, so the plan's history stays visible.

    Accepted when

    Each version records what changed, why the range moved, and which keep, move or stop action the budget owner approved.

    Cadence: Monthly, or when triggered

One forecast number cannot represent every quarterly constraint. A single figure for next quarter's search budget is easy to circulate. It also hides the assumptions behind the range. Margin, capacity, saturation, and cash timing disappear, and the figure starts to look like a promise nobody meant to make.

A good fit when

  • A real spend or allocation decision is pending, but the person accountable for cash timing, margin, and capacity still needs a reviewable range.
  • Your commercial and media history is imperfect yet usable, so the model can show its uncertainty beside each assumption and range.
  • You want the assumptions beside the budget range, so everyone can see which evidence would move or stop spend.
  • Last year's percentage split carries into this year's plan without anyone checking whether the constraint behind it has changed.
  • Nobody can say whether the forecast means gross revenue or margin, or what happens to cash when spend and revenue land in different months.
  • A platform simulator's directional estimate gets treated as a guarantee.
  • Budget keeps going to last period's winner even when current evidence points elsewhere.

Better handled as other work when

  • The team needs one exact budget figure regardless of the evidence, so a scenario model with conservative, base, and upside ranges will not answer the brief.
  • Conversion value or sales capacity is still undefined, which means spend cannot be connected to a stated business outcome with a defensible assumption.
  • Nobody can decide on cash timing, margin, or capacity, so the budget owner and finance sign-off must be settled before a range can be approved.
  • Optmyzr

    runs the three scenarios against real projected spend before any budget actually moves

  • TrafficGuard

    checks whether the spend and conversion history feeding the forecast is even clean

  • Looker Studio

    the pacing view the budget owner checks between the scheduled reforecasts

Bring us your economics, paid-search history, and capacity. We'll build a scenario model the budget owner can question line by line.
Plan PPC budget with Zeo

One number hides how sensitive it is to demand, cost, conversion, quality, capacity, and measurement. Conservative, base, and upside scenarios show what has to be true for each case, and what would make us stop.