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):

SymbolMeaning
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

See Also