A framework for prioritizing contacts in your pipeline based on fit and engagement signals, so reps focus on the leads most likely to convert.
Lead scoring assigns a numerical value (0-100) to each contact based on two dimensions:
1. Fit Score — How well does this lead match your ideal customer profile? (Company size, industry, title, budget)
2. Engagement Score — How actively is this lead interacting with your content and sales team? (Emails opened, meetings attended, demos requested)
Combined: Total Score = Fit Score + Engagement Score (each 0-50, total 0-100)
Assign points based on how closely the contact matches your best customers:
| Criterion | High Fit (15 pts) | Medium Fit (8 pts) | Low Fit (3 pts) |
|---|---|---|---|
| Company Size | 200-2000 employees | 50-199 or 2000+ | < 50 employees |
| Title/Seniority | VP, Director, C-suite | Manager, Senior IC | Coordinator, Intern |
| Industry | Target verticals | Adjacent verticals | Non-target |
| Budget Indication | Confirmed budget | Likely has budget | No budget signals |
Maximum Fit Score: 50 (if top score on all 4 criteria + 5 bonus points for existing customer account)
Add a Fit_Score column to the Contacts tab:
=SUM(
IF(OR(Title contains "VP", Title contains "Director", Title contains "C"), 15, IF(Title contains "Manager", 8, 3)),
IF(Deal_Value > 50000, 15, IF(Deal_Value > 20000, 8, 3)),
... additional criteria
)
Or use a lookup approach with a scoring reference table.
Points are accumulated based on interactions:
| Activity | Points | Decay |
|---|---|---|
| Attended a demo | +15 | None |
| Attended a meeting | +10 | None |
| Responded to email | +5 | -1 per week of inactivity |
| Downloaded content | +5 | -1 per week |
| Visited pricing page | +8 | -2 per week |
| Requested a proposal | +15 | None |
| No activity for 30+ days | -20 | Immediate |
Maximum Engagement Score: 50 (capped)
The Activities tab drives engagement scoring:
=MIN(50,
COUNTIFS(Activities!Contact_ID, A2, Activities!Type, "Demo") * 15 +
COUNTIFS(Activities!Contact_ID, A2, Activities!Type, "Meeting") * 10 +
COUNTIFS(Activities!Contact_ID, A2, Activities!Type, "Call") * 5 +
COUNTIFS(Activities!Contact_ID, A2, Activities!Type, "Email", Activities!Outcome, "Positive") * 5 +
IF(TODAY() - Last_Contact > 30, -20, 0)
)
| Score Range | Label | Action |
|---|---|---|
| 80-100 | Hot | Immediate outreach, prioritize for rep's daily plan |
| 60-79 | Warm | Active nurture, schedule next touchpoint within 3 days |
| 40-59 | Engaged | Standard cadence, weekly touchpoint |
| 20-39 | Cool | Low-touch nurture (automated emails) |
| 0-19 | Cold | Park for re-engagement campaign or disqualify |
Use the score to determine next actions:
=IF(Score >= 80, "CALL TODAY",
IF(Score >= 60, "Email within 48h",
IF(Score >= 40, "Add to weekly cadence",
"Leave in nurture")))
A lead shouldn't advance from Qualification to Discovery unless their score is at least 40. This prevents reps from pushing unqualified leads forward prematurely.
Not all engagement is equal. Recent activity matters more than activity from 3 months ago.
Decayed Points = Original Points × 0.9^(weeks_since_activity)
After 4 weeks, a 10-point activity is worth: 10 × 0.9^4 = 6.6 points
After 8 weeks: 10 × 0.9^8 = 4.3 points
After 12 weeks: 10 × 0.9^12 = 2.8 points
=SUMPRODUCT(
Activity_Points * POWER(0.9, (TODAY() - Activity_Dates) / 7)
)
Some signals should reduce a lead's score:
| Signal | Point Deduction |
|---|---|
| Unsubscribed from emails | -15 |
| Explicitly said "not interested" | -25 |
| Competitor (researching, not buying) | -30 |
| Wrong persona (intern doing research) | -20 |
| Bounced email (invalid contact) | -50 |
1. Look at all leads that scored 80+ in the past month
2. How many actually converted?
3. If conversion rate is < 30%, your thresholds are too generous
4. If conversion rate is > 70%, you're being too conservative (missing warm leads)
This means your scoring accurately identifies high-probability prospects without being so restrictive that you miss opportunities.
Analyze which scoring criteria actually predict conversion:
1. Export all closed-won deals from the last quarter
2. Look at their scores at the time they entered Negotiation stage
3. Which criteria were most predictive?
4. Increase weight for predictive criteria, decrease for non-predictive ones
The Engagement_Score column in the Contacts CSV uses a simplified version of this methodology. To implement the full model:
1. Add a Fit_Score column (calculated from company/title/budget)
2. Rename existing score to Engagement_Score (calculated from activities)
3. Add a Total_Score column: =Fit_Score + Engagement_Score
4. Add a Lead_Grade column: =IF(Total>=80,"A",IF(Total>=60,"B",IF(Total>=40,"C","D")))
5. Sort your contact list by Total_Score descending — that's your priority list
Get the full Sales Pipeline & CRM and unlock everything.
Get the complete guide with every chapter unlocked, including code samples, diagrams, and best practices.
Access all interactive tools with complete data, all workload profiles, and the full scenario library.
Downloadable source code, configuration files, and working examples from every chapter.
Free updates for life. Every new chapter, tool, and improvement included.