Why has lead scoring not evolved the way everything else has? Most systems are still built on inferred intent and static bets. Signals get weighted, scores get assigned, and those scores tend to stick around long after reality has moved on.
That question sent me down a rabbit hole. I stepped back and asked what would need to be true to build a truly adaptive prediction model.
The answer I kept landing on was consequence.
It started as a small Python sketch to test whether the idea held. It pairs an Elo-style rating mechanism, the one chess uses to rank players against each other, with closed won and closed lost data. Not as a sports metaphor, but as a discipline. Every prediction is treated as a wager. Every outcome has the ability to rewrite belief.
The sketch held, so I built the rest of it. Elo now runs live against CRM data, syncing deals as they close and updating its beliefs continuously rather than on a quarterly review cycle.
Nothing here was configured. Each of these numbers is the residue of closed deals, and each one is falsifiable by the next one.
The rule I care most about is what happens on a confident miss. When the model is sure and wrong, certainty amplifies the correction rather than dampening it. That is the whole Elo idea transplanted into a sales pipeline. Being wrong has to cost more when you were confident, or the system just calcifies around whatever it believed early.
Unstructured signals get read by Claude against a strict schema, so call notes and email replies become the same kind of evidence as a CRM field. No rep tags anything. The loop runs HubSpot to extraction to belief update and writes the score back.
Over time, the model quietly shifts priority toward what actually closes deals, not what sounded good in last year's playbook.
What convinced me was not any single accuracy number. It was the shape of the behavior the system encourages. Signals that sound persuasive but do not survive contact with outcomes lose influence by design. A small number of repeatable patterns earn trust gradually, and the model shows its work on both.
None of the code is clever. The mechanism is the point, and the mechanism is old. Chess has ranked players this way since 1960. Lead scoring simply never adopted the part where being wrong costs you something.
I am not going to claim a customer outcome I do not have. Elo runs on a demonstration pipeline, and what it demonstrates is a property rather than a lift: a scoring system where every rep’s win or loss sharpens the next forecast for the whole team, with no retraining cycle and no data science function in the loop. Whether that beats a static model in production is the experiment I would like to run inside a real pipeline.