How-to guide

Build a working lead scoring model

Most lead scoring models die in a spreadsheet because nobody validates them against closed-won data, nobody wires them to routing, and nobody revisits the weights. This guide walks you through a 1-2 week build that starts from historical outcomes, separates fit from intent, hits an MQL/SQL threshold reps will accept, and ships with a backtest and quarterly review loop baked in.

Before you start

What you need.

Time: 1-2 weeks

  • A documented ICP (industry, size, geography, tech stack) you can translate into firmographic fields.
  • At least 6-12 months of CRM data with cleanly labelled closed-won and closed-lost opportunities.
  • A baseline conversion rate from lead to opportunity and opportunity to close that you can measure against.
  • Agreement from sales leadership on what MQL and SQL mean and who owns each stage.
  • A CRM, marketing automation tool, or revenue platform that can store scores, trigger workflows, and route leads.
Build a working lead scoring model

Step by step.

  1. 1

    1. Define the success event your model is predicting

    A lead scoring model is a prediction. Before you touch a weight, write down the exact event you want it to predict. For most B2B teams this is opportunity creation inside a defined window (often 30 or 60 days) or closed-won inside the sales cycle length. Pick one. If you try to score for pipeline, revenue, and expansion with a single model you will end up with a mush that fits none of them. Document the event, the window, and the minimum data quality bar in a one-page spec. Review it with sales leadership and record their signoff. That spec becomes the yardstick every weight, threshold, and quarterly tweak gets measured against.

    • Pick one target event: SQL accepted, opportunity created, or closed-won.
    • Define the time window from first touch to the event (30, 60, 90 days).
    • Note the minimum field completeness required for a lead to be scoreable.
    • Get written agreement from the VP of sales and the head of marketing.
    Tip: If you cannot write the success event in one sentence, you are not ready to score. Go talk to sales again.
  2. 2

    2. Pull closed-won and closed-lost data as your training set

    Export your last 6-12 months of opportunities, both won and lost, with the lead data you had at the moment of qualification, not the enriched state today. If you score on data that was back-filled after the deal closed, your model will overfit and your reps will stop trusting it the first week. Pull firmographics, source, campaigns, page views, form fills, product signals, and sales activities. Aim for at least 200-500 opportunities per class. If you cannot hit that volume, widen the time window or build a simpler model with fewer dimensions. Store the dataset somewhere queryable so you can rerun it every quarter.

    Tip: Snapshot lead attributes at qualification time, not today. Enrichment that happened later is leakage, not signal.
  3. 3

    3. Separate fit signals from intent signals

    Great models score two axes, not one. Fit is who they are: industry, headcount, revenue, geography, tech stack, role of the contact. Intent is what they do: pricing page views, demo requests, high-value content downloads, repeat visits, G2 category traffic, product usage if you offer a free tier. Treat them separately so routing can act on both. A high-fit, low-intent lead belongs in nurture. A low-fit, high-intent lead belongs with a BDR who can disqualify fast. A high-fit, high-intent lead is the only one that should wake up a quota-carrying rep. Build a 2x2 or a weighted composite, but do not collapse them into a single number before routing.

    • List every available data point and tag it fit, intent, or noise.
    • Discard anything that correlates with being in your CRM rather than converting.
    • Draft the 2x2 grid: high/low fit by high/low intent, with a routing action in each cell.
  4. 4

    4. Assign point weights based on observed lift

    Weights are not vibes. For each candidate signal, calculate the conversion rate of leads that have the signal versus leads that do not, inside your training set. The ratio is your lift. A signal with 3x lift gets roughly three times the points of a signal with 1x lift. Normalize to a 0-100 scale on each axis so the final score reads cleanly. Cap any single signal at 20-25 percent of total points so a noisy field cannot dominate the score. Write every weight into a shared sheet with the lift it is based on and the sample size behind it. If a sample size is below 30, mark the weight provisional and flag it for review.

    Tip: If you cannot explain a weight to a rep in one sentence, cut it. Explainability is retention insurance.
  5. 5

    5. Set MQL and SQL thresholds against conversion math

    Thresholds are where most models go sideways. Pick them by working backward from the funnel you need, not by eyeballing a bell curve. If sales needs 200 SQLs a month to hit quota and your historical SQL conversion is 15 percent, you need around 1,300 MQLs a month, which tells you where to draw the MQL line on your scored population. Set two thresholds: MQL triggers nurture plus a BDR touch, SQL triggers a direct assignment to a quota rep. Add a tiebreaker rule for the gray zone (score within 5 points of SQL) so no lead sits in limbo. Document the thresholds in the same spec from step one.

    • Work out the required MQL volume from quota, close rate, and ACV.
    • Draw MQL and SQL lines on the scored training population.
    • Define a gray-zone rule: how reps handle leads within 5 points of a threshold.
  6. 6

    6. Wire the model into routing and workflows

    A score with no action is dashboard theatre. Push the score into your CRM as a numeric field, add fit and intent as separate fields, and build routing rules on top of them. SQL assignments go to the right territory or rep queue inside 5 minutes. MQLs enter a nurture track with a BDR follow-up SLA. Low-fit leads route to self-serve or marketing. Log every routing decision with the score at the time of the decision so you can audit later. Set up alerts for stuck leads, score decay (points that expire after 30-90 days of inactivity), and sudden score jumps that may indicate a hand-raiser worth a same-day call.

    Tip: Score decay stops dead leads from looking warm. Without it your top-of-funnel inbox lies to you.
  7. 7

    7. Backtest the model before it touches a live rep

    Run the finished model against the last 90 days of leads you did not use for training. Measure three things: how many of the actual SQLs it would have flagged (recall), how many of its SQL predictions actually converted (precision), and how it compares to your current rule-of-thumb routing. If recall is below 70 percent or precision is below your historical rate, do not ship. Go back to weights and thresholds. Share the backtest with sales leadership so they see the math before leads start landing in their queues. A model that ships without a backtest will be blamed for every lost deal in the next quarter.

    • Hold out the most recent 90 days as a validation set.
    • Compute precision, recall, and lift versus current routing.
    • Share the results with sales and get a go/no-go decision in writing.
  8. 8

    8. Instrument SLAs, dashboards, and a feedback loop

    Once leads are flowing, build the dashboards you will actually look at every week. First response time on SQLs, acceptance rate by rep, SQL to opportunity conversion, and the win rate of top-decile scored leads versus the rest. Set hard SLAs on first response (often 5 minutes for SQLs) and show them live. Add a one-click rep feedback field: good lead, bad lead, with a reason. That feedback is the input to your next quarterly tuning pass. Without it you will tune on marketing data only and your model will drift away from what sales will accept.

  9. 9

    9. Iterate quarterly and retire signals that stop working

    Lead scoring is not a project, it is a program. Every quarter, re-pull closed-won and closed-lost, recompute lift on every signal, and prune anything that no longer predicts. New channels, new product lines, and new buying committees will shift the signal mix within a year. Keep a changelog so you can tell sales exactly what changed and why. Review thresholds against the previous quarter is pipeline math and adjust if the funnel ratios have moved. Treat the whole model like code: versioned, reviewed, backtested before each release, and owned by a named human on the revops team.

    • Re-run lift calculations every quarter on fresh won/lost data.
    • Retire or down-weight any signal below 1.2x lift or with declining sample size.
    • Publish a short changelog to sales after every revision.
    Tip: Treat the scoring model like production code. Versioning, review, and ownership are not optional.
Avoid

Common mistakes.

  • Scoring every signal you can collect instead of only the ones with measurable lift against won deals.
  • Collapsing fit and intent into one number before routing, which hides low-fit high-intent tire kickers in your SQL queue.
  • Setting MQL and SQL thresholds by gut feel rather than working backward from the pipeline math your reps need.
  • Skipping the backtest and shipping the model straight into live routing, then losing rep trust in the first bad week.
  • Treating the model as finished the day it ships and never re-weighting as channels, products, and buyers change.
FAQ

Frequently asked questions.

How many data points should a lead scoring model use?

Start with 8-15 signals split across fit and intent. Fewer than 6 and the model is a rule, not a score. More than 20 and you lose explainability without usually gaining accuracy. Every signal should justify its spot with measurable lift against your training set.

Should sales or marketing own lead scoring?

Revenue operations should own the model, with sign-off from both sales and marketing on the success event, thresholds, and quarterly changes. A model owned only by marketing drifts away from what reps will accept; one owned only by sales ignores top-of-funnel signal.

How often should we rescore leads?

Recalculate scores in near real time as new behavior arrives, and apply decay rules so stale leads lose points after 30-90 days of inactivity. Retune the underlying weights and thresholds quarterly, not daily.

What is a good MQL-to-SQL conversion rate?

B2B benchmarks run roughly 13-20 percent MQL to SQL, with wide variance by industry and ACV. The honest answer is to measure your own historical rate first, then set thresholds that keep MQL volume high enough to feed quota at your current conversion.

When should we move from rules-based scoring to a predictive model?

Move to a predictive or ML-based model once you have thousands of opportunities per class, stable field hygiene, and a rules-based model you already trust. Starting with ML before you have clean training data is a fast way to burn trust.

How do we score accounts versus individual leads?

Score both. Account scores roll up fit and account-level intent (multi-threaded engagement, pricing page visits from multiple IPs). Lead scores add the individual contact is role and behavior. Route on the combined signal so you prioritize buying committees, not single clicks.

See it in Strkr

Related product surfaces.

Strkr CRM Platform features

Score, route, and close with one system

Strkr brings lead scoring, routing, and pipeline into one platform so your model actually moves revenue instead of sitting in a spreadsheet.

Try it free. Bring your team next week.

No sales call, no migration consultant, no four-month implementation. Enter your card, get 14 days of the full Pro tier, cancel any time before day 14 with zero charge. Spin up a workspace, import your CSV, and have something useful before lunch.