← Resources

Method

Geometric adstock

Advertising can continue to have an effect after it has run. Geometric adstock models how much of this week's impact remains next week as a fixed proportion that decays over time.

6 min read · Updated September 7, 2026

half the effect0246810120%50%100%Weeks after the spendEffect still presentλ = 0.3, half-life 0.6 weeksλ = 0.6, half-life 1.4 weeksλ = 0.85, half-life 4.3 weeks
The share of a week's advertising effect still present k weeks later, for three decay rates. The dots mark the half-life: the week by which half the effect has gone. Search-like channels sit near the fast curve, television near the slow one.

What it is

Adstock is the carryover of advertising: the part of an impression’s effect that shows up after the week it was bought. Geometric adstock is the one-parameter version. Each week, a fixed fraction λ of last week’s accumulated effect remains, so the effect of a single week’s spend decays as λ, λ², λ³ and so on.

adstock(t) = spend(t) + λ × adstock(t − 1)

The parameter λ sits between 0 and 1. At 0 there is no carryover: this week’s spend works this week only. At 0.9, ninety percent of the effect is still there a week later, and the tail runs for months.

Why it matters for a media plan

Two decisions depend on it.

The first is attribution. If television spend in week 10 sells product in weeks 11 to 14, a model with no carryover hands those sales to whatever was running in weeks 11 to 14, usually search and retargeting. The television line looks weak and the search line looks strong, and the budget follows the error.

The second is pacing. A channel with a long tail can be bought in bursts; its effect fills the gaps. A channel with no tail has to be on when the demand is there. The plan’s weekly pattern comes out of the decay rates as much as out of the totals.

How it works

The useful way to read λ is as a half-life, the number of weeks by which half the effect has gone:

half-life = −ln(2) / ln(λ)
λ Half-life Typical channels
0.3 0.6 weeks Search, email, affiliates
0.5 1.4 weeks Paid social, retargeting
0.7 2.0 weeks Display, radio, online video
0.85 4.3 weeks Television, out-of-home
0.9 6.6 weeks Sponsorship, print

In a Bayesian model the decay is a parameter with a prior. Media physics is well enough known that the prior can be strong: a team expecting a two-week half-life for television puts a Beta prior centred near 0.7 and lets the data adjust it. A weakly informative prior, Beta(2, 2), is the fallback when nothing is known.

The model also needs a maximum lag, the number of weeks after which the tail is cut. Eight weeks is enough for digital, thirteen for a mixed plan, twenty or more only when television or out-of-home dominate. Doubling the lag roughly doubles the fitting time, so it is not free.

Adstock is applied before saturation: the accumulated effect is what saturates, not the raw weekly spend.

How Kuwalyst uses it

Every data-backed plan in the Media Planner runs on a model whose decay rates are stored, per channel, on the model card, along with the prior they started from. The planner’s response curves and its weekly pacing suggestions come out of those rates.

Benchmark-led plans, for brands with no history yet, use decay priors from the benchmark registry by channel type, tagged as benchmarks. The plan states which channels are running on borrowed decay rates and proposes the history or the experiment that would replace them.

Pitfalls

Decay and saturation trade off: a model can explain the same data with a long tail and a low coefficient, or a short tail and a high one. Strong priors on decay, where the physics is known, are what keep the coefficient honest.

The tail is not free money: a long tail means part of this quarter’s sales came from last quarter’s spend. Cutting a slow channel shows up late, which is why the plan should say when the effect of a cut will be visible, not just that it will be.

Weibull without the data: a delayed-peak form needs enough weeks to estimate where the peak is. On short data it fits noise.

Daily data, weekly physics: decay rates are usually quoted weekly. A daily model needs the daily equivalent, λ to the power of one seventh, or it will carry effects ten times too long.

FAQ

What decay rate should I expect for each channel?

Search and email decay fast, with λ around 0.1 to 0.4, a half-life under a week. Social sits around 0.3 to 0.6. Display and radio around 0.5 to 0.7. Television and out-of-home carry longest, 0.6 to 0.9, a half-life of two to six weeks. These are priors; the fit moves them toward what your own data shows.

Geometric or Weibull?

Geometric by default. Weibull adds a second parameter that lets the effect peak after the spend rather than at it, which fits television awareness or a PR story. Use it only when you know the channel has a delayed peak and you have forty or more weeks of data to estimate the extra parameter.

Does adstock change the total effect of a channel?

Not on its own. It spreads the effect over time. What changes the total is the coefficient and the saturation. But the spread matters for attribution: a slow-decaying channel's effect lands in weeks it did not spend, and a model without adstock hands that effect to whoever spent that week.