Blog · Forecast and pipeline · Sales teams
CRM forecasting compares a frozen opportunity forecast with the sales that actually closed. Build the review from dated exports, preserve the original team and category, and reconcile every movement to an opportunity.
CRM forecasting is reviewable when a dated opportunity export can be reconciled to the sales that eventually closed. Freeze the forecast inputs, keep the same sales measure on both sides, and separate later arrivals from opportunities already visible. A current opportunity list cannot reliably reconstruct an earlier forecast.
Write the target period, snapshot date and measure above the worksheet. For this example, a US industrial supplier reviews September 2026 net bookings against its September 1 forecast. All amounts are USD, after agreed booking adjustments; accounting revenue is outside this comparison.
The forecast contribution is the amount management included for each opportunity. It might come from an approved weighting or a documented override. Do not apply another probability to an amount already weighted. The comparison of sales forecasting methods covers method selection; this workflow tests the result your team supplied.
Agree whether forecast categories are mutually exclusive. A cumulative total labeled best case may already include commit. Use the underlying opportunity rows once, with their original category, rather than adding overlapping totals. Keep the definitions in your sales forecast categories review.
Keep an untouched forecast export with snapshot timestamp, opportunity ID, owner, team, category, amount, expected close date, currency and approved contribution. Save the results export separately with opportunity ID, actual close date, outcome and booked amount.
Use opportunity ID to assemble a comparison worksheet. Start with the union of IDs in both files, so an opportunity missing from either side remains visible. Preserve original team and category for evaluating the forecast. Add current ownership in separate columns if managers also need an accountability view.
Check the source key before joining amounts. On a sheet called Snapshot, put snapshot timestamp in column A and opportunity ID in B. This Excel formula must return TRUE for each populated row, after filling down across the export:
=COUNTIFS($A$2:$A$10000,A2,$B$2:$B$10000,B2)=1
Microsoft documents COUNTIFS as counting rows that meet all supplied criteria. Here it checks that the same opportunity does not appear twice within a snapshot. If the export has product lines, aggregate those lines to opportunity level before applying this rule.
The table below is the assembled comparison, with headers in row 1 and opportunities in rows 2-7. A106 was created after September 1; its opening amount and contribution are explicitly zero because it was absent from that snapshot.
| Opportunity | Original team | Original category | Snapshot amount (USD) | Forecast contribution (USD) | September outcome | Actual close date | September bookings (USD) |
|---|---|---|---|---|---|---|---|
| A101 | East | Commit | 120,000 | 120,000 | Won | September 18, 2026 | 118,000 |
| A102 | East | Best case | 80,000 | 40,000 | Slipped | Not closed | 0 |
| A103 | West | Commit | 100,000 | 100,000 | Won | September 22, 2026 | 100,000 |
| A104 | West | Pipeline | 60,000 | 15,000 | Won | September 29, 2026 | 50,000 |
| A105 | West | Excluded | 40,000 | 0 | Lost | September 24, 2026 | 0 |
| A106 | East | New after snapshot | 0 | 0 | Won | September 30, 2026 | 30,000 |
| Total | 400,000 | 275,000 | 298,000 |
With columns A-H as shown, calculate the signed dollar miss and percentage miss:
=SUM(H2:H7)-SUM(E2:E7)
=(SUM(H2:H7)-SUM(E2:E7))/SUM(E2:E7)
Actual bookings exceed forecast by $23,000, or 8.4%, rounded to one decimal place. Positive means actual is higher. The $400,000 opportunity amount is a control on the exported population, not the forecast denominator.
For East's forecast and actual respectively, use:
=SUMIFS($E$2:$E$7,$B$2:$B$7,"East")
=SUMIFS($H$2:$H$7,$B$2:$B$7,"East")
Microsoft's SUMIFS guidance describes summing amounts that meet criteria. Keep the amount and criteria ranges aligned. East has forecast bookings of $160,000 and actual bookings of $148,000; West has $115,000 and $150,000. Their misses of -$12,000 and $35,000 add to $23,000.
First, the forecast contributions must equal the approved September 1 forecast. Second, actual bookings must equal the final September bookings register, including credits or cancellations under the same policy. Explain unmatched IDs and any manual adjustment rather than forcing an unexplained balancing row.
Then inspect the movement by original category. Commit contributes -$2,000, best case -$40,000, pipeline $35,000, excluded zero and later arrivals $30,000. These movements sum to $23,000.
The original cohort closed $268,000 against $275,000 forecast, a $7,000 shortfall. Later arrivals supplied $30,000 and reversed the overall direction. The useful question is whether managers could reasonably have seen those arrivals, rather than whether the headline result happened to beat forecast. Put this distinction in the sales forecasting report that accompanies the review.
Covirage is not affiliated with Microsoft.
Bring a sample of your own frozen opportunity forecast and closed-results export. Covirage maps the columns, its tools compute and check the comparisons, and the external AI model explains the movements with every figure traced to its rows. Create a free Covirage account; account creation takes about a minute, then you set up your business and bring your files.
See how this supports forecast analysis.
Include snapshot date, opportunity ID, owner, team, forecast category, amount, expected close date, currency and the approved forecast contribution. The results export also needs actual close date, outcome and booked amount. Keep category definitions and the sales measure alongside the files.
A snapshot preserves what the team knew at the review date. A current export can contain revised amounts, new owners and changed categories. Comparing those updated fields with final sales measures the latest record rather than the original forecast.
Only when the company has explicitly defined and reconciled that relationship. A closed-won booking can cover a contract whose revenue is recognized later. Compare bookings with bookings, or build a separately approved mapping to the accounting measure finance uses.
Keep them in the final sales reconciliation but label them as later arrivals. Give them no original forecast contribution. That preserves the complete actual result while showing whether the opening opportunity cohort performed as expected.