Score the opportunity before you score the customer
Most customer scoring systems answer one question: which customers are most valuable, or most likely to respond, or most at risk. The output is a ranked list of people.
That is useful, and it is also incomplete, because it skips a prior question. Ranked for what?
A customer who ranks highly for one proposition may be irrelevant to another. Worse, a system that ranks people without first evaluating the opportunity will produce a confident list for a campaign that should never have run.
Two layers, in a specific order
On a revenue decisioning platform I designed, the scoring runs in two distinct stages, and the order matters.
The first layer scores the opportunity. Before any customer is evaluated, the system asks whether a given revenue opportunity is worth pursuing at all. That score combines five dimensions:
- Data quality, because a recommendation built on thin or stale records should not be presented with the same confidence as one built on rich history
- Segment size, because an opportunity with too few qualifying customers cannot repay the effort of acting on it
- Historical performance, because similar opportunities have a track record
- Timing, because seasonality and lead time determine whether an action lands usefully or arrives too late
- Market urgency, because external conditions change what an opportunity is worth right now
Opportunities are then ranked by confidence, and low-confidence opportunities are not pursued regardless of how attractive the underlying customer base looks.
The second layer scores the customer, within a selected opportunity. Only once an opportunity has cleared does the system evaluate individuals against it, across recency, frequency, value, engagement and seasonality. Customers are then tiered into treatment groups, so that the intensity of the approach matches the strength of the individual signal.
Why the order matters commercially
Inverting these layers is the more common design, and it produces three predictable failures.
Effort goes to well-ranked but low-value opportunities. A customer-first system will always return a top decile. It has no mechanism for saying that the whole exercise is not worth doing.
Confidence is misrepresented. A customer score of 0.8 means something quite different when the underlying opportunity is well evidenced than when it rests on forty records and a guess. Without an opportunity layer, that distinction is invisible to whoever acts on the output.
Contact budget is spent badly. Every organisation has a finite tolerance for contacting its customers. Spending it on a marginal opportunity because the customer ranking looked healthy is how contact fatigue happens.
Graceful degradation is a requirement, not a nicety
Real customer data is incomplete. Some records have full transaction history, others have a name and one interaction.
A scoring system that requires complete data will either exclude a large share of the population or produce silently unreliable scores for it. Neither is acceptable.
The approach I use is explicit degradation: the scoring logic operates on whatever dimensions are available, redistributes weight across the remaining ones, and returns the score together with an indication of how much evidence sat behind it. A customer scored on two dimensions is not treated as equivalent to one scored on five, and the difference is visible downstream rather than buried.
This connects directly to the opportunity layer, because data quality is one of its five inputs. Thin data does not just weaken individual scores. It should weaken confidence in the opportunity itself.
The weights should not be fixed
Both layers use weighted combinations, and the initial weights are necessarily a judgement call.
Leaving them fixed is the mistake. On the platform described here, weights update after each cycle based on observed outcomes, so the system's view of what predicts revenue is evidence-led rather than inherited from whoever configured it first. Different client bases converge on different weightings, which is the point: the system learns what matters for each tenant rather than imposing an average.
The general principle
This architecture is not specific to revenue campaigns. Any decisioning context where actions are selected before recipients benefits from the same separation.
In collections, evaluate whether a treatment path is appropriate for a cohort before ranking individuals within it. In credit, assess whether a product offer is viable for a segment before scoring applicants against it. In service, decide whether an intervention is warranted before identifying who receives it.
Two questions, asked in the right order. Is this worth doing, and if so, for whom. Most systems only ask the second, and inherit the answer to the first from whoever happened to specify the campaign.