← All case studies

Case study · B2B SaaS · Demandbase

One forecast instead of five

Sales, finance and leadership each had a forecast number, and none of them could say how accurate last quarter's call had been. I turned the forecast into something the CRM records, snapshots and scores.

Company
B2B SaaS, account-based marketing platform
My role
[your title], Revenue Operations
Stack
Salesforce · SQL · Power BI · CRM Analytics

Draft, not yet verified. Written from the typical scope of this role, not from records. Before publishing: correct anything that isn't what you actually did, replace each highlighted [number] with a figure you can defend in an interview (or a plain description of the change, never an estimate), then delete this note.

01 · The problemThe forecast was a meeting, not a dataset

Every week, managers rebuilt the forecast from rep spreadsheets and their own adjustments. Forecast categories in Salesforce weren't tied to stages, so “Commit” meant something different to every rep. Nothing recorded what was called, so by the end of the quarter nobody could check how close the week-one call had been.

Leadership got one number from sales, another from finance and a third from the board deck, and the weekly meeting started with reconciling them.

02 · What I builtA forecast the CRM records and scores

  • Written definitions first. Commit, Best Case and Pipeline were defined against stages and agreed with sales leadership and finance before anything was built.
  • Forecast categories mapped to stages in Salesforce, with overrides allowed but tracked, so a rep's judgment call was visible as a judgment call.
  • A nightly snapshot of open opportunities (stage, amount, close date, category) into a history table, so the call on any day could be reconstructed.
  • An executive forecast view in Power BI: call against quota, week-over-week changes, slipped deals and coverage by segment. Front-line managers got a CRM Analytics version inside Salesforce.
  • Forecast accuracy measured at week one (1 − |call − actual| ÷ actual), so the team could see whether its calls were getting better.

03 · StackWhat it ran on

LayerToolUsed for
CRMSalesforceStage-to-category mapping, validation rules, override tracking
ModelingSQLSnapshot history, call reconstruction, accuracy and slippage
Executive viewPower BILeadership and board-prep forecast pages
Manager viewCRM AnalyticsIn-Salesforce pipeline and deal inspection

04 · What changedOutcome

  • Weekly forecast prep went from [before, e.g. a day] to [after, e.g. an hour].
  • The forecast view was used by [N managers / leaders] in [which meeting].
  • Week-one forecast accuracy became a tracked number: [accuracy before → after, or describe].
  • One number reached the board deck, tied back to the CRM.

Company data is not shown. The demo on this site uses the same approach on a simulated company: see the forecast view.