Lessons

The Operator's Math

  1. 1Contribution margin, not gross margin
  2. 2Your ad target is wrong
  3. 3Where LTV to CAC misleads
  4. 4Payback: the growth metric that can't be faked
  5. 5The numbers that mislead, ranked
The template (.xlsx) ↓ The course on one page →
Free course · 5 lessons · 1 spreadsheet

The Operator's Math

The numbers an operator runs a business on, counted the way they decide something: contribution, not gross margin; the ad target your margin sets; lifetime value on margin; and the week a customer pays back. For Amazon and Shopify sellers, and anyone who reads a P&L.

TrailerA two-minute trailer of the whole course will play here.

  • Follow one order's money from the price to what it keeps after ads.
  • Set your break-even ROAS and ACOS from your own margin, and read the last dollar, not the average.
  • Count lifetime value on margin, over a year, and say what CAC hides.
  • Date the week a new customer pays back, from your own orders.
  • Know which weekly numbers flatter you, and which one scares you out of money that pays.

Start lesson 1 Every lesson and the spreadsheet are open. No email, no account. The course on one page

No email is needed to read it. Leave one and we send the link and the spreadsheet, then a short note only when a fee card the courses use changes or a new course opens. One click unsubscribes. How we handle your email.

What is inside

  1. Contribution margin, not gross margin. Gross margin stops at your shelf.
  2. Your ad target is wrong. Most ROAS and ACOS targets are a rule of thumb or a competitor's number.
  3. Where LTV to CAC misleads. “LTV to CAC of three or more” is the rule everyone quotes.
  4. Payback: the growth metric that can't be faked. Lifetime value is a forecast.
  5. The numbers that mislead, ranked. Four numbers an owner reads every week, each set beside the true one on the same store, ranked by how far off..
Lesson 1 of 5

Contribution margin, not gross margin

Gross margin stops at your shelf. Contribution follows the order out of the door: the payment fee, the label, the box, the refund and the ad.

The templateThis lesson: Contribution.

Download (.xlsx) ↓

VideoThis lesson, taught on screen on its own charts, will play here.

Gross margin is price minus what the unit cost you to land: $24.00 − $7.20 = $16.80, 70% of the price. It is the number on most P&L summaries, and it leaves out everything the order costs after the unit reaches your shelf.

Contribution margin keeps going. Take off the payment fee, the shipping label you pay on free shipping, the packing, and the refunds, and what is left is what one order adds to the business before ads. Take off the ads, and what is left is what it adds after.

contribution before ads = price − landed cost − payment fee − label − packing − refunds

An invented store · Not a client · Not a result
Where one order's money goes, and what it keepsOne order at $24.00: landed cost $7.20, payment fee $1.00, label $7.58, packing $0.90, refunds $0.48; it keeps $6.84 before ads, and $2.82 after $4.03 of ads an order.Price$24.00Landed cost−$7.20Payment fee−$1.00Label−$7.58Packing−$0.90Refunds−$0.48Kept before ads$6.84Ads per order−$4.03Kept after ads$2.82
Where one order's money goes, and what it keepsOne order at $24.00: landed cost $7.20, payment fee $1.00, label $7.58, packing $0.90, refunds $0.48; it keeps $6.84 before ads, and $2.82 after $4.03 of ads an order.Price$24.00Landed cost−$7.20Payment fee−$1.00Label−$7.58Packing−$0.90Refunds−$0.48Kept before ads$6.84Ads per order−$4.03Kept after ads$2.82
One order of the invented roaster's bag of beans, free shipping, on Shopify Payments' Basic plan. The two blue bars are the money it keeps.

The invented coffee roaster sells a 12 oz bag at $24.00. Shopify Payments takes $1.00. The label, a parcel under a pound on USPS Ground Advantage, runs $6.93 to $8.40 by zone: $7.58 on an even mix. Packing is $0.90, and 2% of orders are refunded in full, $0.48 an order. The order keeps $6.84 before ads, 28.5% of the price, against a gross margin of 70%.

In September it spent $9,715 on ads across 2,413 orders: $4.03 an order. After ads each order keeps $2.82, 11.7% of the price.

An invented store · not a client · not a result. The label and the payment fee are the published cards Hubricon's engine carries; everything else is invented.

On Amazon

The same arithmetic, with Amazon's referral fee in place of the payment fee and the FBA fulfilment fee in place of the label and the packing. The Fee Staircase and The Price Curve price both on Amazon's 2026 cards.

Why it comes first

Every number in the rest of this course is built on contribution, not gross margin: the most an ad can cost, what a customer is worth, and how long they take to pay back. Built on gross margin, each of them comes out more than twice too generous on this store.

Check yourself

  1. A $40 product lands at $12. Gross margin?

    The answer

    $28, 70%: price minus landed cost, and nothing after the shelf.

  2. The same order pays $1.46 in fees, a $6.50 label, $1 of packing and $0.80 of refunds an order. Contribution before ads?

    The answer

    $40 − $12 − $1.46 − $6.50 − $1 − $0.80 = $18.24, 45.6% of the price.

Do this now

  1. Put your best seller's price, landed cost, fee, label, packing and refund rate into Contribution.
  2. Write down contribution before ads and after, beside gross margin.
Lesson 2 of 5

Your ad target is wrong

Most ROAS and ACOS targets are a rule of thumb or a competitor's number. Yours is in your contribution, it is judged on the last dollar, and it moves when customers come back.

The templateThis lesson: Ad target.

Download (.xlsx) ↓

VideoThis lesson, taught on screen on its own charts, will play here.

An ad pays while the order it buys keeps more than the ad cost. On a first order, that line is the contribution before ads, and it sets the break-even:

break-even ROAS = price ÷ contribution before ads

break-even ACOS = contribution before ads ÷ price

The invented roaster keeps $6.84 before ads on a $24.00 bag, so its break-even ROAS is 3.51, an ACOS of 28.5%. Its owner set a target of 3.0. At that target an ad sale costs $8.00 and the order keeps $6.84: every first order bought at target loses $1.16.

An invented store · not a client · not a result.

The average dollar and the last dollar

A platform reports a campaign's ROAS as an average: all the sales it credits, over all the spend. A decision is about the next dollar, and on a campaign that is already spending, the next dollar returns less than the average, because the easiest buyers were reached first. The average can pass while the last dollar loses.

An invented campaign · Not a client · Not a result
One campaign's spend against its sales: the average dollar and the last dollar90 days of one campaign: spend against the sales the platform credits to it, and the curve fitted through them. At today's $312 a day the average return is 3.34 and the last dollar returns 1.47. On a first order alone, the last dollar stops paying at $102 a day.$0$500$1k$1.5k$0$100$200$300$400$500Sales a day the platform creditsAd spend a dayToday $312 a dayAverage 3.34Last dollar 1.47Break-even, first order: $102
One campaign's spend against its sales: the average dollar and the last dollar90 days of one campaign: spend against the sales the platform credits to it, and the curve fitted through them. At today's $312 a day the average return is 3.34 and the last dollar returns 1.47. On a first order alone, the last dollar stops paying at $102 a day.$0$500$1k$1.5k$0$200$400Sales a day the platform creditsAd spend a dayToday $312 a day$102
90 days of the invented roaster's prospecting campaign. The dashed line is the average return; the short solid line is the last dollar's. Hover or touch the chart to read any spend.

The campaign spends $312 a day at an average ROAS of 3.34, over the owner's target. Hubricon's engine fits a curve through its days and reads the last dollar at 1.47, between 1.18 and 1.58. On a first order alone, every dollar past $102 a day loses money (the engine puts the line between $73 and $102): $2,353 a month on this campaign.

An invented campaign · not a client · not a result.

And the other way

A first order is not all a customer buys. The invented roaster's customers come back (lesson 3), and counted with the orders they are expected to make over the next year, discounted and on margin, the break-even ROAS falls to 1.03. The last dollar's 1.47 clears it: on that reading the campaign is spending too little, and the engine's break-even sits near $466 a day, past the most the campaign has spent, $419. Past the data, a step up is a test to measure, not a known return.

So the target was wrong three ways: under its own first-order break-even, judged on the average instead of the last dollar, and blind to the customers who come back. The right one is computed from your contribution and your own repeat orders, not chosen.

On Amazon

ACOS is the same number upside down: ad spend ÷ ad sales, so an ACOS of 25% is a ROAS of 4. No Amazon export says which buyer came back, so on Amazon the first-order break-even is the one the data can support.

Check yourself

  1. An order keeps $10 before ads on a $30 price. Break-even ROAS and ACOS?

    The answer

    ROAS 3.0, ACOS 33%: $30 ÷ $10, and $10 ÷ $30.

  2. A campaign's average ROAS is 4.0 and your break-even is 3.0. Is every dollar paying?

    The answer

    Not necessarily. The average includes the easiest sales; the last dollar can return less than 3.0 while the average passes.

Do this now

  1. Put your target and your largest campaign's last 30 to 90 days into Ad target.
  2. Compare the straight line's read of the last dollar with your break-even.
Lesson 3 of 5

Where LTV to CAC misleads

“LTV to CAC of three or more” is the rule everyone quotes. Counted on revenue, almost any store passes it.

The templateThis lesson: Customer value.

Download (.xlsx) ↓

VideoThis lesson, taught on screen on its own charts, will play here.

Lifetime value (LTV) is what a customer is worth over their time with you. Customer acquisition cost (CAC) is what winning one costs. The ratio is quoted as a health check, and how it is counted decides whether it means anything.

CAC = ad spend in a month ÷ customers whose first order fell in it

The invented roaster wins a customer for $23.66: its ad spend over its new customers, the last three months. Hubricon's engine reads its 7,030 customers' orders and expects a new one to come back 4.27 times in their first 52 weeks, at $28.03 an order after a first order of $24.00.

On revenue, that customer is worth $143.74: an LTV to CAC of 6.1, twice the rule. On margin, at 28.5%, they are worth $40.98: 1.73, between 1.70 and 1.77.

An invented store · not a client · not a result. The store is a simulation, so its truth is known: a new customer was built to come back 4.21 times a year. The engine, reading only the orders, said 4.27.

Four ways the ratio misleads

  1. Revenue is not value. A customer is worth the margin on what they buy, not the price. On revenue the ratio here is 6.1; on margin it is 1.73.
  2. "Lifetime" has no end date. Count a year, and discount it: a dollar of margin next autumn is worth less than one today. Hubricon's engine counts 52 weeks, and discounts them at 12% a year wherever they move an ad target.
  3. Your average customer is a survivor. The customers still buying are the ones who stayed. A new customer, the one an ad buys, is judged on everyone who started, including those who never came back.
  4. CAC is blended. No export links a campaign to the customer it won, so CAC is all the ad spend over all the new customers. Say so beside the number.

Checked before it is used

A repeat-purchase model can be fitted to anything. Hubricon's engine fits it on the first three quarters of the order history and asks it to predict the last quarter: here, for every repeat order it predicted, 0.97 happened. Outside 0.7 to 1.3 it refuses to touch an ad target. Passed, it multiplies what a first order is worth by 3.40 for the ad break-even, counted on every customer already on file, the cautious way.

Check yourself

  1. A customer is worth $150 of revenue a year at a 30% margin and costs $40 to win. LTV to CAC, both ways?

    The answer

    3.75 on revenue; 1.13 on margin, $45 ÷ $40.

  2. Why is a store's average customer a poor guide to a new one?

    The answer

    The customers still buying are the ones who stayed. A new customer is judged on everyone who started, including those who never came back.

Do this now

  1. Put your first and repeat order values, repeat orders and CAC into Customer value.
  2. Read LTV to CAC on margin, not revenue, and say it is blended.
Lesson 4 of 5

Payback: the growth metric that can't be faked

Lifetime value is a forecast. Payback is a date: the week a new customer has given back what they cost.

The templateThis lesson: Payback.

Download (.xlsx) ↓

VideoThis lesson, taught on screen on its own charts, will play here.

Payback is the week a new customer's margin covers what they cost to win. It needs no lifetime, no discount rate and no rule of thumb, and it says how long growth holds your cash.

margin back by week t = margin rate × (first order + repeat orders by week t × repeat order value)

An invented store · Not a client · Not a result
A new customer's margin back, week by week, against what they costA new customer's margin back, from the first order through week 52, against the $23.66 it cost to win them. It crosses in week 17.$0$10$20$30$40First orderWeek 13Week 26Week 39Week 52Margin back from one new customerWhat they cost $23.66Paid back, week 17
A new customer's margin back, week by week, against what they costA new customer's margin back, from the first order through week 52, against the $23.66 it cost to win them. It crosses in week 17.$0$10$20$30$40First orderWeek 13Week 26Week 39Week 52Margin back from one new customerWhat they cost $23.66Paid back, week 17
One new customer of the invented roaster, from the first order through a year, against what they cost. Hover or touch the chart to read any week.

The invented roaster's new customer gives back $6.84 on the first order and pays back their $23.66 in week 17 (the engine's interval: week 17 to 18). In September it won 412 customers: $9,748 spent before any of it came back.

An invented store · not a client · not a result.

Why it can't be faked

It is counted in margin, it is a date that arrives or does not, and you can check it against your own customers: take the ones who started a year ago and see when their margin passed what they cost. A store can grow fast and still run out of cash if its payback is longer than its cash lasts. Capital & Cash prices that side.

Check yourself

  1. Margin rate 30%, first order $40, repeat orders $40, CAC $36. How many repeat orders until payback?

    The answer

    Two: 30% × ($40 + 2 × $40) = $36.

  2. Why does payback matter more to a growing store than to a steady one?

    The answer

    Every new customer is cash out before it comes back; the faster the store grows, the more cash waits for paybacks.

Do this now

  1. Export your Shopify orders and drop the file above, with your margin rate and CAC.
  2. Write down the payback month beside how many months of cash you hold.
Lesson 5 of 5

The numbers that mislead, ranked

Four numbers an owner reads every week, each set beside the true one on the same store, ranked by how far off.

The templateThis lesson: Ranked.

Download (.xlsx) ↓

VideoThis lesson, taught on screen on its own charts, will play here.

Each of these is read on the invented store, beside the number that is true for the same store, the same month. Three flatter the business. One scares it out of money that pays.

#The numberIt saysTrueHow far off
1LTV to CAC, on revenueTrue: on 52 weeks of margin6.11.733.5×flatters
2Break-even ROAS on the first orderTrue: with the customers who come back3.511.033.4×too strict
3Gross marginTrue: contribution before ads70%28.5%2.5×flatters
4Average ROASTrue: what the last dollar returns3.341.472.3×flatters

An invented store · not a client · not a result. Ranked by how far each number is from the true one on this store; on yours the order may differ, and the spreadsheet's Ranked sheet reads them on your own figures.

What they have in common

Each is true about something, and none is the number the decision needs. Gross margin stops at the shelf. Average ROAS mixes the first dollar with the last. Revenue LTV counts price as if it were margin. A first-order break-even counts a customer as one order. A P&L is an average; a decision is made at the margin.

Then, in order

  1. Contribution before ads, on your best seller. Everything else is built on it.
  2. Your break-even ROAS from it, written beside the ad manager, and the last dollar's return on your largest campaign.
  3. Your customers' repeat orders and payback from your own Orders export, in lesson 4.

Check yourself

  1. Which of these numbers can flatter a business that is losing money on every ad sale?

    The answer

    Gross margin, average ROAS and revenue LTV to CAC can all look healthy while the contribution after ads is negative.

  2. Which number in the ranking errs the other way?

    The answer

    The first-order break-even: it ignores the customers who come back and can cut ads that pay.

Do this now

  1. Open the Ranked sheet on your own figures.
  2. Pick the one number furthest from its true value and change how you read it this week.

Keep it current

The fee cards these courses use change about once a year, and Amazon adds a holiday card every autumn. Leave an email and you hear when that happens, and when the next course opens. Nothing else.

No email is needed to read it. Leave one and we send the link and the spreadsheet, then a short note only when a fee card the courses use changes or a new course opens. One click unsubscribes. How we handle your email.