TaskbyTask.Practical AI guides for work
HubSpot, with ChatGPT, Claude, Gemini or Copilot · Practical walkthrough

Check a forecast narrative against the deals underneath it

The forecast note says both renewals land this month and Ashford is only a fortnight late. It reads well. Whether the deals underneath agree is a separate question.

Task by Task15 min read + practice
Cargo waits on a platform beside a station clock without hands.

What you'll make

a claim-by-claim check of a forecast note against its deals, with the evidence for each claim and the questions to ask before you rely on it.

What you'll need

the forecast note, a dated export or excerpts of its deals, the earlier snapshot for any claim about movement, and a work AI account allowed to handle those records. Know the period, currency and whether amounts are weighted. About 20 minutes.

Example result.

Claim Record says Verdict
Brennan closes in October Target 22 Oct; no signature date agreed Target, not commitment
Both renewals close in October A closed 30 Sep; B targets 14 Jan Not supported
Ashford slipped a fortnight Now 9 Dec; earlier date not supplied Can’t be checked
Calderstone is back on No matching record Coverage gap

This checks whether the records support the wording. It doesn’t predict which customer will sign, or validate revenue for financial reporting.

1. Fix the period and collect the same deals

Write the forecast period and snapshot date at the top of your working note: “October forecast, records as at 6 October” beats “latest pipeline”. Keep the submitted amount, the narrative and any list of deals the submission includes together.

In HubSpot (Sales Hub or Service Hub Professional or Enterprise, with a Sales or Service seat and Forecast permissions), open More › Sales › Forecast, or Sales › Forecast if there’s no More. Set the period and pipeline, then select a user to see their deals. Two signals help: a green or red dot under a deal stage means the stage moved forward or back within the selected close-date range, and a green or red caret under a weighted amount means it rose or fell. View history shows past submissions, up to a year back. A dot tells you something moved, not by how much.

You don’t need a CRM AI feature. An export or labelled excerpts in a work chat is enough. Include deal IDs, close dates, amounts, stages, dated notes and the earlier close date for any claimed delay.

Why this works: most disagreements between a note and a pipeline are about which deals and which dates, not about the arithmetic.

What you should see: one period, one snapshot date and the same set of deals the note describes.

2. Split the claims and line up the evidence

“Brennan and both renewals should close in October, and Ashford has slipped only a fortnight” is four claims wearing one coat. Ask the assistant to separate them before any verdict:

Check this forecast narrative against the deal records. Period, snapshot date, currency and amount basis: [period details].
Split the narrative into individual claims. For each, show the matching deal ID or name, the exact record values or a short excerpt, the source date, and any missing evidence or conflict.
Separate a recorded target date from a customer commitment. For any claim about movement, show both the earlier and the later value; if one is missing, say the movement can't be checked.
Don't predict outcomes, assess people or invent reasons for a change. Keep unmatched deals visible. Don't update or submit anything.

[narrative, current records, and earlier records or "not available"]

[period details] is, for example, “October 2026; 6 October; GBP; unweighted”.

Why this works: a confident paragraph seems more coherent than its evidence. One claim per row makes each one checkable, and the two-value rule stops a single date standing in for a movement.

What you should see: one row per claim, with record values beside it and gaps named.

3. Check each claim and reconcile the total separately

Open each source before marking a claim supported, contradicted or unresolved. Use “supported” narrowly: a target date supports “the record targets 22 October”, not “the customer will sign on 22 October”.

For the total, use a spreadsheet or the CRM’s own calculation with the same filters and basis, and check:

  • every included deal is listed once, with a close date inside the period;
  • closed-won and open deals aren’t mixed;
  • currency and weighting are consistent. No deal has ever closed at 60%;
  • the deal set reconciles to the submission, or you know what’s missing.

Why this works: an unreconciled difference may be a missing record, a different filter or a judgement call the note hasn’t explained. It’s a question, not a correction.

What you should see: each claim marked, and a total you’ve recalculated or a precise question about the gap.

4. Rewrite the wording to match the evidence

Revise only these forecast claims: [claims]. Use the checked evidence below. Separate recorded targets, customer statements, internal expectations and unresolved items. Keep the period, currency and amount basis. Don't replace uncertainty with reassuring language or change the forecast amount.

[checked evidence]

Why this works: the revised note tells the owner exactly what to check, instead of the reviewer pretending to know what will close.

What you should see: shorter, less comforting and more useful sentences.

Check the result

  • Every claim has a matching record, or is marked as a gap.
  • Targets read as targets, not customer commitments.
  • Every movement claim shows two values, or is marked uncheckable.
  • The visible total isn’t presented as a corrected forecast.

The usual failure: a movement “confirmed” from one date. The assistant sees Ashford’s December close date and agrees it’s “about two weeks late”, or infers the size of a slip from a red dot. Spot it by looking for the earlier value beside every movement claim.

For [claim], show the earlier and current values with their snapshot dates. If the earlier value isn't in the records, mark the claim "can't be checked" and write the question I should ask to get it.

Worked example: two renewals outside October

Fictional example. An October 2026 submission of £420,000, with these excerpts:

Narrative: Brennan and both renewals should close in October. Ashford has slipped by only a fortnight. Calderstone is back on.
Snapshot: 6 October 2026. Unweighted GBP.
Brennan | £180,000 | Contract sent | target close 22 October 2026
  Note 28 Sep: contract with buyer's legal team; no signature date agreed.
Renewal A | £45,000 | Closed won | closed 30 September 2026
Renewal B | £52,000 | Open | target close 14 January 2027
Ashford | £95,000 | Open | target close 9 December 2026 (earlier date not supplied)
Calderstone | no matching record

The first check marked Ashford “supported: now 9 December, roughly two weeks later than planned”, and called the four rows “an October forecast of £372,000, £48,000 short”. The repair prompt for Ashford returned “can’t be checked; ask for the close date in the last snapshot”. The four amounts do total £372,000, but the rows span September, October, December and January, so that’s no October forecast.

The revised narrative: “Brennan targets 22 October, with signature timing unconfirmed. The renewal dates sit outside October. Ashford’s two-week slip needs its earlier date, and the Calderstone record and the £420,000 reconciliation are outstanding.”

  • “Two weeks” came from nowhere. A December date can’t tell you whether a deal slipped a fortnight, a quarter or not at all.
  • £372,000 answered a different question. It’s the visible rows, not the submission; ask for the included-deal list before proposing any number.
  • Calderstone’s absence is a gap, not proof. It may sit outside the export’s filter.

Task kit for this job: Download (ZIP) · Reusable instructions

Go deeper

Write the note so it can be checked

The cheapest fix is at the writing end, and it costs a rep about ninety seconds. One sentence per deal, each with the deal, the date and what would have to be true: “Brennan: contract with their legal team, expecting signature by 22 October. Risk is their finance approval, which we haven’t seen.” That can be checked in fifteen seconds. “Confident in Brennan” can’t be checked, can’t be wrong and conveys nothing but a mood. The submission note is stored in History, so write it as a record.

Where this shouldn't be the method

This isn’t a performance review. Most gaps are ordinary: a date not updated, a note written between calls. Walking into a one-to-one with a table of red verdicts will get you a cleaner CRM and worse information, because the fastest way to make a forecast note agree with the records is to stop writing anything in it. A forecast view isn’t a reported figure either; board and lender numbers come from finance. And don’t run this on a deal where the honest answer is that you need to call the customer.

Build a movement record from two snapshots
Create a movement table from these two dated snapshots, matched by deal ID. Show the earlier and current close date, amount and stage. Flag deals in only one snapshot and any change in currency or amount basis. Don't infer the reason for any change.

Check that both snapshots cover the same pipeline, people and filters: a deal missing from one may simply have moved outside a filter.

Sources

Optional analytics

With your permission, Google Analytics uses cookies to measure visits and which guides people read. It stays off until you accept. Use Analytics choices in the footer to change your choice. Rejecting after accepting refreshes this page. Privacy details.