Forecast

Overview
The forecast answers one question: what is coming in, and when? It distributes the open deals across their expected close month and totals them in several readings.
Several readings, because a single figure is either too optimistic or too pessimistic. Looking only at the unweighted pipeline means planning with money that mostly never arrives; looking only at the worst case means forgoing investments that were long since covered.
Core tasks
Tell the readings apart. The header carries:
| Figure | What it says |
|---|---|
| Pipeline (unweighted) | the sum of all open deals — the upper bound |
| Weighted | amount times the stage's probability — the calculated expected value |
| Best case | the salespeople's optimistic judgement |
| Worst case | the cautious judgement |
| ARR won / ARR open | recurring annual revenue, closed and still open |
Weighted is arithmetic; best and worst case are judgement. When they diverge widely, that is the real message: either the stage probabilities are wrong or the categories are set too optimistically.
Read by close month. The breakdown shows the open and the weighted amount per month. Deals without an expected close date appear separately under No date.
That group is the most important thing on the page: every deal in it is missing from every monthly plan. Keeping it empty costs little and is the single most effective measure for a dependable forecast.
Filter. The bar at the top narrows the report — empty fields mean "all":
| Filter | Effect |
|---|---|
| Pipeline | only deals of this pipeline |
| Brand | only deals of this brand; brands where you do not hold crm.forecast.view return no figures |
| Owner | only deals of this salesperson |
| Period from / to | open deals with an expected close in the period; won and lost deals closed in the period |
The period uses the reference date per deal type: open deals count at their expected close date, won deals on the day they were won, lost deals on the day they were lost. A deal won in September that was planned for July therefore counts in September. Open deals without an expected close date fall out of every period.
Read the history. Below the monthly breakdown, Weighted pipeline history shows the stored metric snapshots of the last twelve months: the weighted pipeline per closing month as the nightly reporting run recorded it. These values are not recalculated on every request — the current and the previous month are refreshed every night, older months stay frozen. With a brand filter the history shows that brand's snapshots; an owner filter does not apply here, because snapshots are kept per brand or in total.
Fields in detail
This page has no input fields — it calculates. The figures below come from the deals; changing them means changing those.
| Figure | What it comes from | What it means |
|---|---|---|
| Pipeline | sum of valueAmount across all open deals | Everything in play, without any weighting. |
| Weighted | valueAmount × probability per deal | The expected value. The most realistic single number on the page. |
| Best case | open pipeline + already won | The ceiling if everything lands. |
| Commit | deals with forecastCategory = commit | What sales is willing to stand behind — deliberately smaller than the weighted figure. |
| Period | expectedCloseDate | Which month or quarter a deal counts in. Without a date it counts in none. |
| Per owner | ownerId | The same calculation, split across the sales people. |
Settings & permissions
- Module
module.crm. - Permission
crm.forecast.view. The brand filter cuts at the permission, not at the membership:
a brand in which you do not hold crm.forecast.view stays empty.
- History: module
module.reportingand permissionreporting.dashboard.view; amounts only with
reporting.kpi.financial, otherwise a dash appears. The overall total is visible only to users entitled across brands — brand-bound users pick their brand.
- Deal visibility still applies. Without
crm.deal.view_allthe forecast shows your own deals —
the figures are then yours, not the organisation's.
- The probability comes from the stage, maintained under CRM settings.
FAQ & troubleshooting
The forecast is lower than expected. Check No date first. Deals without an expected close fall out of the monthly distribution.
My figures differ from the sales manager's. Visibility probably differs: with crm.deal.view_all you see every deal, without it only your own.
Weighted and best case are far apart. That is a statement, not a fault — the stage probabilities and the human judgements contradict each other. Both deserve review.
The history is empty. Snapshots are created by the nightly reporting run. Right after setup there are none yet; from the first night on, the current month fills up.
The history differs from the monthly breakdown. Intended: the breakdown calculates now, the history shows the stored state of last night.
A won deal is missing from the pipeline. Correct — the pipeline shows open deals. Won ones appear in the ARR and under Funnel & analysis.