A sales rep with thirty open opportunities can't work all of them with equal intensity. Time gets allocated, decisions get made, and most reps make those decisions on instinct — recency, deal size, customer enthusiasm. The instinct is sometimes right and sometimes badly wrong, and either way it's hard to learn from at scale.
For a medical device sales operation, this was a process problem worth solving. With over 100,000 opportunities flowing through the funnel each year, the difference between calling the high-likelihood ones first and calling them third was measurable in revenue and rep time. The team wanted an algorithm that could score every opportunity on its likelihood to close, applied at the moment the opportunity was created.
What the Model Used
The training data was a year of opportunity records — lead source, sales channel, customer attributes available at intake, time-on-stage, and a handful of geographic and operational fields. Before any modeling, each potential predictor was checked one-on-one against the close-rate outcome to confirm it carried real signal. Customer attributes carried meaningful predictive weight. Opportunity age told its own story — about three-quarters of opportunities closed within three weeks; the remainder were highly unlikely to ever close. Lead source mattered, sales channel mattered, and the right combination of intake fields mattered most.
The single most useful data point was opportunity age. An opportunity that's been open for six weeks isn't four weeks away from closing — it's almost certainly never closing. The model has to know that.
The Lift
The benchmark to beat was the naïve guess — without any model, the best you can do is assume every opportunity has the average close rate of 53%. The classification model improved on that dramatically. After scoring all opportunities and grouping them into deciles by predicted likelihood, the top decile closed at 86% and the bottom decile closed at 10%.
predicted decile
predicted decile
and bottom decile
What the Model Was — and Wasn't — For
A scoring model like this isn't a replacement for sales judgment. A high-scoring opportunity that's actively going dark is still going dark. A low-scoring opportunity with a strategic relationship attached may be worth working anyway. The model's role is to set the order of attention, not to dictate which opportunities exist or how to handle them.
For implementation, we built two versions: a richer model using all available predictors, and a simpler model using only four (opportunity age, lead source, customer category, sales channel). The simpler model gave up only marginal precision and was dramatically easier to integrate into the CRM workflow. That trade-off — giving up a few points of accuracy for a much easier production path — is one we recommend by default. Models that don't get used don't help anyone.
The framework generalizes. Any sales operation with a meaningful volume of opportunities, a recorded outcome (closed/lost), and a few opportunity-level attributes can build the same kind of model. The lift varies by domain, but the methodology — define the dependent variable carefully, evaluate predictors univariately first, validate with a held-out sample, prefer simpler models that ship — is consistent.
Trying to triage your sales pipeline more rigorously? Say hello.