How PayPal kept its sales pipeline scores from going stale
Sales teams can only chase so many deals a day, so most CRMs rank them with a win score. A PayPal engineering post pointed out the flaw: that score is set on day one and never moves. Its fix stacks a small daily model on top of a one-time model. Here is the design, how little the post actually proves, and how we would build it for a sales team in Indonesia.

Every morning, a sales rep decides which open deals to chase. In January 2022, Haipeng Gao described on The PayPal Technology Blog how to help with that choice. The post is short, and it carries one idea that most sales tools still get wrong: a deal's chance of closing changes every day it sits in the pipeline, so its score should change too.
The problem: a score that never moves
The post sets the scene in two sentences. Opportunities "usually exist for days before getting closed", and every day reps "need to create a list of opportunities in the pipeline to work on". The constraint is the usual one: "The sales team have limited reach-out counts and resources."
The standard answer is a classifier that gives each opportunity a propensity score, its likelihood of being won. The post shows why that is not enough. Say deal A scored 90% and deal B 60% when each entered the pipeline. Today, A has sat there for two weeks without closing, while B arrived two days ago. A score fixed at creation still ranks A first. The post concludes that "using only a (static) propensity score over the entire lifespan in the sales pipeline is inadequate", because it cannot weigh "dynamic factors" such as "the duration in the pipeline".
How they built it
Layer one runs once. When an opportunity is created, a classifier reads the attributes known at that moment and outputs an initial propensity score. PayPal chose a gradient boosting machine (GBM) but notes that "many binary classification algorithms can be used here".
Layer two runs every day. A second model takes that initial score as one input, next to features that change: "the number of days in the sales pipeline, the stage in the pipeline, the number of (unsuccessful) contacts, and other types of relevant information". Its output is the propensity on the day the model runs. For this layer PayPal "intentionally chose logistic regression", because its coefficients show how each feature pushes the score. A negative coefficient on duration, for example, means "a longer duration signals a lower propensity score".
Why it is cheap. The static features are folded into a single number once, which the post calls "a dimension reduction which ultimately saves a significant number of computations". The daily job only runs a small linear model.

PayPal also filed a US patent on the structure in November 2021, granted in April 2024 (US 11,961,137 B2), with a continuation granted in November 2025. The patent describes it in general terms, with a sales pipeline as one example next to loan decisions.
What it delivered
The post's only evidence is an offline test. The framework "has been back-tested against the classic binary classification approach" on a test set, and "as the duration increases (and knowing more about the opportunities), the approach has a uniformly better performance in terms of the cumulative gains curves". The text gives no figures, and there is no live test. The post does not say whether the model went into production or changed what reps did.

Read it for what it is. The comparison is against a score that never updates, which is a low bar. A tougher baseline would be a single model re-run each day with days in the pipeline and stage as ordinary features. The post does not show that comparison. Its value is the design pattern, not proof of uplift.
What has changed since
PayPal went quiet, apart from the patent. We found no later PayPal post on scoring sales opportunities. The patent family is the only visible follow-up.
Scoring became a built-in CRM feature with minimum data. Microsoft Dynamics 365 Sales scores leads only with "at least 40 qualified leads and 40 disqualified leads, all created in the past two years". Salesforce's Einstein datasheet asks for at least 1,000 leads with 120 converted before it builds a model of your own. HubSpot's likelihood to close is the probability of a contact becoming a customer "within the next 90 days", made with what HubSpot calls "blackbox machine learning".
Agents now qualify leads before a rep sees them. Microsoft's Sales Qualification Agent researches leads, and in its research-and-engage mode it also emails them; leads that "demonstrate purchase intent and meet most of your criteria are handed over to sellers". HubSpot's prospecting agent finds companies "based on real-world triggers", with a review-before-sending option. The job has moved from ranking a list to filtering it.
The evidence is still thin. A 2023 systematic review of 44 studies concluded that "little is known regarding lead scoring models and their impact on sales performance".
Why it matters for your business
Most sales teams in Indonesia with a real pipeline, from property developers and car dealers to hotels' corporate desks and agencies, have PayPal's problem at a smaller scale: more open deals than people, and a CRM that ranks them once, if at all.
The daily signals PayPal used are often missing from the CRM here, because the conversation happens elsewhere. WhatsApp is the most used app in the country, with "nine in ten Indonesians active each month", according to We Are Social. The last reply, the unanswered follow-up and the stalled quote usually sit in a chat thread. Getting them into the CRM is the first job, before any model.
Small data is not a dead end. Vendor minimums such as Microsoft's 40 and 40 show how much history the packaged tools want. PayPal's design runs on small data: a modest first model and a logistic regression that a laptop trains in seconds.
Contacts at companies are people, so the law applies. Indonesia's personal data protection law (UU No. 27 of 2022) lists "evaluasi, penskoran, atau pemantauan yang sistematis" (systematic evaluation, scoring or monitoring) among the high-risk processing that requires a data protection impact assessment (Article 34). Article 10 gives people the right to object to decisions based only on automated processing, including profiling, that have legal or significant effects. A ranked list that a rep acts on is not the same as an automatic rejection, but where the line falls is a legal question. We are engineers, not lawyers.
How we would build it today
- Fix the data first. One row per deal with its source, segment, value, stage history and every contact attempt and reply, including WhatsApp conversations logged to the CRM.
- Start with a rule. Sort open deals by stage and days since the last reply. Any model has to beat that on last quarter's deals.
- Score each deal once. Gradient boosting or logistic regression on what is known when the deal is created.
- Rescore every morning. A logistic regression on that score plus days in the pipeline, stage, attempts and days since the last reply, with coefficients a sales manager can read.
- Test against the right baseline. Compare with one model that simply gets the daily features, on held-out months. Then run it live: half the team works from the ranked list, half does not, and you compare win rate and cycle time.
- Keep people deciding. Show the reason next to each score ("no reply for 9 days, 3 unanswered calls"), let reps override it, and say in your privacy notice that you score leads. PayPal holds US patents on its structure, so check with a lawyer before copying it exactly into software you sell there.
PayPal's post is short and its evidence thin, but its core idea holds up: a deal's odds change every day it waits, so the list a rep works from should change too.