Most lead scoring advice assumes a sales rep and a deal to win or lose. But scoring is just as useful for informing marketing at organizations where a conversion is a gift, an appointment, or an application. These teams often have people raising their hands without calling them leads, and no conversion history yet. You can start anyway.

We recently helped set up lead scoring for a national program whose first conversions were months away, with no won-and-lost history to learn from. The goal was a score that decides what each person experiences next, so we focused on a few decisions about what the score should and shouldn’t measure, on a foundation that lets us grow into a propensity model later. We like using Snowflake for lead score models because it keeps events, features, training, and scoring in one place, but the approach works on any warehouse that can do the same. Here is how we thought about building this program, and some potential pitfalls worth checking for early.

Step 1: Capture events before you know what you'll score

The single most valuable thing you can do before you have conversion data is to record what leads do, with timestamps, in your data warehouse. A model can only learn from history that exists, and history you didn't capture is gone. Teams often skip this step because they are waiting on a model or tool decision, or because their CRM only keeps the latest value of each field, overwriting what came before.

Land raw events from web, forms, product, and email in Snowflake as they happen, and tie them to a person so every event counts toward one lead.

Identity resolution matters as much as capture. A visitor who shows up under three IDs looks like three weak leads instead of one strong one.  Start with deterministic matching (email, login, form submission) and stitch earlier anonymous activity to the person when they identify themselves.

Step 2: Score on two axes, not one

Good lead prioritization asks two different questions: how interested is this person, and how well do they fit your ideal customer profile? Keep them as separate feature tables.

Table comparing two lead scoring axes. Behavior asks “Are they engaged right now?” with example signals of pricing page visits, tool usage, form starts and email engagement. Fit asks “Are they the kind of person or buyer we serve?” with example signals of industry, company size, role, region and eligibility.

Separating the axes keeps the score explainable. A highly engaged student and a quiet but ideal enterprise buyer are very different leads, having two scores helps to highlight that. Your team can also act on each differently: act now on the engaged, nurture the qualified.

The propensity score is the behavior side: how likely someone is to take the next meaningful action. The fit score is what they're eligible for or likely to care about.

Should channel be part of a lead score? We recommend keeping it for attribution and cost per lead, and leave it out of the propensity score. The channel describes a session, not a person. One contact might first see an ad, come back through search, and convert after a partner email, and which one gets recorded as "the" channel often depends on which session happened to be tagged first. Scoring on it also adds bias: if paid media is your biggest source of leads, a negative weight underscores the audience your growth plan depends on most. 

Step 3: Launch with transparent rules and a proxy outcome

Start with rules your team can read: points for pricing page visits, points for a target job title, points off for a personal email domain. In a nonprofit or health setting, the equivalents might be a giving page, a program page, or an eligibility check. Transparent rules earn trust, and trust is what gets a score used.

Because you don't yet have enough closed deals, choose a proxy outcome as a working label, such as booking a meeting or requesting a demo. It happens more often than a closed deal, so you get a usable signal sooner.

Treat the proxy as a hypothesis. As real outcomes arrive, check whether leads who hit the proxy actually convert more often. If they don't, change the proxy before you train anything on it.

A starter rule set might look like this. The weights are illustrative; yours should reflect what your team already believes about a good lead.

Starter lead scoring rule set with illustrative point values. Behavior signals: visited pricing page twice in 7 days, plus 20; started but didn’t submit a demo form, plus 15; opened three or more emails in 30 days, plus 10. Fit signals: job title matches a target buyer role, plus 20; company in a target industry, plus 15; personal email domain, minus 10.

Publish the rules where sales can see them. When a rep disagrees with a score, that is useful feedback, and it is the first labeled data you will collect.

Add decay early. A contact who clicked once in July shouldn't look like one who engaged through December. Hold a score for about 90 days of inactivity, then reduce it on a schedule, resetting whenever a scoring event fires. 

Step 4: Grow into a predictive model

When enough outcomes accumulate, move from hand-set weights to learned ones. A sensible progression is logistic regression first, because it is simple and its coefficients explain themselves, then gradient-boosted models if they earn their added complexity.

In Snowflake, Snowpark lets you train and score next to the feature tables, without moving data to a separate environment. Compare each new model against the rules it replaces on the same leads. If it doesn't beat them, keep the rules.

Step 5: Write scores back as ordinary traits

Whether a score comes from rules or a model, deliver it the same way: as a person-level trait that your CRM, email platform, and ad audiences read like any other field. Downstream tools then don't know or care how the score was made.

That is what makes version two an upgrade rather than a migration. You swap the logic behind the trait, and nothing downstream changes.

Pitfalls to avoid

  • Training on the wrong label. A model trained on a weak proxy will only predict the proxy. Validate the label first.
  • Building the model before the pipeline. A perfect score you can't act on changes nothing. Plan how scores reach the tools your team uses for outreach from the start.
  • Ignoring consent. Only use signals you are permitted to collect and use, and keep consent status with the data.

How to score for next best action:

In nonprofits, health systems, and associations, where conversions aren't traditional sales prospects, a few things change.

  • Fit is about eligibility, not firmographics. Geography, audience, and need often matter more than company size.
  • Scores feed journeys, not just reps. They decide who gets which email, ad, or outreach, so coverage across every lead source matters.
  • Timing is long and seasonal. Conversions may be months away or tied to a calendar, which makes decay and proxy outcomes more important.
  • Consent carries more weight. Especially in health and education, track what you are permitted to use alongside the score.

If your organization doesn't think of itself as having leads, you probably still have people raising their hands. Start capturing what they do.

That is where a propensity score earns its keep outside sales. With no rep working a queue, the score's job is to decide what each person experiences next. Propensity tells you how ready someone is to act, and fit tells you what they are eligible for or most likely to care about. Together they show who needs information, who needs a nudge, and who should simply be left alone.

AI is what makes that practical. Instead of a few static segments, the two scores can shape what each person sees: which story leads the page, what the next email says, how soon outreach happens. The score stays simple and explainable while AI varies the experience, and personalization is only as good as the events and identity underneath.

‍