Open your pipeline and pick the account sitting at 84. Can you say out loud, in one sentence, what it did to earn that number and when? If the answer needs a hover, a second tab and a guess, you do not have an explainable lead score. You have a number your reps quietly stopped believing. This guide works backwards from the sentence a rep reads in the queue to the data that has to exist behind it, and shows how to pull the outside half of that data by asking for it in plain language in Claude or ChatGPT.
Start at the End: the Sentence a Rep Reads
Design the sentence first and the scoring model second, because the sentence is the only part of the system a rep ever touches. Everything upstream exists to make that one line true.
What the Sentence Has to Contain
- The strongest thing that happened, named the way a human would name it.
- How many days ago, in digits, so freshness is obvious at a glance.
- Whether you saw it yourself or picked it up outside your own site.
- The two fit facts that let the account through the filter, usually headcount and industry.
Where It Has to Live
- In the list view, as a column, not behind a tooltip. Nobody hovers over 200 rows.
- In whatever travels with the account into the first email or call, so the reason survives the handoff.
- In one read-only field a nightly job rewrites, so no rep maintains it by hand.
Three Questions a Score Must Answer Out Loud
A score is explainable when it can answer three questions without anyone opening a spreadsheet: what fired, how old is it, and why is that worth this many points. Miss any one and the number becomes decoration.
The Three Questions
- What fired? A named thing that happened, not a category and not a rolled-up total.
- How old is it? The day it happened, not the day your system noticed.
- Why this many points? A weight traceable to how often that thing showed up before a real win.
How Teams Usually Fail the Test
- The score is one opaque total, so an 84 and a 61 feel interchangeable and reps sort by whichever logo they recognise.
- Nothing expires, so a page view from March still props up a number in September.
- The point values were argued into existence in a meeting and nobody can defend them under pushback.
A phrase that keeps surfacing in the r/gtmengineering thread on this: most teams are weighting on vibes. The fix is not a smarter model, it is writing down where each point came from.

Agree on Ready Before You Award a Point
Write down what each stage means, who owns it and how fast it has to move before you configure anything, because a scoring rule laid over a vague handoff just makes the vagueness run faster. Two people arguing about whether an account is ready have a definitions problem wearing a scoring costume.
The Plain-Words Stage Table
| Stage, in plain words | What gets it in | Who owns it | How long it can sit |
|---|---|---|---|
| Worth a proposal | Conversation happened, need and timing captured | The closer | To the close date |
| Worth a call | A rep looked at it and agrees the fit is real | The rep who took it | 1 working day |
| Worth a look | Over the points line, plus one thing on your own site in the last fortnight | Whoever runs marketing | 5 working days |
| Parked | Turned down with a reason code, not deleted | Same owner as before | Recheck in 90 days |
Settle the Record Rules First
- Pick the field two records match on and never change it. Website domain for companies, work email for people, never the company name.
- Decide per field whether new information overwrites, fills blanks only, or lands in a parallel field for review.
- Stamp where a value came from and the day it arrived, so a wrong number gets chased back rather than argued about.
- Only then start enrichment, the step where outside facts get appended to a record you already trust.
What a Signal Must Carry to Earn Points
Anything awarding points needs a date, an origin and a track record, and anything missing one of the three is scored on feel. The fastest audit you can run today: list every input to your score and cross out whatever has no date.
The Seven Things to Record Per Signal
| What you record | Why it matters | Example value |
|---|---|---|
| The day it happened | Nothing can fade without one | 2026-08-30 |
| Where you saw it | Your own property or outside | outside source |
| Plain-words name | The rep reads this, not a code | Opened a second office |
| Base points | Worth before any fading | 1 to 10 |
| Shelf life | Days until it is worth half | 60 |
| Track record | How often it preceded a win | 0.00 to 1.00 |
| The sentence | What lands in the list view | Under 120 characters |
Inputs That Should Not Score
- Anything undated, or any vendor total you cannot break apart into the things that produced it.
- A company match with no confidence figure. Points on the wrong record beat no points at all only in a demo.
- Bought intent at full strength. Halve it. That spike was sold to everyone you compete with the same week.
Give Every Signal Its Own Shelf Life
Set one clock per kind of signal rather than one clock for the whole score, because a pricing page view and a funding announcement do not age at the same rate. Company records themselves rot at roughly 2.1% a month, so even fit facts need rechecking on a calendar.

The Shelf-Life List
- Never, recheck quarterly: right size, industry and region. Those are rules, not events.
- 180 down to 60 days: a new tool in their stack, then a funding announcement, then hiring on the team you sell to. Money and headcount both take a while to move.
- 30 down to 7 days: a demo request, a guide download, a bought intent spike at half strength, and a pricing page visit last of all.
What Built-In Timers Cannot Do
- Most platforms, HubSpot included, offer fixed monthly steps inside one score property, so anything finer runs in your own job.
- They fade against the day the record updated, which quietly rewards slow data.
- They cannot see clustering, so three things in a fortnight count like three across half a year.
The other line worth stealing from that thread: one signal is noise, three inside two weeks is a buying window.
Let Your Last 25 Wins Set the Weights
Do not invent point values. Pull your last 25 closed deals and let them tell you which signals were present before the money moved. It takes an afternoon and it ends the argument permanently.
The Afternoon Version
- Export the last 25 wins with the company and the date the deal was created.
- Per signal, count how many of those winners carried it in the 90 days before that date.
- Divide by every company carrying the same signal in the same window, wins and losses alike. That fraction, not the raw count, is the track record.
- Retire anything under 0.10. It adds noise and defends itself with volume.
