attribution · attribution-models

Attribution Models — The Math, Worked

Six standard models, one journey scored six ways, and data-driven attribution explained without the black box. Use this when the user wants to understand why two models disagree, or needs to pick one defensibly.

The worked journey

A single B2B buyer's path to a $12,000 annual deal, five touches over 38 days:

# Day Touch Role in the story
T1 0 LinkedIn ad (paid social) First discovered you — created awareness
T2 5 Organic blog post (organic search) Came back to learn — built interest
T3 12 Retargeting ad (paid social) Nudged back mid-consideration
T4 30 Branded search (paid search, branded) Ready to act — searched your name
T5 38 Direct → demo request (direct) Converted

The whole point: the touch that gets credit depends entirely on the model, and each model tells a different story about where your $12k came from.

The six models, applied

Credit for the $12,000 deal under each model:

Touch Channel First-touch Last-touch Last non-direct Linear Time-decay Position (U)
T1 Paid social $12,000 $0 $0 $2,400 $175 $4,800
T2 Organic $0 $0 $0 $2,400 $290 $800
T3 Paid social $0 $0 $0 $2,400 $575 $800
T4 Paid search (branded) $0 $0 $12,000 $2,400 $3,415 $800
T5 Direct $0 $12,000 $0 $2,400 $7,545 $4,800

(Time-decay uses a 7-day half-life — weight = 0.5^(days-before-conversion / 7), normalized: shares of ~1.5% / 2.4% / 4.8% / 28.5% / 62.9% (dollars rounded to sum to $12,000). With a 38-day journey the credit concentrates hard on the last two touches — which is exactly why time-decay behaves almost like last-touch on long cycles. Position-based is 40/40/20, the 20% split evenly across T2–T4.)

Read the disagreement:

The takeaway to give the user: report first-touch and last-touch side by side. The LinkedIn-vs-Direct gap is the insight — it tells you paid social creates demand that later shows up as direct/branded. No single number captures that; the spread does.

Data-driven / algorithmic attribution (Shapley), plainly

Data-driven attribution (Google's DDA, most MTA tools) doesn't use a fixed rule. It asks a counterfactual: how much does each touch actually change the probability of conversion? The formal engine is the Shapley value from cooperative game theory.

The plain-English version:

So if journeys with a retargeting touch convert meaningfully more often than identical journeys without it, retargeting earns real credit. If adding a channel changes nothing, it earns ~zero — even if it appears on every path.

When it's worth it:

Its honest limitations:

Choosing — a short decision guide

In every case: pick one model, stay consistent, and pair it with an out-of-model check. Model-switching to make a channel look good is the fastest way to lose trust in the whole attribution program.


Source: https://github.com/coreyhaines31/marketingskills/skills/attribution/references/attribution-models.md · v1.1.0 · MIT License (c) 2025 Corey Haines.