Analysis
Diagnose performance
/diagnose-performance
Find out why a number moved, and what to do about it. It splits the change into the levers that build it, names the main driver and drills into it by channel, product or customer group.
Ask it
"Why did revenue drop last month?" or "What's driving CAC up?"
- Net sales, last month against the month beforeintake
- Splitting it into visits, conversion and order valuelever tree
- Conversion explains 66% of the dropsplit
- Drilling in by device: mobile, after the 14thdrill down
- A checkout app update, you saycause
- Three recommendations, each with what to watchrecommend
Walkthrough
See Diagnose performance run, start to finish
Open source
Get the skills
Leave your email and we'll send the install steps. It takes a couple of minutes to set up with Claude.
- Leave your email
- Add the skills in Claude
- Ask for one by name
Check your inbox: the install steps are on their way.
What it does
Pick the figure you are judging, such as net sales, orders or profit, and any two periods: last month against the month before, or this quarter against the same quarter last year. It splits the figure into the levers that build it, such as visits, conversion and order value, says how much of the change each lever explains, and names the main driver.
Then it drills into that driver one level at a time, by channel, product or customer group, asks you what you think caused it, and recommends what to do about it, with what to watch and how to check it worked.
When to use it
When a number moved and you need to know why before you act on it: a drop in revenue, a jump in CAC, a month that came in under budget. It works at any scope: the whole store, one channel such as Meta, one Google Ads campaign down to the ad group or keyword, or a single Klaviyo flow.
Reach for something else when:
- You want the whole month, not one number: /review-month.
- You already know the problem is a landing page: /audit-landing-pages.
What it needs
Nothing to start. Without a Growth Brain it reads what your Claude is connected to (Shopify, Google Analytics 4, Google Ads or Meta Ads), asks for a report export where a lever has no connector, and says plainly which levers it could not read.
A Crux Growth Brain adds profit margin, one source for every lever, and the drill-down by channel, product and customer cohort.
How it works
- IntakeIt asks the figure you are judging, the two periods and where the data comes from, with a recommendation for each. Anything your first message already says is not asked again.
- Lever treeIt shows how the figure breaks into levers, how each is measured and where it is read from, and runs nothing until you say yes.
- SplitIt reads every lever in both periods and works out how much of the change each one explains, so the levers add up to the whole change.
- Drill downIt takes the main driver one level at a time, by channel, product or customer group, to where the change sits.
- CauseIt asks you what caused it, offering two or three likely causes: a big discount, a launch, an email push. The more context you give, the sharper the recommendations. "Don't know" is a fine answer: the actions then start with a check.
- Recommend and writeOne to three recommendations per driver, each with a hypothesis, the action, the metric to watch and whether to test, watch or ship, on one page.
What you get
One page for your team: the change, a waterfall of what each lever added or took away, the drill-down, and recommendations with hypotheses ready for your test backlog. Nothing is changed in your ads, your store or your data.
Signs it's working
- The levers add up to the whole change, with any lever it could not read shown as a gap, never hidden.
- It names the main driver, two at most, with the share of the change each explains.
- The cause is in your words, or marked not confirmed.
- Every recommendation says what to watch and how you will know it worked.
FAQs
Which number should I diagnose?
The one you judge the business on. With a Growth Brain that holds your margin it recommends contribution margin after marketing; otherwise net sales.
What if a connector can't read a lever?
That lever reads "No data" and the page says so. The rest of the diagnosis still runs.
What if last week's figures are still settling?
It flags a figure that hasn't matured yet, such as returns still coming in, so you can compare like for like rather than flatter the newer period.
Can it run without asking me anything?
Yes. Say "unattended" or "don't ask me anything". It then marks every cause as not confirmed and starts every action with a check.
Where it fits
Diagnose performance answers one question about one number. /review-month is where you usually spot the number worth diagnosing, and when the driver turns out to be a page, /audit-landing-pages goes into it.