Lead Scoring Model Template
A weighted fit-plus-intent scoring model you build and stress-test in a spreadsheet first, so you catch a broken model before it silently mis-routes leads inside your CRM.
What's inside
- Fit score table — 6 weighted firmographic criteria worth up to 100 points
- Intent score table — 10 weighted behavioral triggers including negative scoring, up to 100 points
- Fit × Intent 2×2 grid producing A/B/C/D grades with routing rules
- Disqualifier checklist for automatic zero-scoring
- Score decay rule (14-day partial decay, 45-day full reset)
- Spreadsheet build structure — the exact columns to test before touching the CRM
- Validation method against 100 historical leads with known outcomes
- Recalibration triggers (win-rate divergence, ICP change, campaign change)
Purpose: A fit-plus-intent model separates "would be a great customer" from "is showing buying signals right now" — because a perfect-fit lead reading your pricing page and a terrible-fit lead downloading three whitepapers are not the same lead, and a single blended score treats them as if they were.
Build this in a spreadsheet first. Validate against 100 historical leads with known outcomes before you ever wire it into CRM automation — a broken scoring model that's already live silently mis-routes leads for months before anyone notices.
Part 1 — Fit Score (firmographic: "should we want them?")
Max 100 points. The weights below are a starting template — adjust to your actual win-rate data.
| Criterion | Points | Scoring rule |
|---|---|---|
| Company size | 0–20 | 20 = sweet-spot employee/revenue band; 10 = adjacent band; 0 = outside range |
| Industry | 0–20 | 20 = top-3 vertical by win rate; 10 = secondary vertical; 0 = never closed in this vertical |
| Job title / seniority | 0–20 | 20 = economic buyer or champion title; 10 = influencer; 0 = no buying authority |
| Tech stack fit | 0–15 | 15 = uses a complementary/integrated tool; 0 = uses a hard-blocking competitor |
| Geography | 0–10 | 10 = serviceable region with support coverage; 0 = unserviceable |
| Existing relationship | 0–15 | 15 = warm intro/referral/existing customer at parent org; 0 = cold |
Fit Score = sum of all rows (max 100)
Part 2 — Intent Score (behavioral: "are they showing buying signals?")
Max 100 points, capped and floored. Decay applies — see Part 5.
| Action | Points |
|---|---|
| Requested demo / pricing / trial | 30 |
| Visited pricing page | 20 |
| Attended webinar or event | 15 |
| Opened 3+ emails in a sequence | 10 |
| Downloaded bottom-funnel content (case study, ROI calculator) | 15 |
| Downloaded top-funnel content (blog, generic ebook) | 5 |
| Visited website 3+ times in 7 days | 10 |
| Competitor comparison page visit | 15 |
| Unsubscribed from marketing emails | −20 |
| No engagement in 30+ days | −15 |
Intent Score = sum of all triggered rows (cap at 100, floor at 0)
Part 3 — Combined grid
Plot every lead on the 2×2:
| Low Intent (0–40) | High Intent (41–100) | |
|---|---|---|
| High Fit (61–100) | B — Nurture priority | A — Sales-ready, route now |
| Low Fit (0–60) | D — Marketing nurture only | C — Sales-qualify before routing |
Part 4 — Negative scoring / disqualifiers (auto-zero regardless of score)
- Free/personal email domain (gmail, yahoo) with no company match
- Company size below minimum viable deal size threshold
- Explicitly stated "just researching, not buying" in a form field
- Student, job-seeker, or vendor/competitor domain
- Duplicate of an existing customer contact already assigned to CS
Part 5 — Score decay
- Intent points decay 20% every 14 days of no new activity
- A lead with no activity for 45 days resets Intent Score to 0 and returns to nurture, regardless of Fit Score
Part 6 — Spreadsheet build structure
Build one row per lead, one column per scoring criterion, before touching the CRM:
| Lead ID | Company | Fit: Size | Fit: Industry | Fit: Title | Fit: Tech | Fit: Geo | Fit: Relationship | Fit Total | Intent: [one column per action] | Intent Total | Grade | Actual Outcome |
|---|
Part 7 — Validation before CRM handoff
- Pull 100 historical leads with known outcomes (won, lost, never converted)
- Score them retroactively using the model above
- Check: do "A" grade leads have a meaningfully higher win rate than "C"/"D"? If not, re-weight
- Check: is any single criterion doing all the work (removing it collapses the model)? If so, it's over-weighted
- Get sales leadership sign-off on the grade → routing mapping before automating
Part 8 — Recalibration trigger
Re-run the validation pass (Part 7) every 2 quarters, or immediately if:
- Win rate by grade band diverges by more than 10 points from the last validation
- ICP changes (new segment, new product line)
- Marketing changes what content/campaigns feed the top of funnel
How to use it
Build the two scoring tables in a spreadsheet against 100 real historical leads first, confirm grade bands correlate with actual win rate, then replicate the point values as CRM scoring rules.