Build and Review a Forecast
Establish the cash baseline, add explicit assumptions, and interpret uncertainty without confusing forecast and actuals.
This guide builds a decision-ready cash-flow forecast under Finances → Forecast.
Before you start
- Use an Owner or Member account.
- Confirm Forecast is enabled for the workspace.
- Connect and enable the bank accounts that represent available cash.
- Sync enough revenue and expense history to establish a baseline.
- Decide which currency and time horizon the decision requires.
The Forecast workbench is not available as a public report. It runs against team data and requires workspace access.
1. Open the baseline
- Select Finances.
- Select Forecast.
- Choose 6 months, 12 months, or 24 months.
- Wait for Ending cash, Runway, Risk, and Net impact to finish loading.
The page automatically computes:
- a no-driver baseline
- the current active plan
- a defensive comparison plan
With no assumptions, the active plan uses the baseline result.
2. Verify the inputs
Before changing a lever:
- Check Ending cash and Minimum balance for plausibility.
- Confirm the displayed currency.
- Review Scenario cash trajectory.
- Confirm Assumptions active is 0.
- Check Run history → Forecast accuracy.
Accuracy states:
- Bands calibrated ✓: calibration completed
- coverage N%: measured confidence-band coverage
- Not enough history yet: history could not support calibration
- Last calibration failed: the latest pass failed
- No calibration yet: no pass exists
Do not treat a calibrated band as a guarantee. It explains model evaluation, not certainty.
3. Decide whether to model payment behavior
Turn on Model real payment behavior when expected collections should reflect observed client payment lag and promise reliability.
When the adjustment is used, the page shows the invoice count, total shifted cash, and reliability haircut.
Leave it off when you need the unadjusted date-based baseline for comparison. This control changes expected collection timing; it does not change invoices or bank records.
4. Add assumptions
Under Assumption builder, choose a group:
- Revenue: Revenue shock, Revenue growth, Clients cancelling
- Team: Headcount change, cost per hire/month, start, and ramp
- Spend: Expense surge and One-time expense
- Timing: Collections delay, Collections acceleration, Recovery rate change
- FX: FX shock currency, percentage, and Sticky or Spot mode
Set only the drivers needed for the decision. The page refreshes the active plan automatically after a short debounce; there is no explicit run button for the live scenario.
Use Quick presets for a known starting point, then refine:
- Revenue drop
- Expense spike
- Hiring plan
- Slow collections
- Collections recovery
- Defensive cost plan
- Severe stress test
Selecting a preset replaces the current assumption set.
5. Validate active assumptions
Confirm:
- the N active badge matches the intended number of drivers
- Active assumptions lists every driver
- percentages have the correct sign
- start offsets and durations are correct
- headcount and monthly cost are both present
- one-time expense has both amount and date
- FX has a three-letter currency and relevant exposure
Use Reset for one lever or Reset all assumptions for a clean baseline.
6. Read the forecast answer
The headline tells you whether median cash remains positive or identifies the first median breach month.
Review these together:
| Metric | Interpretation |
|---|---|
| Ending cash | Active scenario median ending balance and difference from baseline. |
| Minimum balance | Lowest active-scenario balance and its month. |
| Runway P10 | Conservative runway outcome. |
| Runway P50 | Median runway outcome. |
| Runway P90 | More favorable runway outcome. |
| Cash-negative odds | Probability that at least one month has negative cash. |
| Revenue impact | Active scenario's revenue difference from baseline. |
| Net impact | Active scenario's net cash-flow difference from baseline. |
>N mo means no breach occurred within the N-month horizon.
Risk bands are:
- Low: below 10%
- Moderate: 10% to below 25%
- High: 25% to below 50%
- Critical: 50% or more
7. Inspect timing and tradeoffs
Use:
- Cash runway decision timeline for the first Watch, High, and Critical points
- Scenario comparison matrix for Baseline, Active plan, and Defensive plan
- Cash pressure by month for cash-negative and net-negative odds
- Revenue, expenses, and net for projected operating movement
- Scenario delta vs baseline for monthly change caused by assumptions
- Risk odds by month for tail risk
- Scenario variance by month for inflow, outflow, net, and cash deltas
The variance table shows at most the first eight monthly rows. Use the charts for the full horizon.
8. Save a reusable scenario
- Engage at least one assumption.
- Select Save current.
- Enter a name of up to 200 characters.
- Select Save.
- Select Run on the saved row to recalculate against the latest history.
Load restores the saved drivers and horizon into the live workbench. It does not merge them with current levers.
Delete removes the saved scenario.
Saving a scenario is different from changing a named budget version under Finances → Budgets.
9. Verify the forecast
A reviewable forecast has:
- plausible connected starting cash
- a horizon that covers the decision
- baseline and active plan in the same currency
- explicit and verified assumptions
- P10, P50, P90, and breach probability reviewed
- a known first pressure month
- a response or mitigation compared with the downside
- a saved name when the team needs to revisit the case
Data freshness and persistence
- Live baseline and active scenarios rerun when horizon, assumptions, reporting inputs, or payment-behavior overlay changes.
- Live workbench runs are requested without saving the forecast as a durable scenario definition.
- Save current stores the definition.
- Run on a saved scenario refreshes that row's latest result summary against current history.
- Run history shows persisted forecast-run records returned by the workspace, which can include scheduled baseline and scenario run types.
- The Forecast page has no universal source-sync timestamp. Validate bank connections and transaction history separately.
Keep forecast separate
- Forecast values are not observed actuals.
- A saved scenario is not a budget scenario.
- A budget is not automatically imported into Forecast.
- Invoice behavior can adjust collection timing, but Forecast does not update invoice status.
- A copied forecast URL preserves assumption state for a teammate with access; it is not a public share.
Troubleshooting
Not enough history to forecast
Check connected accounts and recorded revenue and expenses. Expand the underlying reporting history before relying on the model.
Forecasting is not enabled
Confirm the workspace has Forecast access and use an Owner or Member account. Viewers cannot execute a forecast run.
Values change but Assumptions active stays at zero
Confirm the lever is non-neutral. A one-time expense needs amount and date; an FX shock needs currency and a nonzero percentage.
Saved result is stale
Select Run on the saved row. Load restores inputs but does not by itself update that row's saved summary.
Runway differs from Reports
Reports shows runway at current burn. Forecast uses a probabilistic revenue-and-expense model plus active assumptions. Confirm period, currency, cash accounts, and driver state before comparing.