hermes

Build a KPI driver tree

Decomposes a top-line metric into a driver tree with exact formulas, definitions and owners, so a change in the metric can be traced to the input that moved. Use for metric design and reviews.

context

A KPI tree (driver tree) breaks an outcome metric into the inputs that produce it, so when the metric moves the team can say which input moved and who owns it. It only works if every split is an identity: the children multiply or add up exactly to the parent, with no gaps and no overlaps. Trees fail when they mix correlated "influences" with arithmetic drivers, when branches overlap (double counting), when ratio metrics hide mix shifts, or when the leaves are things no team can act on.

task

Build a KPI tree for "" in this business:

business model

  1. Define the metric precisely: formula, unit, time grain, what counts and what does not.
  2. Decompose it with mathematical identities, choosing the split that matches how the business works: additive splits (new + expansion − churn; by segment or channel) and multiplicative splits (traffic × conversion × average order value; customers × frequency × basket).
  3. Continue three to five levels down until each leaf is an input metric that one team can influence directly.
  4. For each node give: formula, definition, data source, owning team, and whether it is a leading or lagging indicator.
  5. Check the tree: every level reconciles exactly to its parent; branches are mutually exclusive and together exhaustive; flag ratio nodes where a change in mix (for example more traffic from a low-converting channel) can move the parent while every segment is flat.
  6. Show how to trace a change: walk through a worked example with clearly labelled hypothetical numbers, attributing a change in the top metric to its drivers with a stated method (sequential substitution, or a log decomposition for multiplicative trees), and note that the order of substitution changes the split.
constraints
  • Every edge is an identity, not a correlation. Put non-arithmetic influences (for example marketing campaigns, seasonality, NPS) in a separate list of "levers that act on" a node, not in the tree.
  • Use the business's own terms and data sources when given. Where a data source is not mentioned, mark it "[source?]" instead of guessing a system.
  • Label all example numbers "hypothetical". Never present them as the business's data.
  • Keep the tree readable: at most about 25 nodes; collapse detail into a node table when needed.
  • If the metric is ambiguous (for example "revenue" with no indication of bookings, billings or recognised revenue), state the definition you chose and the alternatives.
output format

Metric definition

Formula, unit, grain, inclusions and exclusions.

Tree

A Mermaid flowchart TD diagram in a fenced block, with the operator (+, −, ×, ÷) on each split, followed by the same tree as an indented list with formulas.

Nodes

A table: node | formula | definition | data source | owner | leading or lagging.

Tracing a change

The hypothetical worked example with its arithmetic.

Data gaps

Nodes you cannot measure yet, and what to instrument.

2 required values still a placeholder; the assistant will ask for them.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Data analysis
category
Reporting
level
Intermediate
made for
Data analyst, Product manager, Founder / business owner, Business analyst
risk
read-only
version
v1.0.0 · experimental
reviewed
2026-10-02
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 build-kpi-tree --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill build-kpi-tree -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.

pairs well with

All of Reporting
PromptStatistics

Analyse A/B test results

Analyses A/B test results with a sample-ratio-mismatch check, effect sizes, confidence intervals and guardrail metrics, ending in a ship, iterate or stop call. Use when an experiment ends.

analyze-ab-test-results
PromptSpreadsheets

Run a what-if analysis

Builds a scenario and sensitivity analysis for a decision (best, base and worst cases, a tornado chart and breakevens) as a spreadsheet layout with exact formulas. Use before committing to a plan.

run-what-if-analysis
WorkflowReporting

Analysis project track

Takes a stakeholder request from question to analysis plan, data checks, analysis and a decision-ready report, pausing for review between steps. Use when an analyst takes on a request.

analysis-project-track
PromptReporting

Automate a recurring report

Designs automation for a recurring report (sources, refresh, transformations, data checks, delivery) with tools matched to the team's skills. Use when a weekly or monthly report eats hours.

automate-recurring-report
PromptReporting

Compare performance across periods

Compares performance across periods (YoY, MoM, like-for-like), handling trading days, holidays, seasonality and mix, and builds a variance story that adds up. Use before reporting a period change.

compare-period-performance
PromptReporting

Define a metric

Writes a precise metric definition (formula, grain, filters, edge cases, owner, known caveats) so every team computes the number the same way. Use when a metric is disputed or about to be launched.

define-metric