Delayed Feedback Model for Conversion Prediction
Summary
Chapelle (2014) models post-click conversion probability in display advertising, where conversions can occur up to 30 days after a click. Labeling every not-yet-converted click as a negative example (the Naive approach) systematically underestimates the conversion rate, most severely for the freshest data. The fix is a jointly-trained pair of models — a logistic-regression classifier for “will this click ever convert” and an exponential hazard model for “how long until it converts, given it does” — combined into a single likelihood that treats a not-yet-converted click as right-censored rather than negative.
Overview
In a cost-per-conversion (CPA) ad marketplace, the value of an impression is (Eq. 1). Estimating accurately is essential, but conversions can lag the click by minutes to weeks: on Criteo’s data, only 35% of conversions happen within an hour, ~50% after 24 hours, and 13% after two weeks (Fig. 1).
Why naive labeling is biased
Building a training set requires deciding, for each click, whether it “counts” as a positive or negative example. Two bad options bracket the problem:
- Short matching window: label a click negative if no conversion is seen within, say, 2 days. Many of these will convert later — they are mislabeled false negatives, biasing the conversion-rate estimate down.
- Long matching window (e.g. 30 days): correctly labeled, but the training set is now at least 30 days stale, producing a stalled model that can’t react to new campaigns (Criteo saw new-campaign traffic reach 11.3% of volume after just 26 days — Fig. 2, §2.4).
Chapelle’s solution avoids a matching window altogether: a click is labeled positive if a conversion is observed, and left unlabeled (not negative) otherwise, since a conversion may still occur in the future. This is learning from positive-and-unlabeled (PU) data — but with a crucial twist that breaks standard PU-learning theory (Elkan & Noto 2008): those methods assume a positive example’s label is missing at random (missing-label probability constant). Here it is not — the probability that a label is still missing depends strongly on the elapsed time since the click, which is exactly why a second, explicit delay model is needed.
Main Content
Random variables and notation
Each click event is characterized by five variables (Chapelle §3):
| Symbol | Meaning |
|---|---|
| feature vector | |
| has a conversion already been observed | |
| will the user ever convert (latent if ) | |
| delay between click and conversion (undefined if ) | |
| elapsed time since the click |
Core relations (Chapelle Eqs. 2–4)
i.e. “no conversion observed yet” means either the user will never convert, or the conversion just hasn’t had time to happen. If a conversion has occurred, is trivially resolved to 1.
The only independence assumption needed is that :
(elapsed time only affects whether the conversion has been observed yet, not the underlying propensity/delay).
This is a direct generalization of classical right-censoring: a not-yet-converted click with elapsed time is right-censored at — we know the (potential) conversion delay is at least . The departure from standard survival analysis is that survival analysis assumes the event is certain eventually (every patient dies); here (never converts) is a first-class outcome, which is why a separate Bernoulli model for is required in addition to the delay/hazard model for .
The joint model
Two generalized linear models are fit jointly:
Definition: Conversion classifier and delay model (Chapelle Eq. 5)
is the hazard function of survival analysis, feature-dependent via a log-linear parametrization that guarantees . Other delay distributions (Weibull, Gamma, Log-Normal) are possible, but exponential fits the empirical Criteo delay distributions well (Fig. 5, §6.2), aside from some short/long-delay mismatch consistent with a mixture of a short and a long timescale.
The likelihood
Theorem: Delayed-feedback likelihood (Chapelle Eqs. 6, 8–9)
Observed conversion (, with observed delay ):
No conversion observed yet (, elapsed time ) — obtained via the law of total probability over , using :
This single expression is the crux of the method: it is a mixture of “true negative” and “positive-but-censored,” weighted by the classifier’s own and the delay survival function evaluated at the elapsed time. It correctly discounts the “certainly a negative” interpretation as grows relative to the predicted mean delay .
Two limiting regimes make the mixture interpretable (used later to derive gradients in EM and Gradient Optimization for the Delayed Feedback Model):
- (elapsed time short vs. predicted mean delay): the click looks statistically like “too early to tell” and contributes almost no gradient signal to the classifier — correctly, since we cannot yet infer non-conversion.
- (elapsed time long vs. predicted mean delay): the mixture collapses onto the negative-class term, and the click is effectively treated as a confirmed negative, exactly like ordinary logistic regression.
Why this needs both models, jointly
The paper stresses that and cannot be identified separately from unlabeled examples: observing many clicks without conversions is consistent both with a low conversion rate and a short delay and with a high conversion rate and a long delay — the negative log-likelihood surface has (at least) two comparable basins (Fig. 3, a toy example with 1 positive and 10 unlabeled samples). This ambiguity is a small-sample phenomenon; the paper reports it vanishes as data accumulates and was not observed to cause local-minima problems in practice (§4.2).
Examples
Toy convergence example (Chapelle §6.1, Fig. 4)
Simulated data with true conversion rate and delays , no features (constant ), retrained daily. The proposed DFM model recovers the true conversion rate accurately after just 2 days of data (less than the 4-day mean delay), whereas the Naive method (unconverted clicks = negatives) systematically underpredicts, especially early in a campaign — directly illustrating the bias this note opened with.
Real-traffic evaluation (Chapelle §6, Table 1)
On Criteo logs (7 test days, 3-week rolling training windows, ~6M examples/day), DFM improves negative log-likelihood by ~3% over Naive overall, and even more on recent campaigns (where staleness/censoring bias is worst), beating a Shifted-window baseline (unbiased but 30 days stale), a Rescale baseline (PU-learning correction assuming missing-at-random labels), and a Short-Term-Conversion heuristic — approaching the Oracle upper bound (labels revealed by looking into the future).
Connections
- Generalizes right-censored survival regression: in the degenerate case where every user eventually converts (), the delay-model term of the joint log-likelihood reduces exactly to a standard censored exponential regression (Kalbfleisch & Prentice §3.5), with a closed-form MLE for the no-features case.
- Fitting this joint model (via EM or direct gradient descent) is covered in EM and Gradient Optimization for the Delayed Feedback Model.
- Extended into sequential decision-making by Bandit Models with Delayed and Censored Feedback, which adds a hard observation-window censoring mechanism and formal regret bounds on top of this same structure.
See Also
- Delayed and Censored Feedback - Overview — how this fits with the bandit-theoretic extension
- Survival Analysis — the right-censoring concept this model generalizes with an added “never happens” outcome
- EM and Gradient Optimization for the Delayed Feedback Model — how and are actually fit
- Bandit Models with Delayed and Censored Feedback — the same structure inside a regret-minimizing bandit