Analysis
Most forecasts multiply deal value by a configured stage probability that nobody has checked against outcomes. On one pipeline, Contract Sent was configured at 90% and closed at 54%, worth $1.34M of difference on a $4.02M weighted pipeline.
Almost every CRM ships default probabilities per stage, and almost every company keeps them. The forecast is that percentage times the deal value, summed.
The assumption is that every deal in a stage behaves like every other deal in that stage. It is testable in one query, and it is almost never tested.
Early stages were roughly honest. Late stages were not. Contract Sent configured at 90%, closing at 54%. The gap widened the later the stage, which is the opposite direction to how confidence usually runs.
On a $4.02M weighted pipeline that is $1.34M of difference. It does not surface in a quarterly review because the forecast and the outcome are looked at months apart by different people.
One query against your closed deals. If your configured probabilities match your observed rates, you have learned something worth knowing. If they do not, you now know the size of the gap.
Weight a deal by what has actually happened on it rather than by the stage somebody dragged it to. Kaypo scores each deal from buyer behavior, shows the inputs, and back tests the weights against your own closed deals so the number is checkable rather than inherited.
Then it sends the reading to each rep in Slack every morning, which is the part that decides whether any of it changes behavior.
Configured probability against observed win rate, per stage
select stage,
count(*) as closed_deals,
round(avg(probability)::numeric, 1) as configured_pct,
round(100.0 * sum(case when is_won then 1 else 0 end)
/ nullif(count(*), 0), 1) as actual_pct
from deals
where closed_at >= now() - interval '12 months'
and stage is not null
group by stage
having count(*) >= 10
order by configured_pct desc;Questions
Usually because it multiplies deal value by a stage probability that was set once and never checked against outcomes. The gap tends to be widest in the latest stages, where the configured number is most optimistic.
Start by measuring your own observed win rate per stage from closed deals rather than using configured defaults. Then weight individual deals by what has actually happened on them.
It arrives in Slack
Every morning, each rep gets one message naming the deals on their own book that moved overnight, biggest mover first, with the reason beside each number and the deals that have gone quiet underneath.
$99 a month, cancel any time.. Everyone on the team. No per seat charge. Connect a CRM and it runs. No implementation fee. 14 day trial. No card.
Related reading
Every pipeline has deals that are alive and deals being carried. The difference shows in what the buyer did, not the stage somebody dragged the card to.
Clari forecasts revenue at the roll up level. Kaypo scores individual deals and tells reps what moved. What each costs and who each is for.
The three tiers of deal scoring pricing: what your CRM includes, what purpose built tools charge, and what enterprise platforms cost with minimums.
A deal is a company decision made by people. Scoring only one level misses half the picture, and the balance between them is business specific.
You do not need interviews to learn why deals close or die. Most of the answer is in the activity your CRM already holds. How to pull it.
Reviewed September 20, 2026 against the product as it behaves today.