Revenue command center
In plain English
This screen answers one question: why did sales go up or down?
At the top are nine numbers about your business. Here's what they mean:
| Number | In plain terms |
|---|---|
| Revenue | Total money taken |
| Orders | How many orders |
| AOV | Average order value — what a typical customer spends per order |
| New customers | People buying from you for the first time |
| Active customers | People who bought at all in this period |
| Repeat rate | How much of your business comes from people buying again |
| LTV | Lifetime value — total spend of a typical customer over time |
| CAC | Customer acquisition cost — what it costs to get one new customer |
| ROAS | Return on ad spend — money back for every £1 of ads |
Below that is the useful bit. Instead of just saying "sales are down 11%," the app breaks it down and tells you which part of your business caused it — with a pound figure for each cause.
The single most useful thing here: it tells you whether you got fewer orders or smaller orders. Those are completely different problems. Fewer orders means a traffic or website problem. Smaller orders usually means you're discounting too much.
Important warning about CAC. The app only knows about the marketing costs it can see — your ads and influencer fees. It can't see your agency bill, your staff, or your content costs. So your real cost per customer is higher than the number shown. Use it to spot whether things are getting better or worse, not as your actual figure.
How to use it
- Click "Intelligence" in the left-hand menu, then "Revenue."
- Look at the nine numbers. Each shows an arrow for whether it went up or down compared with the previous period of the same length.
- Compare "Orders" with "AOV." If orders dropped but AOV stayed the same, you have a traffic problem. If orders held but AOV dropped, you're discounting too heavily.
- Scroll to the breakdown section. It lists the causes of any change, biggest first, with a pound amount on each.
- Read the top cause and act on that — not on your first guess about what happened.
- Do this for good months too. If sales jumped, find out why so you can do it again.
⏱ ~5 min · 💳 Pro+ · 🎯 Know not just what moved, but why
Why this matters for your business
"Revenue is down 11%" is not information. It's the beginning of an investigation that, done manually, takes most teams half a day — export orders, pivot by channel, compare to last month, check whether it's fewer orders or smaller ones, remember to check whether last month had a promotion in it.
And the investigation usually stops at the first plausible answer. Someone notices paid spend went up, concludes it's ad costs, and the team acts on that. Often it's wrong, because the first plausible explanation and the actual driver are frequently different things — and nobody has time to check the other four hypotheses.
Revenue diagnosis does the whole decomposition every time, in both directions. It splits any change into mechanical drivers, assigns a dollar contribution to each, and ranks them. "Your email channel dropped $4,200 — that's 73% of the total move" is an answer you can act on in the same meeting where the question was asked.
The KPI strip does the same job for the other eight numbers, with one important discipline: it compares against a matched prior period, not against a calendar month. Comparing a 31-day month to a 28-day one produces a 10% "growth" number that is pure arithmetic, and it has misled more merchants than almost any other reporting mistake.
What this typically unlocks
| Outcome | Typical result |
|---|---|
| Time to diagnose a revenue move | ~2 min vs. half a day |
| Wrong root-cause conclusions | Sharply reduced — all drivers checked, not just the first |
| Calendar-length distortion in comparisons | Eliminated — matched windows |
| Visibility into acquisition cost | Present with honest caveats, rather than absent |
| "Why was last week good?" | Answerable — diagnosis works upward too |
What you actually get
The KPI strip
Nine metrics, each with value, absolute change, and percentage change against the matched prior window.
| KPI | Definition | Watch for |
|---|---|---|
| Revenue | Attributed revenue in window | The headline |
| Orders | Order count | Diverging from revenue means AOV moved |
| AOV | Revenue ÷ orders | Falling AOV with flat orders is a discount or mix problem |
| New customers | First-time buyers | Your acquisition engine |
| Active customers | Customers who ordered in window | Your real base size |
| Repeat rate | % of orders from returning customers | The retention signal |
| LTV | Mean lifetime spend per customer | Slow-moving; watch by cohort |
| Est. CAC | (ad spend + influencer fees) ÷ new customers | See the caveat below |
| Est. ROAS | Attributed revenue ÷ ad spend | Directional, same caveat |
The CAC caveat — read this once
CAC is computed as observable marketing spend divided by new customers. Observable means:
| Included | Not included |
|---|---|
| Windowed ad spend from connected ad accounts | Agency retainers |
| Influencer campaign fees active in the window | Email and SMS provider costs |
| Content production | |
| Tooling and software | |
| Your own time |
The number is therefore an underestimate, and it's labelled "ads only" so you know. Where a per-day ad-spend timeseries is available it's a true windowed sum; where it isn't, a prorated proxy stands in.
Use it for trend — is acquisition getting more or less efficient? — and not as your true unit economics. Your finance model should use your full marketing cost; this figure is for spotting movement, quickly, without waiting for month-end.
The same caveat carries into ROAS, which shares the spend denominator.
Revenue diagnosis
The decomposition compares your window to the matched prior window and splits the difference across four mechanical drivers:
| Driver | The question it answers |
|---|---|
| Channel mix shift | Which channels gained or lost, and by how much |
| Volume vs. AOV | Fewer orders, or smaller orders? |
| Repeat-rate change | Acquisition problem or retention problem? |
| Anomaly hits | Did a known incident occur in this period? |
Each driver gets a dollar contribution and a share of the total move, ranked largest first. The output reads like a sentence:
Revenue −$5,740 (−11.2%) vs. prior 30 days
Email channel −$4,190 (73% of the move)
Volume (orders −14%) −$3,900 AOV flat at $86
Repeat rate −6 pts retention, not acquisition
Anomalies 1 critical — deliverability, day 8
It always returns something. When revenue is up, you get the positive drivers — which is how you find out whether a good month was a channel win, a mix shift, or one large order.
Volume vs. AOV — the split that matters most
This single distinction redirects more strategy than anything else on the page:
| Pattern | Diagnosis | Where to look |
|---|---|---|
| Orders ↓, AOV flat | Traffic or conversion problem | Acquisition, site, channel health |
| Orders flat, AOV ↓ | Discounting or mix problem | Promotions, product mix, bundles |
| Orders ↓, AOV ↑ | Losing small orders — often a shipping-threshold or entry-price change | Pricing, free-shipping rules |
| Orders ↑, AOV ↓ | Growing on discount-led demand | Promotion depth, margin |
The last row is the dangerous one — revenue can be flat or rising while the business quietly gets worse, and only the split reveals it.
Attribution
The attribution surface shows revenue credited by channel, and each channel deep-links to the tool that runs it — email to the email writer, organic to the SEO dashboard, paid to ad copy, influencer to campaigns, and so on. Attributed revenue is the same ledger that feeds "Revenue driven" in the Daily Ops Executive Pulse, so the two never disagree.
Full methodology — models, windows, and how credit is split — lives in Attribution & revenue.
Daily series and forecast
A daily revenue trend across the window, with anomaly markers drawn from the same detection that powers anomaly alerts. Forecast & AI extends the trend and adds a short plain-English narrative summarising what the deterministic engines found — three lines, above the dashboard, that you can check against the numbers underneath.
How it works (without the technical bits)
Real merchant scenarios
Scenario A — The ad-spend theory that was wrong
Setup. Home-fragrance brand, revenue −11% month over month. Paid spend had risen 18% in the same period. The obvious conclusion was ad-cost inflation, and the plan was to cut spend.
Diagnosis:
| Driver | Contribution |
|---|---|
| Email channel | −$4,190 (73%) |
| Volume: orders −14%, AOV flat | −$3,900 |
| Repeat rate −6 pts | Retention |
| Paid channel | +$610 |
Paid was up. The increased spend was working. Email — their retention channel — had collapsed, taking the repeat rate with it.
Root cause. A critical anomaly on day 8: sending-domain reputation flagged, deliverability fell off a cliff.
What cutting paid spend would have done. Removed the only channel that was growing, while leaving the actual problem untouched. The diagnosis took under two minutes and changed the decision entirely.
Scenario B — Growth that wasn't
Setup. Supplements brand, revenue +6% quarter over quarter. Celebrated in the board deck.
KPI strip:
| KPI | Change |
|---|---|
| Revenue | +6% |
| Orders | +23% |
| AOV | −14% |
| New customers | +31% |
| Repeat rate | −9 pts |
| Est. CAC | +41% |
What was actually happening. Orders up 23%, AOV down 14% — the discount-led growth pattern. A sitewide promotion had run for most of the quarter. It brought a lot of new, deal-driven customers who bought smaller baskets, didn't come back, and cost 41% more each to acquire.
Revenue grew and the business got worse. Contribution margin was down, retention was down, and the customer base had been diluted with a cohort that wouldn't repeat.
Action. Promotion depth cut from 25% to 10%, shifted to targeted segments. Following quarter: revenue +2%, AOV recovered to −3%, CAC back to +8%, repeat rate up 4 points. Slower growth, much better business.
Scenario C — The calendar illusion
Setup. Merchant reported "February was terrible, down 9% from January" three years running.
With matched windows. Comparing the trailing 30 days to the prior 30 days rather than calendar months:
| Comparison | Result |
|---|---|
| Calendar Feb vs. Jan | −9% |
| Matched 30-day windows | +1.4% |
The whole difference was 28 days versus 31 — a 9.7% arithmetic gap. February had never been bad.
What it had cost them. Two previous years of "fixing February" — extra promotions, panicked ad spend — addressing a problem that was a calendar artifact.
Scenario D — CAC honesty preventing a bad decision
Setup. DTC brand saw est. CAC at $18 and average LTV at $140. A 7.8:1 ratio looked outstanding, and the plan was to double ad spend.
Reading the caveat. The "ads only" label prompted a check. Their actual acquisition cost included a $9,000/month agency retainer and roughly $4,000/month in content production — neither visible to the platform.
True CAC:
| Basis | CAC | LTV:CAC |
|---|---|---|
| Ads only (as shown) | $18 | 7.8:1 |
| Fully loaded | $41 | 3.4:1 |
Still healthy, but a completely different decision. 3.4:1 with a 9-month payback meant scaling carefully rather than doubling.
The label did its job. A tool reporting $18 as "your CAC" without qualification would have driven a spend decision on a number that was less than half the real figure.
Scenario E — Diagnosis working upward
Setup. Merchant had an unusually strong week and wanted to know whether to repeat whatever caused it.
Diagnosis:
| Driver | Contribution |
|---|---|
| Organic channel | +$6,800 (61%) |
| AOV +$14 | +$2,900 |
| Volume | +$1,400 |
Cause. A blog post had reached page one for a high-volume query eight days earlier. Organic traffic to that post was converting at 4.1%.
Repeatable. They commissioned four more posts against the same query cluster. Two ranked within a quarter.
Why this matters. Most teams only investigate bad weeks. Good weeks are treated as luck and never diagnosed — which means the repeatable causes never get repeated.
Best practices
✅ Check volume vs. AOV before anything else. It's the fastest route to the right half of the problem.
✅ Use matched windows, not calendar months. The default is already matched — resist exporting to a spreadsheet that isn't.
✅ Diagnose good periods too. Repeatable wins are worth more than post-mortems.
✅ Track CAC as a trend, not a level. The direction is trustworthy even though the absolute number under-counts.
✅ Cross-check the anomaly row. A critical anomaly inside the window usually is the explanation.
✅ Read repeat rate alongside new customers. Growth with falling repeat rate is dilution, not growth.
❌ Don't quote "ads only" CAC to investors or in a unit-economics model. Load it fully first.
❌ Don't act on the first plausible driver. Scenario A's team nearly cut the one channel that was working.
❌ Don't use 7-day windows for strategy. Too noisy; use them for incidents.
❌ Don't celebrate revenue growth without checking AOV and repeat rate. Scenario B is extremely common.
Plan tiers
| Capability | Free | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|---|
| KPI strip with prior-period deltas | — | — | ✓ | ✓ | ✓ |
| Revenue diagnosis | — | — | ✓ | ✓ | ✓ |
| Driver waterfall (channel × segment × product) | — | — | ✓ | ✓ | ✓ |
| Attribution breakdown | — | — | ✓ | ✓ | ✓ |
| Est. CAC and ROAS | — | — | ✓ | ✓ | ✓ |
| Daily series with anomaly markers | — | — | ✓ | ✓ | ✓ |
| Forecast + AI narrative | — | — | ✓ | ✓ | ✓ |
| Multi-store revenue roll-up | — | — | — | ✓ | ✓ |
Frequently asked
Why doesn't revenue here match my Shopify admin? This shows attributed revenue in a rolling window; the admin shows gross revenue by calendar period. Both are correct — check the window and the basis label.
What exactly is the "prior period"? The same number of days immediately before your window. A 30-day view compares against the 30 days before it, never against a calendar month.
Why is CAC "ads only"? Because that's what the platform can observe. Making up a number for your agency retainer would be worse than the honest gap.
Can I add my full marketing spend? Not currently. Take the ads-only figure as a trend line and apply your own loading factor for absolute unit economics.
What if a channel isn't attributed? It appears as unattributed. That's usually a tracking gap — see Pixel & event pipeline.
How does revenue diagnosis handle a one-off large order? It appears in the volume/AOV split as an AOV effect. Check the driver waterfall's product breakdown to confirm before drawing conclusions from a single order.
Does the AI narrative compute anything? No. It summarises what the deterministic engines already produced. Every number it mentions is visible and checkable underneath.
Why is my repeat rate different from Customer 360? This measures the share of orders from returning customers in the window. Customer 360 measures the share of customers who have ordered more than once. Different questions.
See also
- Growth Intelligence overview — the hub and its sections
- Action Center — what to do about what you found
- Customer intelligence — cohorts and LTV by channel
- Goals & alerts — targets and feasibility
- Attribution & revenue — full attribution methodology
- Anomaly detection — the anomaly markers on the series
- Revenue & ROAS — the reporting view
- Pixel & event pipeline — fixing attribution gaps