Short answer
Lead scoring ranks leads by adding points for fit (the company and person match who you sell to), intent (something is happening that makes buying likely) and engagement (they've interacted with you), then subtracting points for disqualifiers. Leads above a sales-ready threshold go to a rep and the middle band gets nurture. Set each point value from how much more often leads with that attribute converted, and set thresholds by testing them on last quarter's leads.
- Give an attribute 10 points for every doubling of conversion rate over your baseline.
- Set the sales-ready threshold where last quarter's leads above it fit your reps' capacity.
- Handle competitors, students and existing customers with routing rules, not only negative points.
- Let signals fade: halve engagement points every 90 days without new activity.
- With only a handful of conversions to learn from, use rules and fit tiers instead of a points model.
On this page
- Fit, intent and engagement measure different things
- How the calculator works
- Worked example: three leads scored with the defaults
- Negative scores: rules first, points second
- Score decay: let old signals fade
- Set point values from your own data
- Set the thresholds by back-testing last quarter
- When not to use lead scoring
- Predictive lead scoring in HubSpot and Salesforce
- Review cadence
- Common mistakes
- Self-check
- Sources
- Questions people ask
Lead scoring calculator
Tick what's true for one lead and change any points to match your market. It opens with an example: the controller at a 240-person property management group with 31 property entities, who replied to an email after the group bought a nine-building portfolio.
The points are a starting point, not a prediction. Check them against deals you've won and lost before you route leads on them.
This page is for marketing ops, sales ops and founders who have more leads than their reps can work properly and need a fair way to decide who gets a call today. The calculator above scores one lead at a time. The rest of the page shows how to replace its illustrative points with numbers from your own pipeline, test the thresholds on last quarter's leads and keep the model honest once it's live. You'll need a CRM export of last year's leads and about two hours.
Fit, intent and engagement measure different things
Lead scoring adds points for evidence that a lead will buy and subtracts them for evidence that it won't. The evidence comes in three kinds that age at different speeds:
| Type | The question it answers | Typical evidence | How fast it goes stale |
|---|---|---|---|
| Fit | Should we want this company and this person? | Size, industry, region, role, the tools they use | Slowly: only when the company or person changes |
| Intent | Is something happening that makes buying likely now? | A trigger (acquisition, new leader, funding, hiring); category research; pricing visits | Fast: a trigger is news for a quarter, not a year |
| Engagement | Have they interacted with us? | Replies, event attendance, demo requests | Fast, unless they keep engaging |
Keep fit visible even inside one total. A perfect-fit company with no engagement needs outreach, not a nurture email. An eager contact at a poor-fit company needs one qualifying question, not a sales cycle. The big CRMs keep the two apart: HubSpot's lead scoring tool can label a combined score with a fit letter (A to C) and an engagement number (1 to 3), and Salesforce Account Engagement gives each prospect a letter grade for fit alongside a score for activity.
The fit and intent rows are the hardest to fill honestly, because the answers sit in company news, hiring pages and filings, not your CRM. Bebop researches each account and reports what's happening there and who to talk to, so those rows can be ticked from evidence; check its facts as you'd check your own. For which signals deserve intent points, see what makes a B2B lead high intent.
How the calculator works
Tick what's true for one lead. Each ticked row adds its points to the score at the top, and every number, including the negatives and both thresholds, is editable. The default points are illustrative, not a calibrated prediction: a score isn't a chance of buying until you've set the points from your own data.
| Group | Criterion | Default points |
|---|---|---|
| Fit | Company size is in your target range | 15 |
| Fit | Industry is one you sell to | 15 |
| Fit | Contact owns or influences the budget | 15 |
| Fit | Located where you can sell and support | 5 |
| Fit | Uses a tool you integrate with or replace | 10 |
| Intent | Recent trigger: funding, new leader, expansion or hiring for the problem | 15 |
| Intent | Researching your category (review sites, comparison pages) | 10 |
| Intent | Visited your pricing page in the last 14 days | 10 |
| Engagement | Replied to outreach or asked a question | 15 |
| Engagement | Attended a webinar or event | 5 |
| Engagement | Requested a demo or a call | 25 |
| Negative | Works for a competitor or is a student | -50 |
| Negative | Already a customer, or in an open deal | -30 |
| Negative | Personal email address only | -10 |
| Negative | Said no budget or no project this year | -20 |
- Bands. A score at or above the sales-ready threshold (default 70) reads "Sales-ready: route to a rep". At or above the nurture threshold (default 40) it reads "Nurture: worth a researched touch". Anything lower reads "Not now: keep out of the sales queue".
- Copy this model copies every row with its tick and points, the thresholds, and this lead's score and band as plain text for a doc or CRM note.
- Reset to the example restores the default points, ticks and thresholds. Nothing is saved, so reloading the page resets it too.
Two properties of the defaults matter. Fit maxes out at 60, so no lead reaches 70 on fit alone. But intent and engagement together can reach 80, so a lead with no fit at all can score as sales-ready. To prevent that, add a fit floor to your routing rules, such as 30 fit points.
Worked example: three leads scored with the defaults
Illustrative example. The companies and people are fictional.
Tallyframe (tallyframe.example) sells accounting software to companies that run many legal entities: property groups, franchise groups and holding companies in the US and Canada with 50 to 1,000 employees. Three leads arrive in the same week.
| Lead | What's ticked | Score | Band |
|---|---|---|---|
| A. Controller at a 240-person property management group with 31 property entities | Size, industry, budget and region (50); bought a nine-building portfolio last month (15); replied asking how intercompany eliminations work (15) | 80 | Sales-ready |
| B. Office manager at a 90-person franchise group running six restaurants, each its own company with its own books | Size, industry and region (35); separate small-business books you'd replace (10); visited pricing twice last week (10); attended a webinar (5) | 60 | Nurture |
| C. Analyst at a rival accounting software vendor | Region (5); came from a comparison page (10); visited pricing (10); requested a demo (25); competitor (-50) | 0 | Not now |
Lead A is the calculator's starting example. Its software is unknown, so the tool row stays unticked: score unknowns as zero, don't guess.
What makes this work:
- Lead A gets a call today, and the acquisition is the reason to call.
- Lead B is one signal away: a reply or a seventh location (+15 either way) takes her to 75. Nurture here means one researched email about running six sets of books, and a question about who signs off on software.
- Lead C shows why negative scores exist. Without the -50, the analyst scores 50 and lands in nurture, one click from a rep's queue.
Negative scores: rules first, points second
Disqualifiers (competitors, students, existing customers, open deals) don't make a lead less likely to buy. They put it in the wrong queue. Handle them as routing rules before any scoring: exclude competitors and students, and send customers to their account manager. The calculator gives them large negatives, but points can't guarantee exclusion: a competitor who ticks every positive row still scores 90.
Soft negatives (a personal email address, "no budget this year") lower the odds without ruling a lead out. Size them from data, the same way as positive points in the next section. If personal-email leads convert at a quarter of your average rate, the evidence says -20, not -10.
Score decay: let old signals fade
Intent and engagement points should shrink as they age. Fit points shouldn't, unless the fact behind them changes. A simple rule: halve engagement points after every 90 days with no new activity, and untick a trigger once it's more than a quarter or two old.
HubSpot's lead scoring tool has a decay setting for each group of scored events, and its example reduces scores by 50% every three months. Salesforce's Einstein Behavior Scoring has decay built in. The calculator doesn't decay anything, so apply it by editing points.
Say Lead A's controller goes quiet. Four months later the acquisition is old news, so the trigger comes off (-15), and the reply has halved once, from 15 to 8 (-7). The score is 80 - 15 - 7 = 58: nurture. To see it in the calculator, untick the trigger and set the reply's points to 8.
Set point values from your own data
Replace the default points with lift: how much more often leads with an attribute converted than leads in general.
- Pull leads with known outcomes. Use leads old enough to have finished a sales cycle (for a 90-day cycle, leads from 3 to 15 months ago). Count one outcome: a sales-accepted opportunity, or a customer if you have well over a hundred wins.
- Work out the baseline. Leads that converted ÷ all leads.
- Work out each attribute's rate. Of the leads that had the attribute when they arrived, the share that converted.
- Calculate lift. The attribute's rate ÷ the baseline. Above 1 is a good sign, below 1 a bad one.
- Turn lift into points. Give 10 points for every doubling: points = 10 × log2(lift). In Excel or Google Sheets, that's =ROUND(10*LOG(lift,2),0).
| Lift | Points | Default rows at this value |
|---|---|---|
| 5.7× | +25 | Requested a demo |
| 2.8× | +15 | Size, industry, budget, trigger, replied |
| 2× | +10 | Tool, category research, pricing visit |
| 1.4× | +5 | Region, webinar |
| 1× | 0 | (no better than average) |
| 0.7× | -5 | |
| 0.5× | -10 | Personal email |
| 0.25× | -20 | No budget this year |
The table is also a sanity check: 25 points for a demo request assumes demo requesters convert at nearly six times your average. If yours don't, 25 is too many.
Why doublings rather than plain multiples? Points add, but lifts multiply. If controllers convert at 2.8 times the baseline and companies in your industries at 2.2 times, a controller in one of those industries is about 6 times as likely, not 5 (2.8 × 2.2 = 6.2), if the two are unrelated. Doubling-based points add the same way: 15 + 11 = 26, the points for a lift of 6.2.
Illustrative example, continued. Tallyframe exports the 2,400 leads it created from January to June 2026. 120 became opportunities within 90 days, a baseline of 5%.
| Attribute (as known on arrival) | Leads with it | Converted | Rate | Lift | Points | Default |
|---|---|---|---|---|---|---|
| 50 to 1,000 employees | 1,200 | 96 | 8.0% | 1.6 | 7 | 15 |
| In an industry they sell to | 900 | 99 | 11.0% | 2.2 | 11 | 15 |
| Controller, CFO or VP Finance | 700 | 98 | 14.0% | 2.8 | 15 | 15 |
| In the US or Canada | 2,280 | 120 | 5.3% | 1.05 | 1 | 5 |
| Each entity in separate small-business books | 400 | 52 | 13.0% | 2.6 | 14 | 10 |
| Acquisition or new CFO in the last 90 days | 250 | 40 | 16.0% | 3.2 | 17 | 15 |
| Attended a webinar | 400 | 20 | 5.0% | 1.0 | 0 | 5 |
| Requested a demo | 90 | 27 | 30.0% | 6.0 | 26 | 25 |
| Personal email address only | 350 | 4 | 1.1% | 0.23 | -21 | -10 |
What Tallyframe learns: webinar attendance is noise, so it gets nothing. Almost every lead is in region, so region can't separate leads, but the 120 out-of-region leads produced no opportunities, so that becomes an exclusion rule. Personal email is a stronger warning than the default says, and size is weaker.
Three checks before you trust a number:
- Sample size. If fewer than about 10 leads with the attribute converted, the rate is a rough guess. Keep its points modest and look again next quarter. (Personal email has only 4 conversions, but even double that would be far below the baseline.)
- Overlap. Attributes that travel together get counted twice. Compare the rate for leads with both against leads with only one, and if having both adds little, cut one row's points.
- Hindsight. Score each lead as it looked when it arrived. Fields filled in later leak the outcome into the model; Salesforce's own setup guide suggests excluding fields such as the reason a lead didn't convert.
Period: leads created [start date] to [end date] (old enough to have reached an outcome) Outcome counted: [sales-accepted opportunity / customer] within [90] days Total leads (A): [ ] Converted (B): [ ] Baseline = B ÷ A = [ %] One row per attribute, as known when the lead arrived: Attribute | Leads with it (C) | Converted (D) | Rate = D ÷ C | Lift = rate ÷ baseline | Points = ROUND(10*LOG(lift,2),0) | 10+ conversions? (y/n) Rules applied before scoring (no points): - Competitor or student: exclude - Existing customer or open deal: route to [account owner] - Outside [the regions you serve]: exclude
Set the thresholds by back-testing last quarter
- Take last quarter's leads. Use the latest full quarter whose leads have had time to convert.
- Score each one as it looked on arrival, using your new points.
- Group them into score bands and count the leads and conversions in each.
- Write down rep capacity: how many new leads your reps can follow up properly in a quarter.
- Set the sales-ready threshold at the band boundary where the leads above it fit that capacity and still convert well above the baseline.
- Set the nurture threshold where conversion falls close to zero.
Illustrative example, continued. Tallyframe scores the 600 leads it created from April to June 2026, which produced 30 opportunities.
| Score band | Leads | Converted | Rate | Leads at or above | Share of all conversions captured |
|---|---|---|---|---|---|
| 80 and up | 40 | 12 | 30% | 40 | 40% |
| 70 to 79 | 50 | 7 | 14% | 90 | 63% |
| 60 to 69 | 70 | 4 | 6% | 160 | 77% |
| 40 to 59 | 160 | 5 | 3% | 320 | 93% |
| 20 to 39 | 160 | 2 | 1% | 480 | 100% |
| Below 20 | 120 | 0 | 0% | 600 | 100% |
Tallyframe's one inbound SDR can give about eight new leads a week a proper follow-up, roughly 100 a quarter. A threshold of 70 sends 90 leads that produced 19 opportunities: 21% conversion and 63% of all opportunities. Dropping to 60 sends 160 leads, far over capacity, and the extra 70 convert at 6%, barely above the 5% baseline. Raising it to 80 leaves capacity idle and misses 7 opportunities. Sales-ready is 70.
For nurture, the 230 leads scoring 40 to 69 produced 9 opportunities (3.9%), enough to justify a researched email. The 280 below 40 produced 2 (0.7%), so they get automated content only. Nurture is 40.
Then check for leaks: 11 of the 30 opportunities came from leads below 70. Read those 11. If several share something the model underrates, such as the same referral partner, that's your next points change.
Model version: [v1, date] Owner: [name] Order: apply exclusions first, then hand-raises, then the score. 1. Exclude: competitors, students, outside [regions]. Existing customers and open deals go to [account owner]. 2. Hand-raises go to sales whatever the score: demo request, contact-sales or pricing form. 3. Sales-ready ([70]+) with at least [30] fit points: Route to [SDR queue]. First touch within [1 business day]. A rep can reject with a reason: wrong fit / bad data / already in touch / other. 4. Nurture ([40] to [69]): owned by [marketing]. One researched email, then [sequence]. Moves to sales-ready when the score reaches [70] or on any hand-raise. 5. Not now (below [40]): automated content only. Re-score monthly.
When not to use lead scoring
| Situation | Do this instead |
|---|---|
| Reps can work every new lead within a day | Skip scoring; route everything and filter junk with rules |
| Only a handful of conversions last year | Use exclusion rules and fit tiers until you have outcomes to set points from |
| Demo, pricing or contact-sales requests | Route straight to sales; don't make a hand-raiser wait |
| Outbound accounts you picked yourself | Tier accounts by fit to your ideal customer profile (A, B, C) |
| A short list of named target accounts | Plan account by account |
| Sales doesn't read or trust the score | Fix the model with them first |
For scale, Salesforce won't build an Einstein model from your data alone until 120 leads from the last 200 days have converted. A hand-built model resting on fewer is still useful, but treat it as rough.
Predictive lead scoring in HubSpot and Salesforce
Predictive scoring replaces your points with a model trained on your CRM history. It can find patterns you'd miss, at the cost of control, and each vendor sets data and plan requirements.
| Rule-based (this calculator, HubSpot's lead scoring tool) | HubSpot Likelihood to close | Salesforce Einstein Lead Scoring | |
|---|---|---|---|
| What you get | Points and thresholds you set | The percentage chance a contact becomes a customer within 90 days, plus four priority tiers of about a quarter of contacts each | A score from 1 to 99 for how well a lead fits your conversion patterns |
| Data needed | None to start; your outcomes to calibrate | Your CRM, website and email activity, plus firmographic data | At least 1,000 leads created in the last 200 days, 120 of them converted; otherwise a global model built from anonymized data across Salesforce customers |
| Can you see why? | Yes, every point | No. HubSpot says it isn't possible to know exactly how each input contributes | Shows which of a lead's fields affect its score most |
| Plan | HubSpot's tool: Marketing Hub or Sales Hub Professional or Enterprise | Marketing Hub or Sales Hub Enterprise | Sales Cloud Einstein on Enterprise, Performance or Unlimited editions, at extra cost on Enterprise |
Even with plenty of history, keep exclusions and routing as rules you can explain. When your points and the prediction disagree sharply about a lead, read the lead.
Review cadence
| When | What to check | What to change |
|---|---|---|
| Weekly, for the first month | Leads reps rejected and why | Field mapping errors, junk sources |
| Monthly | Leads per band against rep capacity; conversion by band | Thresholds, if the queue overflows or runs dry |
| Quarterly | A back-test on the last full quarter; leaks below the threshold | Points, using the lift arithmetic |
| After a big change | New product, market, pricing, form or data source | Re-run the back-test before trusting the score |
Common mistakes
- Scoring engagement only. Email opens and page views reward curiosity. Fit should carry real weight.
- A threshold set to hit a lead target. Lowering the bar to send sales more leads fills the queue with leads that convert near the baseline.
- A model marketing owns alone. Sales sees the leads that fail. Their rejection reasons are your best data.
Self-check
- Every point value comes from your own lift data, or is marked as a guess.
- Disqualifiers are routing rules, not only negative points.
- On last quarter's leads, the sales-ready threshold sends a volume your reps can handle.
- Engagement points decay.
- A rep can say in one sentence why a lead is sales-ready.
- The next review date is in a calendar.
Next step: the fit rows are only as good as your definition of fit. Write it down with the ideal customer profile template, then prepare for your sales-ready leads with the sales call planning template.
Sources
- Build lead scores, HubSpot Knowledge Base, 14 August 2026
- Determine likelihood to close with predictive lead scoring, HubSpot Knowledge Base, 11 January 2026
- Set Up Sales Cloud Einstein (Winter '27), Salesforce, 22 July 2026
- Einstein Scoring in Account Engagement, Salesforce Trailhead, accessed 25 October 2026
- Get Started with Lead Grading, Salesforce Trailhead, accessed 25 October 2026
Written by the Bebop team at Blackpearl Group. Last updated .
Questions people ask
What is lead scoring?
Lead scoring is a way to rank leads so sales spends time on the ones most likely to buy. Each lead earns points for fit (the company and contact match who you sell to), intent (something is happening that makes buying likely) and engagement (they've interacted with you), and loses points for disqualifiers. Leads above a set threshold go to a rep, and the rest are nurtured or set aside.
How do you calculate a lead score?
Add the points for every attribute the lead has and subtract the points for any negatives. To set the points, compare how often leads with each attribute converted against your overall conversion rate. That ratio is the lift. Giving 10 points for every doubling of lift (a lift of 2 is 10 points, 4 is 20, a half is minus 10) keeps the total in proportion to the evidence.
What is a good lead score?
There's no universal number, because every model uses its own points. A good sales-ready threshold is one where last quarter's leads above it convert well above your average and arrive at a volume your reps can follow up properly. Find it by scoring those leads, grouping them into bands and counting conversions in each. The calculator's defaults of 70 and 40 are only a starting point.
What is the difference between lead scoring and lead grading?
In many tools, grading measures fit and scoring measures engagement. Salesforce Account Engagement, for example, gives each prospect a letter grade from F to A+ based on explicit information such as company size, industry and job title, and a separate numeric score based on activities such as clicks and form submissions. Keeping both visible stops an eager but poor-fit contact from looking like your best lead.
What is predictive lead scoring?
Predictive lead scoring uses machine learning on your CRM history to estimate how likely each lead is to convert, instead of points you set by hand. HubSpot's Likelihood to close needs an Enterprise plan and predicts the chance a contact becomes a customer within 90 days. Salesforce Einstein Lead Scoring needs at least 1,000 recent leads with 120 conversions to build a model from your own data.
How often should you update a lead scoring model?
Check volume per band and the reasons reps reject leads every month, and adjust thresholds if the sales queue overflows or runs dry. Every quarter, back-test the model on the last full quarter's leads and re-set point values from fresh conversion data. Re-test straight away after a new product, market, pricing change or lead source, because the old points may no longer hold.