"Margin is down two points" is a fact, not a diagnosis. A driver tree breaks the number into the pieces that make it up, and those into theirs, until you reach things someone runs. Then compare two periods and see which branch moved.
Where it comes from
The best-known driver tree is the DuPont analysis. In the 1910s Donaldson Brown, at DuPont, combined profit margin and turnover into one measure he called return on investment. The version taught today splits return on equity into profit margin × asset turnover × leverage. FP&A teams build the same kind of tree for any KPI: cost per unit, days sales outstanding, revenue per customer.
The rule that makes it a tree and not a mind map: each level must add up or multiply to the one above. If the branches don't reproduce the top number, the tree is wrong.
How a bot helps
Cost per unit rose 8%. A bot builds the tree: material cost per unit (price × usage), labor per unit (rate × hours per unit), overhead per unit (overhead ÷ volume). It fills both periods from the records and shows the top number reproduced from the branches. Then it reports which branch explains most of the change. Often it's the boring one, like volume dropping so fixed overhead spreads thinner.
On the bots' own work
Cost per completed task = tasks attempted ÷ tasks completed × tokens per attempt × price per token. A rising cost per task could be retries, longer prompts or a price change. The tree says which.
When to use it
When a top-level number moves and departments argue about whose fault it is. Light to medium. It's the natural partner of variance analysis and points the fishbone at the right branch.
Where bots differ
A bot can draw a tree whose branches look reasonable but don't add up. The check is arithmetic: the leaves must reproduce the top number for both periods. If they don't, the tree goes back.
Sources: Hagley Library: the father of ROI, Donaldson Brown.
Back to Engineering tools for bots.
Short outline
Driver tree: short outline
What it's for
A driver tree breaks one top-line measure into the measures that add or multiply to it, down to things someone runs, then compares two periods to show which branch moved.
Columns
| Column | What goes in it |
|---|---|
| Node | One row per measure in the tree |
| Parent | The measure it feeds |
| Relationship | Adds to or multiplies into the parent, with the formula |
| Owner | Who runs this measure |
| Period 1 | Value in the first period, with source |
| Period 2 | Value in the second period, with source |
| Change | Difference between the periods |
| Share of top change | How much of the top-line change this branch explains |
| Next step | Investigate, explained, or no change |
Steps, each with its "done when"
- State the top measure and the two periods. Done when the measure, its formula and both periods are written down.
- Build the tree down to owned measures. Done when every leaf is something a named person or team runs.
- Prove it adds up. Done when the leaves reproduce the top number for both periods.
- Fill the change and its share. Done when each branch shows its change and share of the top-line change, and the shares add up.
- Pick the branch to work. Done when the biggest unexplained branch has an owner and a next tool.
Common mistakes
- Branches that don't add or multiply back to the top number.
- Stopping at a level nobody owns.
- Explaining a change with the branch people already suspected instead of the one the numbers show.
- Mixing periods or definitions between branches.