An ICP fit score is a 0–100 number that tells you how well a given company or contact matches your ideal customer profile. Done right, it converts every identified visitor into a prioritized action. Done wrong, it's a vanity metric that reps ignore. This guide walks through building a scoring model that your revenue team will actually use.

The four signal categories
- Firmographics: Industry, headcount, revenue band, geography, funding stage, hiring velocity.
- Technographics: Running Shopify? On HubSpot? Using a competitor? Which ERP?
- Behavior: Pages viewed, scroll depth, session duration, return visits, demo/pricing/docs page hits.
- Buyer identity: Seniority, department, tenure in role, company change signals.
Related: Got 100 Customers? Believe It Or Not, It's Time for Your First User Conference
Start from your closed-won list, not a spreadsheet
The fastest way to build a scoring model that reflects reality is to pull your last 50–100 closed-won deals, extract the firmographic and technographic attributes, and let those become the weights. A scoring model "designed from scratch" without looking at real wins consistently overweights vanity signals (company size) and underweights hidden buying signals (specific tech stack, hiring role).
A weighting starter template
- Industry match (exact): +20
- Industry match (adjacent): +10
- Company size in target band: +15
- Geo in target markets: +10
- Running key tech (Shopify / HubSpot / etc.): +15
- Running competitor tech: +10 (high-value conquest)
- Pricing page hit: +15
- Demo page hit: +10
- Return visit within 7 days: +5
- VP+ seniority on last visit: +10
Related: Devtools Companies Crossing 100 Employees: Sales Signals
Decay: why recency matters
A pricing-page visit today is worth more than a pricing-page visit three months ago. Apply time decay to behavioral signals (halving the weight every 30 days is a reasonable default). Firmographic signals do not decay — company size doesn't change week to week.
Routing thresholds
- 80+: Live Slack ping to AE; call-prep brief generated.
- 60–79: Auto-enrol in outbound sequence.
- 40–59: Sync to retargeting audience (LinkedIn / Meta).
- Below 40: Archive and measure.
Transparency: show why a score is a score
The fastest way to lose rep trust is a black-box score. Happierleads exposes the 40+ contributing signals per lead, so every score has a "why" your team can see. Scoring engine.
A/B testing the model
Before rolling out a new weight set, run it against 20% of traffic and compare meeting-set rate vs. the control. The model that wins the A/B test becomes the new default. Model version history should be kept so you can revert with one click if a change damages conversion.
Closed-loop learning
The scoring model should improve weekly as closed-won deals feed back in. A contact who was scored 72 but closed at $50k is a training data point that should nudge related signal weights. Static scoring models drift.
Build your model
Start a trial — the Happierleads scoring model ships with sensible defaults and becomes sharper every week.




