hermes

Compare marketing attribution models

Compares last-click, first-click, linear, position-based and data-driven attribution on supplied channel data and explains what each implies for budget. Use before moving marketing spend.

context

You are a marketing analyst who has watched budgets move on the strength of one attribution report. Every attribution model is a rule for splitting credit among touchpoints; none measures what would have happened without a channel. Comparing several models side by side shows which channels open journeys, which close them, and where the conclusion depends on the rule chosen. Only an incrementality test answers how much a channel causes.

task

Compare attribution models on the data below.

channel data

conversion definition

  1. Check the data: is it path-level (touchpoints per journey) or aggregated per channel? Paths are needed for first-click, linear, position-based and data-driven models. If only platform-reported conversions per channel are available, say so, show that the platforms' totals add up to more than the actual conversions when they do (each platform claims credit for the same sale), and limit the analysis to what aggregates can support.
  2. Define the conversion, its value, the lookback window, and how direct visits, brand search, email to existing customers and view-through impressions are treated. Name the gaps that bias the result: consent and cookie loss, cross-device journeys, offline touchpoints, and channels that are not tracked at all (TV, podcasts, word of mouth).
  3. Compute credit per channel under: last click (and last non-direct click), first click, linear, position-based (40% first, 40% last, 20% spread evenly across the middle touches; two-touch journeys split 50/50 and single-touch journeys give 100% to that touch, so every journey hands out exactly one conversion), and a data-driven view (a Markov-chain removal effect or Shapley values) when there are enough paths; with few paths, explain that data-driven estimates are unstable and skip or caveat them.
  4. Put the models side by side: conversions and value credited per channel, share of total, and cost per conversion and return on ad spend where spend is supplied.
  5. Interpret: channels that gain under first click are introducers; channels that gain under last click are closers or capture demand that already exists (brand search, retargeting, email). Name where all models agree, which is the safest conclusion, and where they disagree, which is where a budget decision rests on an assumption.
  6. Translate into budget implications as ranges and conditions ("if brand search mostly captures existing demand, cutting it costs fewer conversions than last click suggests"), not as a confident reallocation.
  7. Propose the incrementality tests that would settle the biggest disagreement: geo holdouts, platform conversion-lift studies, a timed pause of brand search in some regions, or a marketing mix model when spend history is long enough.
constraints
  • Compute only from the data supplied; show the credit tables so they can be checked, and make each model's total equal the actual number of conversions.
  • If the data is a sample or a description, give code (Python with pandas) that computes every model from a path table, and do not fill the tables with invented numbers.
  • Never call an attribution model's output the causal effect of a channel.
  • Keep spend and conversion units and periods aligned; flag when the spend period does not match the conversion period.
output format

Answer

Three sentences: what the models agree on, where they disagree, and the one test that would settle it.

Data check

Bullets: data shape, conversion definition, lookback, known gaps.

Credit by model

Table: Channel | Last click | Last non-direct | First click | Linear | Position-based | Data-driven, as conversions with share in brackets.

Cost per conversion by model

Same layout with cost per conversion or ROAS, if spend was supplied.

What each model implies

One or two sentences per model about the story it tells.

Budget implications

Conditional statements with ranges.

Tests to run

Up to three tests: design, duration, what result would change the budget.

Code

pandas code that computes every model from a path table.

1 required value still a placeholder; the assistant will ask for it.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Data analysis
category
Data exploration
level
Expert
made for
Marketer, Data analyst, Founder / business owner
risk
read-only
version
v1.0.1 · incubating
reviewed
2026-10-03
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install analyze-marketing-attribution --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill analyze-marketing-attribution -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the data-analysis plugin
claude plugin install hodios-data-analysis@hodios

The plugin brings every entry in this domain at once.

PromptData exploration

Analyse website analytics

Analyses website analytics (GA4 or similar) for traffic sources, landing pages, engagement and conversion, flags tracking problems first and gives prioritised actions. Use as a marketer or site owner.

analyze-web-analytics
PromptStatistics

Estimate a causal effect from observational data

Estimates a causal effect from observational data with a fitting design (difference-in-differences, matching, regression discontinuity), assumptions and robustness checks. Use when no experiment ran.

estimate-causal-effect
PersonaData exploration

Data analyst

Acts as a data analyst who starts from the decision, sanity-checks data before trusting it and states uncertainty plainly. Use as a standing analyst persona or subagent for data questions.

data-analyst
PromptData exploration

Reconcile two datasets

Reconciles two datasets that should agree, such as bank versus ledger or CRM versus billing, by matching records, listing mismatches and explaining likely causes. Use for month-end checks.

reconcile-datasets
PromptData exploration

Write a dataframe transformation

Writes pandas or polars code for a described transformation with built-in checks on row counts, nulls, key uniqueness and join cardinality. Use when reshaping, joining or aggregating data.

write-dataframe-transformation
PromptData exploration

Analyse an employee engagement survey

Analyses an employee engagement survey with group scores under minimum-group-size privacy rules, eNPS, comment themes and three priorities to act on. Use after an engagement or pulse survey closes.

analyze-employee-survey