The numbers a Shopify owner should see weekly
Most reporting fails in one of two directions. Either there is nothing, and decisions are made on the bank balance, or there is a dashboard of forty metrics that nobody reads because none of them stand out.
The useful version is short. Nine figures, weekly, where a movement in any one of them means something specific.
The four about money
Contribution, not revenue. Sales less cost of goods, discounts, payment fees and delivery. Revenue can rise while this falls, which is the situation worth catching early — see the real margin on a Shopify order.
Contribution per order. The average, tracked over time. Falling means your mix has shifted, your discounting has increased, or your delivery costs have risen — and the components tell you which.
Money earned but not yet available. Sales not settled, plus payouts not allocated, plus reserve held, plus any cash-on-delivery not remitted. Usually larger than expected, and it explains a profitable month with an uncomfortable bank balance — see settlement timing and your cash forecast.
All-in payment cost as a percentage of sales. Every fee, including the platform transaction fee, over gross sales. It should be stable. Movement means your payment mix has shifted or a rate has changed without anyone telling you — see the true cost of accepting a payment.
The three about the operation
First-attempt delivery success rate. The measure that drives the largest avoidable cost in fulfilment. A fall points at addresses, at a courier, or at a region — see failed deliveries and what they cost.
Payment decline rate by method. A rise on one method is usually a configuration problem or a fraud filter set too tight, and it is a direct revenue leak that nothing else surfaces — see failed payments and the orders they leave behind.
Return rate, by product. Concentrated rather than spread, almost always, and the concentration is actionable — see returns on your own store and what they cost.
The two about whether the numbers can be trusted
Frequently omitted, and they are what tells you whether the other seven mean anything.
Exception queue size and age. Growing means something upstream has broken. Ageing means it is not being worked. Either way the other figures are less reliable than they look — see the exception queue and how to size it.
Unexplained value. The total of everything not yet matched — bank credits without reports, transactions without orders, orders without transactions. Should be small and clearing on a rhythm — see keeping automated books healthy.
A store watching only the first seven is watching numbers whose reliability it is not measuring. These two are the reliability measure.
Why weekly
Daily is too noisy for most of these. A single large order moves contribution per order, and reacting to that is worse than not looking.
Monthly is too slow. A decline rate that rose on the fourth is three weeks of lost orders by month end, and a reference that stopped flowing is a month of degraded matching.
Weekly is frequent enough to catch a change while it is still small, and infrequent enough that the noise averages out. It also fits a rhythm someone will actually maintain, which matters more than the theoretical optimum.
Making them useful rather than decorative
Four things that separate a report that changes behaviour from one that gets glanced at.
Show the direction, not just the value. This week against last, and against the same week a year ago if seasonality matters. A number alone says nothing; a movement says something.
Show the components when something moves. Contribution per order falling is a question. Falling because delivery cost rose is an answer with an action attached.
Keep it to one page. Nine figures. The discipline of choosing which nine is most of the value, and every addition dilutes the rest.
Have a response for each. If a figure moved and nobody would do anything differently, it does not belong on the page. That test removes most metrics from most dashboards.
What it depends on
Worth being honest: none of these are available from Shopify alone.
Contribution needs cost of goods, payment fees and delivery attached at order level. Money not yet available needs settlement and reserve data from your gateway. Exception and unexplained figures only exist if reconciliation is running — see Shopify reporting and where it stops.
Which is the argument for doing the reconciliation work first. The reporting is quick once the data is complete and impossible before — see automating a Shopify store in the right order.
Common questions
What should a store owner look at weekly?
Nine figures: contribution and contribution per order, money earned but not yet available, all-in payment cost as a share of sales, first-attempt delivery success rate, payment decline rate by method, return rate by product, and the size and age of the exception queue plus the total unexplained value.
Why weekly rather than daily or monthly?
Daily is too noisy for most of these — a single large order moves contribution per order and reacting to that is counterproductive. Monthly is too slow, since a decline rate that rose early in the month costs three weeks of orders before anyone sees it. Weekly catches changes while they are small and fits a rhythm people maintain.
Why include exception queue size in an owner's report?
Because it measures whether the other figures can be trusted. A growing queue means something upstream has broken, and an ageing one means it is not being worked — either way the margin and cash numbers on the same page are less reliable than they appear. Without it, you are watching figures whose reliability you are not measuring.
How do you decide whether a metric belongs on the page?
Ask whether a movement in it would change what you do. If a figure moved and nobody would act differently, it does not belong. That test removes most metrics from most dashboards, and the discipline of choosing which few remain is where most of the value is.
Related: the real margin on a Shopify order · Shopify reporting and where it stops · keeping automated books healthy
Read next
See what you could build
Start a free trial and describe what your business needs in plain language — SmartB Studio builds the module for you.
Start free trial