Workbench. Operational views that are still being polished. They read the same data as Pulse; a view moves to the main page once it is finished.
What actually happened, read straight from Meta and Shopify every ten minutes. Nothing here is typed in or modelled.
Period: Today, Yesterday, This week (Monday to today), the last 7, 14 or 30 days, since day one, or any range you pick. Regions, the bar under the tabs, narrow every figure on Live, Retention and Contribution at once; only beside a region, or a country picked in the table, narrows to just that. A day runs midnight to midnight in Chicago, the ad account's clock — 09:00 to 09:00 in Tbilisi.
One rule for every number: Today against the same weekday last week up to the same time (last week's ad spend pro-rated by the hour); Yesterday against the same weekday last week; This week against last week to the same weekday; the rolling windows against the equal window before; or a window you pick.
One line can appear at the top: Shopify is not answering, which means the revenue on the page is missing. Nothing else is flagged there; the tiles carry the figures.
Revenue — every paid order after refunds, split into new customers and rebills. Contribution after ads — revenue less card fees, Stay AI's 1%, shipping (NSS's bill, or what the same parcel has cost), $5 a bottle shipped (free ones too) and Meta's spend; no VAT, every parcel ships duties paid. Under it, the average of the 7 finished days up to yesterday against your floor of minus $350 a day: today is still filling, so it is left out, which is why that figure is not the tile's total ÷ 7 when the tile includes today. Revenue to expect — the Stay AI charges booked for the window you pick, each at its chance to pay. New customers — paid first orders from any source, and ad spend ÷ them (CPA). Return on ads — first-order revenue ÷ ad spend, coloured against your investment floor (0.75× Europe, Gulf and the rest, 0.5× Asia, weighted by where the money went): red under it, orange up to 1.0×, light green to 1.15×, green above; break-even is beside it in grey. Rebill money and Subscribe close the row. Each tile shows its change against the compare window and a line of the last 30 finished days. More numbers opens total ROAS, orders, new-customer AOV, CPA and new-customer revenue.
A $0 order (a free replacement) and an order with every bottle removed are not orders or customers; their bottles and shipping still count as costs. A full refund leaves revenue and the order count; if the parcel had left, its costs stay.
By region — every market with the same measures, each coloured against its own floor. Over time — folded; open it for the chart. Day by day — newest first, never fewer than eight rows. Each block's ⓘ explains its own numbers.
What the ads buy on each day of the week.
Where visits land, and what people buy.
Advertising buys a customer once; the subscription is supposed to pay for that customer several times. This is the scoreboard on whether that is happening. The adherence half is measured on real orders; the forward half is modelled on the Projection tab's retention curve, so the two tabs cannot disagree.
The exact people behind that percentage, named and linked to Shopify. Days late runs from the estimated due date, so a few days either side is normal and two weeks or more is a genuine lapse. If this list looks wrong, the percentage is wrong — that is the point of showing it.
Cadence is inferred from bottles bought rather than read from the subscription contract, so a customer on a rescheduled plan can appear due slightly early or late. Cohorts start 1 July 2026 — anyone acquired before then has rebills landing in the data but no first order here, so they are not scored. The running week is marked and will keep filling.
Left early is who cancelled before this rebill was ever charged: for rebill 1 a share of every subscriber in the row, for rebill 2 and 3 a share of those who paid the one before. A young offer or market is mostly "not due yet", so its figure reads low; the + shows it against only the dates that have come. Then two reads on one row. Paid is the share of the people charged whose payment went through: how well the rebill is collected. Cards still retrying and cards never collected are counted beside it, because a charge that did not land is not a rebill. Still active and Left are shares of the people who paid: how the customers who were actually rebilled behave afterwards. The bar under each name is that second split, still active against left. A faint share rests on fewer than five people. Press + for the head counts and the money behind a row.
Choose when it was charged, the market, which rebill it was and the plan; every choice cuts the count, and a faint share rests on fewer than ten charges. Left in a day is a reaction to the charge itself, which is the only thing a billing day could change. A charge is only counted once its day or its week is over, unless the subscriber has already gone; the ones still inside that time are shown as too recent. Stay AI charges everyone at 06:03 UTC: about 08:00 in Central Europe, 09:00 in Riyadh, 15:00 in Seoul and midnight in Mexico City. Read it with care: a contract is charged on the weekday it was bought (its cycle is a whole number of weeks), so a row is also "the people who bought on that weekday", and a difference can come from either. The proof is a test: move the billing day for half of one weekday's contracts and compare.
One cohort, bought once and then followed until it dies. Put a sum in, spend all of it on advertising on day one, and watch what comes back. Nothing else is running: no second cohort, no other spend. The question this answers is if I put £10,000 in, when do I have £20,000, and where does it stop.
Charge more on every rebill, and say how much faster you think that makes people cancel. Everything else is held still so the two columns below differ only by this.
Whether each month earned more than it cost. The Cash tab asks when money moves; this tab counts each thing in the month it belongs to, whatever day the bill was paid.
Months behind us are real. The month we are in is real so far and forecast for the rest. Months ahead come from the Cash tab's engine, on the same daily budget, CPA and retention tail.
New customers are first orders and carry all the ads. Subscribers are rebills and carry none. Together they are the whole business.
Cash in the bank does nothing; subscribers are what the business is worth. Everything here is reinvested. The question is how much money to put to work: only our own, or $50,000 to $200,000 more from outside.
Five columns, the same rule in each: own cash, then four amounts raised. Read at the end of year 1, 2 or 3: how big the business is, what it took in, what it kept, where cash stands and what is still to land.
Worth with the money, less worth without it, less the money itself. It is what the raise added, not what it parked. The row under it shows what the last $50,000 added on its own: when that drops, the ladder has topped out.
For the column you tap: the CPA the plan assumes at the higher budget, what the same money does if it goes worse, how much of it never gets used, the bottles it needs, and the most it may cost.
The watch list is read from today's numbers. While a line there is crossed, hold, whatever the plan says.
One row per country with $1,500 or more of ad spend since day one, best first. The left half is the first order, on the same rules as Live: CPA is ad spend over every paid first order.
Two margins, not one. First-order margin is what a first order keeps after fees, freight and bottles — the free bottles ride in that parcel, so it is the thinner of the two. Rebill margin is read off the country's live contracts: the charge (product plus the delivery fee that contract collects) less fees, freight and the bottles a rebill ships. A market with dear freight can still keep a good rebill margin when its contracts charge a delivery fee. The LTV uses the first-order figures for what is already collected and the rebill figures for everything still to come.
Three things are measured, each on its own. Left before the rebill: of the country's subscribers, the share who cancelled before their first rebill was due — no card is charged. Card went through: of the subscribers whose rebill was actually charged, the share who paid — by people, and by money (what was kept of what rebill 1 asked for). The two differ when the failed cards sit on bigger baskets; the tail runs on the money rate. Stayed after paying: of those paid a week or more ago, the share still subscribed. A subscriber whose rebill is not due yet is in none of them.
A country's own rate is used as it stands once it rests on five or more people. Below that the all-country rate stands in, and the cell says so. Signal is the three multiplied, against the all-country result: a country that leaks at every stage is marked down at every stage.
LTV : CAC is contribution over ad spend: everything the country has collected since day one after fees, freight and bottles, plus what those customers' contracts are still expected to pay (the same engine as Retention's Still to come), divided by the ad spend that bought them. 1.0× is the advertising coming back and nothing more. Average tail gives every country the all-country rates. Own tail multiplies the contracts not yet rebilled by the country's Signal. Both count the same customers and the same spend as Retention — customers bought in the closed cohorts and the ad spend of those days — so the all-country figure at the top is Retention's LTV : CAC.
Push is 10% or more above the spend-weighted average, Pull back 15% or more below.
Left to right: not due yet → left before the rebill (no card charged) → card charged → paid, by people and by money → left after paying → still subscribed. A reading is given only with 5 or more charged and 5 or more a week past the charge.
Every active subscriber's last box, first order or rebill, read against what is usual for its country. On time is travelling no longer than the country's median. Slower is past the median but inside the slow quarter. Late is past that. Not shipped has no tracking number more than three days after the charge.
Charges to move is the working list for Stay AI and is always open: a subscriber whose next charge falls within 14 days and who will not have had the box for ten days by then, because it has not arrived or arrived too recently. Copy instructions + list puts the whole task on the clipboard — what to do, the rules, and one row per subscription — ready to hand to a person or to another AI. A date marked provisional is for a box still travelling; a row marked Hold has a box that never shipped or failed, so the charge should not run at all.
The regions and the list that needs a person are closed until you open them.
Freight is what NextSmartShip billed, wherever it has billed. Every parcel on their Cost Queries screen is joined to its order; an order they have charged for is costed at that charge, an order they have not yet charged for is priced at the median of what the same parcel to the same country actually cost, and the rate card is used only for a lane with no history. The panel at the bottom of this tab shows that history by country and parcel size.
ROAS tells you what came back per dollar of advertising. It does not tell you whether the order was worth shipping. A Korean order and a Gulf order at the same ROAS are not the same business, because one carries roughly $2.50 of freight a bottle and the other closer to $13.
This tab charges every region what it actually costs to serve — payment fees, freight on the bottles actually shipped, and the bottles themselves — and reports what is left after the advertising that bought it. Contribution is cash the region generated on the day, before any rebill.
The column that decides things is Cash neutral at: the ROAS at which that market neither makes nor loses cash — revenue in exactly equal to processing, freight, bottles, duty and the advertising that bought them. It sits next to the ROAS the market is actually running, so the comparison is one glance. Green means the market is already clearing its own bar; amber means it is short, and the tooltip says by how much.
The bar is not one number for the company. It is set by what a bottle sells for in that market and what it costs to put there, so Hong Kong needs about 1.4× and Qatar about 2.0× — and the market with the higher ROAS can be the one losing money. Switch Day one to With rebills and the bar drops to whatever the subscribers that market created are worth over three years.
Freight is not measured. NextSmartShip authenticates but returns 401 on every read, so these are the rates you gave me, as dials. The blended figure under the table is the check: if it does not land near the $10.15 we have been modelling, the rates below are wrong, not the model.
This tab keeps its own period, separate from Live — you can read thirty days of contribution without disturbing whatever window Live is set to. It opens on the last 30 days, because a market's cash position is not a thing a single day can tell you at two orders a day.
Compare puts a second window beside the first. Period before takes the window immediately preceding, of equal length; Custom lets you pick any two ranges you like — a launch fortnight against the fortnight after a freight change, say. Every delta in the table is then this window against that one: money moves in dollars, ROAS and the cash-neutral bar in ×, so you can see the two closing on each other or coming apart.
Two windows of different lengths are allowed — sometimes that is the comparison you want — but the page says so above the table, because the percentages beside them are not like-for-like.
The region ticks are the same ones as Live, deliberately: which regions you are looking at is one question, not one per tab, and having two answers to it is how you end up comparing a filtered table to an unfiltered one. Untick a region here and Live agrees when you get there. With anything filtered, unattributed spend is excluded rather than parked in whichever region happens to be on.
The bank balance, walked forward one day at a time. Nothing here is averaged: each payment sits on the day it really reaches or leaves the bank, because a cash problem is always a date, never a rate.
Lowest point: the smallest the balance gets and the day it happens. If it is above the floor there is room; Most we can spend on ads says how much: the highest daily budget at which the balance never goes under the floor inside the window.
Moved off Live on 22 Oct 2026 while it is polished (David). China stock only; it does not follow the region bar.
When each flavour in the China warehouse runs out, how far spend can grow before it does, and the last day to order a run.
One question: what is the last day we can place a production order and still not run out. Stock and burn are measured; everything else is a dial you can move.
Bottles leave at a rate set by ad spend. Stock divided by that rate gives a stockout date. Walk back the production and shipping lead time, then walk back a safety buffer, and you have the order-by date. If that date is in the past, the only remaining options cost money — air freight, or letting a flavour go out of stock.
Running out of one flavour is running out. Cover is always the binding flavour, never the average — an average hides the flavour that fails first.
The advertising funnel as Meta reports it, every stage from impression to purchase, with the same window compared against the one before it. This is where a problem shows up days before it reaches revenue.
Meta claims a purchase when it can attribute one, including views that never got clicked, so its count runs ahead of the orders Shopify actually recorded. Both are shown. The gap between them is not an error — it is the size of Meta's attribution claim, and worth watching in its own right.
Everyone acquired in the window you pick, cut three ways: where they are, which pack they chose, and which flavours. Customer counts, order values and subscribe rates are measured. Advertising cannot be attributed to a pack — someone picks the pack after they click — so cost per customer is exact by market and allocated everywhere else.
Customers are placed by the day of their first order, so narrowing the window changes who is in the tables, never which order of theirs is counted. The advertising narrows with them — spend outside the window is not divided into customers inside it — so CPA stays exact by market whatever you pick. Since day one runs from 1 July 2026, when trading started.
Read live from Shopify, one column per warehouse, because the two are not interchangeable: NextSmartShip in Dongguan is what actually ships to customers and OMS in California cannot fulfil those orders without a transfer first. The projection counts whichever of the two the toggle says, and runs at the burn of the last fortnight — deliberately not the window above. Stock is a fact about today and this projects forward from it, so it has to use the pace the business is running at now, not the pace of whatever period you happen to be reading customers over.
The offer shows in the shape of the order: a 2+1 arrives as quantities of 1 and 2, a 3+2 as 2 and 3, a 5+5 as 5 and 5. Totals alone cannot tell a 2+1 from three separate bottles, so the shape is kept rather than the sum.
Arithmetic on stated assumptions, not a measurement. Every dial below is editable and everything recalculates instantly — the forecast is only worth what those numbers are worth. It compounds each region forward on its own last-seven-day performance.
It is grouped deliberately, because the commonest way to misread a forecast is to mistake one month for a total: what a single month looks like, what has accumulated since day one, and where the balance sheet stands. Read the bottles row first — long before cash or ad efficiency becomes the constraint, the factory does.
Nothing below is hidden. Change any number and everything recalculates instantly — the forecast is only worth what these are worth.
Built from the last seven days by region — each keeps its own ROAS, order value and fulfilment cost. Every dollar above the cash floor goes back into advertising.