Sign in

Blog · Board and management reporting · Sales teams

Sales forecasting reports: what to show each review

Sales forecasting reports put the approved forecast, its latest changes and actual sales on one consistent basis. Assemble a review by rep and region, reconcile the totals and show the misses that disappear inside a company average.

The short answerSales forecasting reports show the prior forecast, current baseline and pipeline contribution, latest total, actual sales and the differences between them. Use one sales measure, reporting period and currency throughout. Group the same underlying rows by rep and region, reconcile them to approved source files, and explain material movements before managers act on the headline.

Sales forecasting reports should show what was expected, what changed and what actually sold on the same basis. Build the report from dated source exports, then display both rep and region views. A company total can look stable while large movements cancel underneath it.

Write the report contract first

Put the sales measure, reporting period, currency and forecast timestamps above the numbers. State whether sales means bookings, invoiced sales or recognized revenue. Keep credits, cancellations and exchange-rate treatment consistent with the approved actuals register.

Separate open-period monitoring from a closed-period scorecard. During an open month, actual-to-date cannot be subtracted from a full-month forecast and called a final miss. Show actual-to-date alongside the remaining forecast. Once the period closes, replace that provisional comparison with final actuals and identify the forecast version being scored.

The report assembles approved inputs. It should not silently change the forecast method or reweight opportunities. Keep the method and forecast category definitions in their own documented review, especially where category totals overlap.

Assemble one row per rep and period

Collect the previous approved forecast, current baseline, current pipeline contribution and final sales register. Retain rep ID, region, reporting period and snapshot date with each amount. Use the same ownership rule for every file, or show ownership transfers as explicit movements.

For this report, baseline means the approved sales contribution outside the opportunity contribution shown beside it. The two populations are mutually exclusive. If the business uses a different baseline definition, record that definition before adding its amounts to pipeline.

Create a summary worksheet with one row per rep for the chosen period. Keep the detail behind each component available for drill-down by the reviewer. An empty actuals field means the source has not arrived or has not matched; it does not become zero until someone confirms no sales occurred.

A worked monthly report

A US office supplier reviews September 2026 net bookings. The prior snapshot was September 1; the latest forecast being scored was September 15. Final September bookings are now available. All amounts below are USD and use the same booking policy.

Put this table in columns A-I, with headers in row 1 and rep rows in 2-5. Latest forecast equals baseline plus pipeline; change compares latest with prior; miss compares actual with latest.

Rep Region Prior forecast (USD) Baseline (USD) Pipeline contribution (USD) Latest forecast (USD) Actual bookings (USD) Forecast change (USD) Actual minus latest (USD)
Adams East 250,000 180,000 60,000 240,000 230,000 -10,000 -10,000
Brooks East 150,000 120,000 40,000 160,000 175,000 10,000 15,000
Chen West 260,000 200,000 80,000 280,000 250,000 20,000 -30,000
Diaz West 140,000 100,000 20,000 120,000 135,000 -20,000 15,000
Total 800,000 600,000 200,000 800,000 790,000 0 -10,000

Enter these formulas in F2, H2 and I2, then fill down:

=D2+E2
=F2-C2
=G2-F2

Add percentage miss in J2 and absolute dollar miss in K2:

=IF(F2=0,"",I2/F2)
=ABS(I2)

The total percentage is (SUM(G2:G5)-SUM(F2:F5))/SUM(F2:F5), which returns -1.25%. It divides the $10,000 shortfall by the $800,000 latest forecast. Do not average rep percentages. Dollar amounts here are exact; display percentages to two decimal places.

Reconcile the views and expose cancellation

The latest forecast must tie both to the approved forecast file and to its components: $600,000 baseline plus $200,000 pipeline equals $800,000. Actual bookings must tie to the final register at $790,000. Their difference is -$10,000.

Build a region view from the same summary rows. East's actual bookings use:

=SUMIFS($G$2:$G$5,$B$2:$B$5,"East")

Microsoft's SUMIFS documentation explains summing rows against criteria. Change the summed range to F for the regional forecast. East has $400,000 forecast and $405,000 actual, a $5,000 favorable difference. West has $400,000 forecast and $385,000 actual, a $15,000 shortfall. The regional differences reconcile to -$10,000.

Also test the summary grain. With this single-period worksheet, the following must return TRUE for each row:

=COUNTIFS($A$2:$A$5,A2,$B$2:$B$5,B2)=1

Microsoft documents COUNTIFS as counting entries that satisfy all criteria. A failed check means the rep-region combination needs investigation before its amounts are added again.

The signed rep misses sum to -$10,000, but their absolute values sum to $70,000. Likewise, forecast revisions net to zero while individual reps moved up or down. Ask for the business explanation behind those movements, using a deal-by-deal forecast bridge where appropriate.

Turn the report into a review

Give each material exception a reason, an owner and a next review date. Separate amount changes, timing changes and ownership transfers. A moved close date needs a different discussion from a booking reduction after negotiation.

Keep specialist assumptions out of the general report. Link a promotion-related movement to the promotion forecast review, for example. Once the report definition works, use the principles in assembling a computed sales report to keep the pack consistent across reporting cycles.

Where it goes wrong

  • Version drift. Different teams submit forecasts captured at different times, making their combined change hard to interpret.
  • Double counting. Baseline and pipeline both include the same sale, inflating the latest total.
  • Changing ownership. Reassigning prior results to current reps disguises the original forecast accountability.
  • Headline cancellation. Netting positive and negative misses hides the larger exceptions managers need to investigate.

Covirage is not affiliated with Microsoft.

Review your sales files in Covirage

Bring a sample of your own forecast versions, component detail and sales actuals. Covirage maps the columns, its tools compute and check the comparisons, and the external AI model explains each movement 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 the supporting workflow for sales teams.

Questions people ask

What should a sales forecast report contain?

Show the reporting period, forecast snapshot dates, sales measure and currency, followed by the prior forecast, current components, latest total and actuals. Add signed variances, material explanations and named owners for follow-up. Include source control totals so reviewers can verify the figures.

How often should sales forecast reports be reviewed?

Match the cadence to the decision. A team may review open-period changes weekly and reconcile results after each monthly close. Keep the snapshot timing consistent; otherwise a change in reporting dates can look like a change in performance.

Should actual sales be compared with the latest forecast?

Yes, if the goal is to assess that specific forecast. Keep the original approved forecast available too. Comparing results only with a revision made near period end can hide how much the forecast changed during the month.

Why show both dollar and percentage variances?

Dollar variance shows financial size; percentage variance shows size relative to the forecast. A small territory can have a large percentage miss but a modest dollar impact. Leave the percentage blank when forecast is zero and label the exception.