FreeStatisticalTools.com
Marketing analytics

Marketing Attribution (Markov Chain and Multi-Touch Models)

Find out which channels really drive conversions. Paste customer journeys such as “Social > Email > Paid Search”; the Markov chain model credits each channel by how many conversions would be lost without it, and the results are compared with the usual rule-based models.

Free · No sign-upReplaces Google Analytics · ChannelAttribution (R)Works with your data
Updated · By Bibin Xavier

Data 238 × 4

Paste from Excel, or drop a CSV, TSV or Excel file here.
Example data 238 rows, 4 variables. Data stays in this browser tab.
Pathtext · 238 levelsConversionsnumericNon_ConversionsnumericRevenuenumeric
Paid_Search3310882354
Organic219151696
Social8856557
Display5652439
Email265741922
Direct284532031
Organic > Paid_Search6107527
Paid_Search > Social4108328

Variables and options

Results update automatically when you change an option.

Results

238 rows · example data
Journeys7,974238 distinct paths
Conversions453conversion rate 5.68%
Conversion value35,622
Channels6
Mean path length1.57
Table 1

Attributed conversions by model

ChannelMarkov chainFirst touchLast touchLinearPosition-based (40/20/40)Time decay
Paid Search106.1 (23.4%)128.0 (28.3%)107.0 (23.6%)116.1 (25.6%)116.6 (25.7%)114.2 (25.2%)
Organic92.9 (20.5%)85.0 (18.8%)95.0 (21.0%)86.4 (19.1%)88.4 (19.5%)87.7 (19.4%)
Email85.5 (18.9%)90.0 (19.9%)95.0 (21.0%)94.9 (21.0%)93.8 (20.7%)95.2 (21.0%)
Direct63.3 (14.0%)70.0 (15.5%)71.0 (15.7%)69.7 (15.4%)70.2 (15.5%)70.0 (15.4%)
Social57.6 (12.7%)50.0 (11.0%)44.0 (9.7%)49.5 (10.9%)48.3 (10.7%)48.7 (10.7%)
Display47.6 (10.5%)30.0 (6.6%)41.0 (9.1%)36.3 (8.0%)35.7 (7.9%)37.3 (8.2%)
Total453.0453.0453.0453.0453.0453.0

Note. Markov chain: first-order model with states for each channel plus start, conversion and null; credit is proportional to each channel’s removal effect. Position-based gives 40% to the first and last touch and splits 20% across the middle. Time decay halves a touch’s weight every 2.00 touches before the conversion.

Table 2

Markov chain removal effects

ChannelP(conversion) without channelRemoval effectShare of creditAttributed value
Paid Search3.78%33.4%23.4%8,344
Organic4.02%29.3%20.5%7,307
Email4.15%26.9%18.9%6,722
Direct4.55%20.0%14.0%4,981
Social4.65%18.1%12.7%4,527
Display4.83%15.0%10.5%3,741

Note. Baseline probability of conversion from the start state: 5.68%. Removal effect = 1 − P(conversion without the channel) / baseline.

Share of conversions by attribution model

Transition probabilities (from row to column)

DirectDisplayEmailOrganicPaid Se…SocialConvNull(start)101314202518Direct364896660Display355685265Email455997657Organic455797460Paid Search455798358Social364796262

Interpretation

The Markov model gives the most credit to Paid Search (23.4% of conversions): removing it would cut conversions by 33.4%. Attribution shows how credit flows through observed journeys; incrementality tests (geo or holdout experiments) are needed to prove causal impact.

How to cite this tool

Using these results in a thesis, journal article, report or class assignment? Please cite this free tool so others can find it. It keeps the site free.

APA 7

Xavier, B. (2026). Marketing Attribution (Markov Chain and Multi-Touch Models) [Web application]. FreeStatisticalTools.com. https://freestatisticaltools.com/marketing-attribution-markov-chain/

BibTeX

@software{xavier_attributionmodel_2026,
  author = {Xavier, Bibin},
  title = {Marketing Attribution (Markov Chain and Multi-Touch Models)},
  publisher = {FreeStatisticalTools.com},
  year = {2026},
  url = {https://freestatisticaltools.com/marketing-attribution-markov-chain/},
  note = {Web application}
}
Download citation:

Suggested sentence for your methods section: “The analysis was carried out with the free Marketing Attribution (Markov Chain and Multi-Touch Models) tool on FreeStatisticalTools.com (Xavier, 2026).”

What is marketing attribution?

Multi-touch attribution distributes credit for conversions across the channels in each customer journey. This tool builds a first-order Markov chain from your paths and credits each channel by its removal effect, and compares the result with first-touch, last-touch, linear, position-based and time-decay attribution, for conversions and conversion value.

When to use marketing attribution

Use multi-touch attribution to understand how channels work together along the customer journey, to compare data-driven (Markov) credit with rule-based models such as last click, and to inform budget discussions.

Assumptions

  • Journeys are complete and correctly stitched across devices; missing touches bias the results.
  • The first-order Markov model assumes the next step depends only on the current channel.
  • Attribution is descriptive: it allocates credit, it does not prove that a channel caused a conversion.

How to set up your data

One row per distinct path, with the channels in order separated by “>” (for example Social > Email > Paid Search), the number of conversions on that path, and optionally the number of journeys that did not convert and the conversion value.

The attribution problem

Most customers interact with a brand several times before they convert: they see a social ad, search for the product, click a promotional email and finally type the website address directly. Which channel deserves credit for the conversion? Marketing attribution models answer this question by distributing each conversion (and its value) across the touchpoints in the customer’s journey. The answer matters because budgets follow credit: a model that gives everything to the last click starves the channels that create demand in the first place.

Rule-based attribution models

The tool computes the five most common rule-based models side by side:

  • First touch: 100% of the credit to the first channel in the path. It rewards channels that start journeys (awareness).
  • Last touch: 100% to the last channel before conversion. For years the default in analytics tools, it rewards channels that close journeys, such as branded search and direct visits.
  • Linear: equal credit to every touch in the path, counting repeated touches separately.
  • Position-based (U-shaped, 40/20/40): 40% to the first touch, 40% to the last, and the remaining 20% shared among the middle touches. Paths with two touches split 50/50.
  • Time decay: touches closer to the conversion get more credit; a touch’s weight halves every h touches before the conversion (the half-life you set, by default 2).

These models are easy to explain, but the weights are arbitrary choices, not estimates from data.

Data-driven attribution with a Markov chain

The Markov chain model (Anderl, Becker, von Wangenheim and Schumann, 2016) treats customer journeys as random walks between states. Each channel is a state, with a start state where every journey begins and two absorbing end states: conversion and null (journey ends without converting). From the observed paths, the tool counts how often customers move from each state to each other state, giving a transition probability matrix (shown as a heatmap). Solving the absorbing Markov chain gives the overall probability that a journey starting at the start state ends in conversion.

The credit for each channel comes from its removal effect: the tool removes the channel from the graph (every transition into it now leads to the null state) and recomputes the conversion probability. If conversions would fall from 5.7% to 3.8% without paid search, its removal effect is 1 − 3.8 / 5.7 = 33%. Removal effects are normalised to sum to 100% and multiplied by the total conversions (and value) to give attributed conversions. Channels that sit on many converting paths, whether at the start, middle or end, get credit in proportion to how indispensable they are. The results match the R package ChannelAttribution’s first-order Markov model.

Worked example with the built-in data

The example contains 7,974 journeys summarised as 238 distinct paths across six channels, with 453 conversions (a 5.7% conversion rate) and their revenue. The Markov model gives the most credit to paid search (23.4% of conversions, removal effect 33%), followed by organic (20.5%) and email (18.9%). Compared with last-touch attribution, the Markov model gives more credit to social and display, which tend to appear earlier in journeys, and slightly less to direct and email, which tend to close journeys started elsewhere. Display, for instance, receives 9.1% of conversions under last touch but 10.5% under the Markov model.

Preparing path data

  • One row per distinct path, with the channels in order separated by a character such as “>” (for example Social > Email > Paid Search), the number of conversions on that path and, ideally, the number of journeys that followed the same path without converting.
  • Non-converting journeys are important: without them, the Markov model only sees successful journeys and cannot tell which channels lead to dead ends. The tool warns when they are missing.
  • Add a value column (revenue or profit) to attribute value as well as conversions.
  • Define channels at a useful level of detail (for example separate brand and non-brand search), but avoid dozens of tiny channels with few journeys.
  • Many analytics platforms and CDPs can export path reports in this format; otherwise, build paths from session-level data by concatenating the channels of each user’s sessions up to the conversion.

Comparing models

Looking at all models together is often more informative than choosing one. Channels whose credit changes a lot between first touch and last touch play a distinct role in the funnel: introducers versus closers. If a channel gets far more credit from the Markov model than from last touch, it is an important assist channel that last-click reporting undervalues; cutting it may hurt more than last-click numbers suggest.

Limitations of all attribution models

  • Attribution is not incrementality. Models allocate credit across observed touches; they do not show what would have happened without a channel. Branded search, for instance, often captures conversions that would have happened anyway. Geo experiments, holdout tests and marketing mix modeling measure causal impact.
  • Tracking gaps. Cross-device journeys, cookie restrictions, offline touches (TV, outdoor, word of mouth) and ad views without clicks are often missing, which biases all models towards trackable digital channels.
  • First-order Markov assumption. The next step depends only on the current channel, not the full history; higher-order models need much more data.
  • Path definition. Results depend on the lookback window and how sessions are grouped into journeys.

Reporting

Report the data period, the number of journeys, paths and conversions, the channel definitions, and the credit assigned by each model, with the Markov removal effects. Example: “A first-order Markov chain attribution model of 7,974 journeys (453 conversions) attributed 23.4% of conversions to paid search (removal effect 33.4%), 20.5% to organic search and 18.9% to email.”

Glossary of attribution terms

  • Touchpoint: an interaction between the customer and a marketing channel, such as an ad click or an email open.
  • Path (journey): the ordered sequence of touchpoints before a conversion or the end of the lookback window.
  • Lookback window: how far back touchpoints are counted before a conversion, often 30 to 90 days.
  • Transition probability: the share of journeys at one channel that move next to another channel, to conversion or to null.
  • Absorbing state: an end state of the Markov chain (conversion or null) that journeys cannot leave.
  • Removal effect: the relative drop in conversion probability when a channel is removed from all journeys.
  • Assist: a touch that is not the last before conversion; last-click models give assists no credit.
  • Incrementality: the conversions that would not have happened without a channel, measured with experiments.

Key references: Anderl, Becker, von Wangenheim and Schumann (2016), International Journal of Research in Marketing; Shao and Li (2011), KDD; Kannan, Reinartz and Verhoef (2016), International Journal of Research in Marketing.

How to use this tool

  1. Enter your data. Paste columns from Excel, Google Sheets or SPSS with variable names in the first row, or upload a CSV or Excel file. The example data shows the expected layout.
  2. Choose the variables. Select the path (channels in order), conversions, non-converting journeys (optional) and conversion value (optional).
  3. Set the options. Fill in separator between channels and time-decay half-life (touches).
  4. Read the results. Results update automatically. Read the plain-English interpretation, then use Copy table to paste APA-style tables into Word and Copy for the results sentence.

How to report marketing attribution in APA style

Report the data period, number of journeys and conversions, and the credit (or share) each model assigns to every channel, highlighting the Markov removal effects.

Frequently asked questions

What is Markov chain attribution?

A data-driven model that treats journeys as transitions between channel states and credits each channel by how much conversions would fall if it were removed.

What is a removal effect?

1 − P(conversion without the channel) ÷ P(conversion with all channels). Removal effects are normalised to share out the conversions.

Why include non-converting journeys?

They show which channels lead to dead ends. Without them, the Markov model only sees successful paths.

What is position-based attribution?

A rule that gives 40% to the first touch, 40% to the last and shares 20% among the middle touches.

What data format is needed?

One row per distinct path with channels separated by “>”, the number of conversions and optionally non-conversions and value.

Does attribution measure incrementality?

No. It allocates credit across observed touches. Use experiments or marketing mix modeling to measure causal impact.

Related tools

Learn this method step by step in the free course Customer and Marketing Analytics, with exercises and a certificate.

Browse all categories