AI Multi-Touch Attribution
Imagine spending millions on marketing without knowing which channels actually drive sales. Last-click overvalues direct closures, while display, YouTube, and programmatic get no credit. The result: blind budget optimization, losing 15–25% of potential ROI. Data-driven attribution solves this by distributing value across all touchpoints using machine learning. At TrueTech, we specialize in AI attribution with over 5 years of experience, having implemented over 50 projects—from retail to fintech. Our models process over 5 million events daily and operate in real-time. Our turnkey attribution solution integrates seamlessly with existing stacks.
Why Last-Click Attribution is Dangerous for Your Budget
Last-click assigns 100% of value to the last touchpoint. This overrates direct and brand search, while awareness channels (display, YouTube, programmatic) remain undercredited. The result: marketers cut upper-funnel budgets, even though those channels generate demand. Based on our data, switching from last-click to data-driven attribution increases ROI by 15–25% and saves up to 30% of the marketing budget. For marketing budget optimization, a holistic view is essential.
| Model | Principle | When to Use |
|---|---|---|
| Last-click | 100% value to last touchpoint | Simple paths with short cycles |
| First-click | 100% value to first touchpoint | Brand campaigns, lead generation |
| Linear | Evenly across all touchpoints | Many touches, no priorities |
| Time decay | Exponential weight toward end | Long cycles with warmed leads |
| Position-based | 40% first, 40% last, 20% intermediate | Balanced evaluation |
| Data-driven (ML) | Based on real channel contribution | Maximum accuracy |
How Shapley Value Works in Attribution
Shapley Value fairly distributes credit based on a channel's marginal contribution across all possible coalitions. For example, if channel A together with channel B increases conversion by 20%, but without B drops to 5%, Shapley accounts for that. This approach is axiomatically fair and captures channel synergy, but for more than 15 channels, Monte Carlo approximation is needed due to exponential complexity. For a retail client, we implemented Shapley attribution, resulting in a 22% ROI increase and reallocation of 15% budget from brand to performance.
from itertools import combinations
def shapley_attribution(channels, conversion_rate_by_combination):
n = len(channels)
shapley_values = {ch: 0 for ch in channels}
for ch in channels:
for r in range(n):
others = [c for c in channels if c != ch]
for subset in combinations(others, r):
subset_without = frozenset(subset)
subset_with = frozenset(subset | {ch})
marginal = (conversion_rate_by_combination.get(subset_with, 0) -
conversion_rate_by_combination.get(subset_without, 0))
weight = (factorial(r) * factorial(n-r-1)) / factorial(n)
shapley_values[ch] += weight * marginal
return shapley_values
How Markov Chain Attribution Works
Another approach: model the user path as a Markov process. Each channel is a state, transitions are probabilities. A channel's contribution is measured via removal effect: how much overall conversion drops if that channel is removed. Markov Chain is faster than Shapley and suitable for 20+ channels.
def markov_chain_attribution(paths_df):
transition_matrix = build_transition_matrix(paths_df)
absorption_probs = compute_absorption_probs(transition_matrix)
removal_effects = {}
base_cr = absorption_probs['conversion']
for channel in channels:
modified_matrix = remove_channel(transition_matrix, channel)
cr_without = compute_absorption_probs(modified_matrix)['conversion']
removal_effects[channel] = (base_cr - cr_without) / base_cr
total_effect = sum(removal_effects.values())
attribution = {ch: re / total_effect for ch, re in removal_effects.items()}
return attribution
| Characteristic | Shapley Value | Markov Chain |
|---|---|---|
| Principle | Marginal contribution | Removal effect |
| Complexity | Exponential (approximation) | Quadratic |
| Interpretability | High | Medium |
| Suitable for >15 channels | With approximation | Yes |
| Captures synergy | Full | Partial |
How Cookieless Attribution Changes the Game
After the phase-out of third-party cookies and stricter GDPR, classic user-level attribution becomes impossible. Solutions: Aggregate Measurement (API with differential privacy) and hybrid MMM + MTA. MMM (Media Mix Modeling) works on aggregated data, MTA on first-party data. Calibrating MTA with MMM provides robust estimates, improving accuracy to 90%.
def calibrate_mta_with_mmm(mta_attribution, mmm_attribution):
calibration_factor = {
ch: mmm_attribution[ch] / mta_attribution.get(ch, 0.01)
for ch in mmm_attribution
}
calibrated_mta = {
ch: mta_attribution[ch] * calibration_factor.get(ch, 1.0)
for ch in mta_attribution
}
return calibrated_mta
Why Incremental Testing is the Gold Standard for Validation
The best way to verify attribution is experimentation. Geo-holdout: run the channel in one region, disable in another, and compare conversions (DiD). Ghost ads: show ads to only part of the audience—true incremental lift. The resulting coefficients calibrate the model, boosting accuracy to 90%.
def difference_in_differences(treatment_region, control_region, pre_period, post_period):
did = (
(treatment_region[post_period].mean() - treatment_region[pre_period].mean()) -
(control_region[post_period].mean() - control_region[pre_period].mean())
)
return did
What's Included: Deliverables
- Audit of current marketing data and infrastructure (CDP, CRM, ad platforms).
- Selection and customization of attribution model (Shapley, Markov Chain, MMM).
- Integration with your dashboard (Tableau, Power BI, custom BI).
- Model documentation, team training.
- Support for 3 months after launch.
How We Do It: Process
- Analytics — data collection, path stitching, cross-device matching.
- Design — model selection, metric alignment.
- Implementation — building the pipeline in Python, testing.
- Validation — incremental tests, calibration.
- Deployment — dashboard integration, automated reporting setup.
Experience and Guarantees
We are a team with over 5 years of experience in AI attribution (50+ projects). We use only production-proven stacks: PyTorch, Hugging Face for embeddings, Pinecone for vector data. We guarantee transparency—you receive the full model code and quality metrics. Learn more about the mathematics of attribution in the article about Shapley value.
Timelines and Cost
Timelines: from 3 weeks (basic rule-based models) to 3 months (full cycle with incrementality testing). Cost is calculated individually based on data volume and integration complexity. Typical project costs range from $10,000 to $100,000 depending on data volume and complexity. Get a consultation from our expert or request a demo of the model on your historical data—contact us, and we will assess your project and find the optimal solution.







