TrueProfit
The bottom line
error Row 0 does not exist in the dataset in net sales → error Row 0 does not exist in the dataset kept. That's a error Row 0 does not exist in the dataset net margin — about error Row 0 does not exist in the dataset of every dollar, after all real costs.
New-customer CAC is the real acquisition cost; ad cost / order (blended) spreads spend across all orders (repeats included) — lower, but a handy efficiency gauge. Watch both.
Across error Row 0 does not exist in the dataset orders and error Row 0 does not exist in the dataset new customers — error Row 0 does not exist in the dataset of orders were repeat buyers — over error Row 0 does not exist in the dataset– error Row 0 does not exist in the dataset. Momentum (last 7 days vs prior 7): net profit error Row 0 does not exist in the dataset, new-customer CAC error Row 0 does not exist in the dataset → error Row 0 does not exist in the dataset.
Monthly P&L — every dollar in, every cost out
Catalog Error: Table with name daily_pnl does not exist!
Did you mean "information_schema.table_constraints"?
LINE 3: ..., sum(ad_spend) ads, sum(net_profit) net from (select * from trueprofit.daily_pnl
^Where every revenue dollar goes
Catalog Error: Table with name daily_pnl does not exist!
Did you mean "information_schema.table_constraints"?
LINE 3: ..., sum(ad_spend) ads, sum(net_profit) net from (select * from trueprofit.daily_pnl
^New vs returning customers
Three lenses on the same question — and the gap between them is the story:
Only error Row 0 does not exist in the dataset of your customers are repeat buyers (the number Shopify reports) — but they order more often ( error Row 0 does not exist in the dataset of orders) and spend more each time ( error Row 0 does not exist in the dataset vs error Row 0 does not exist in the dataset for new), so they drive error Row 0 does not exist in the dataset of revenue. Repeat customers punch far above their weight — and cost nothing in ads.
What a typical order actually makes you
Walk down an average error Row 0 does not exist in the dataset order:
- − error Row 0 does not exist in the dataset product cost
- − error Row 0 does not exist in the dataset shipping
- − error Row 0 does not exist in the dataset payment fees + packaging
- = error Row 0 does not exist in the dataset profit, before ads
To win a new customer you spend error Row 0 does not exist in the dataset in ads (real CAC — repeats excluded). Since their first order alone makes error Row 0 does not exist in the dataset before ads, you're profitable on the very first order — a error Row 0 does not exist in the dataset× cushion, with every repeat purchase pure upside.
Are you making money on new customers?
Two lines settle it — ignore blended ROAS/MER, which credit ads for your repeat and word-of-mouth sales:
- 🟦 Profit per order before ads — what an order leaves after product, shipping, fees, packaging.
- 🟧 New-customer CAC — ad spend ÷ new customers (repeats excluded — the real cost to win someone).
As long as blue stays above orange, every customer you buy pays off on their first order, and repeats are gravy.
Profit & margin over time
Watch list
- On error Row 0 does not exist in the dataset of error Row 0 does not exist in the dataset days, winning a new customer cost more than an order makes before ads — acquisition lost money those days.
- Best day: error Row 0 does not exist in the dataset at error Row 0 does not exist in the dataset net.
- Worst day: error Row 0 does not exist in the dataset at error Row 0 does not exist in the dataset net.
Real COGS (Shopify cost-per-item, effective-dated) · real fees (Shopify Payments) · real shipping (ShipStation) · refunds netted · CAC on new customers only · $1 packaging is the one estimate.
