learn-ecommerce-metrics-with-phoebe / Analyst session 2 of 8
Learn Ecommerce Metrics with Phoebe · Analyst track · Session 2 of 8

The core four by hand

Conversion rate, AOV, GMV, and the units-times-price split hiding inside AOV. Today you compute all of them from Mango Lane's raw event counts with a pen and paper - no dashboard, no tool. Once you have derived a metric yourself, no report can ever bluff you about what it means, and you gain the analyst's superpower: catching a dashboard that quietly disagrees with its own raw counts.

🟢 Analyst track Analysts · marketers · ops · founders Pen, paper, no tool 45 min
0-4 · Recap 4-12 · The raw counts 12-40 · Compute the core four 40-45 · Sanity habits
Part 0

From reading numbers to making them

Last session (b1) you learned what Mango Lane records: the five-event trail and the counting rules. Today those events become metrics. Everything is arithmetic a twelve-year-old can do - division, mostly - and that is the point. The core four (conversion rate, AOV, GMV, and units per transaction x item price) are the spine of every review pack you will ever build, so you should be able to produce them from raw counts on the back of a napkin.

Live - presented in session Self-study - read after class ★ Demo - everyone computes along Sources covered
★ What you walk out with today The core four computed by hand from raw counts, the two-factor split inside AOV (basket size vs item price), the GMV-to-money ladder that turns headline GMV into actual net revenue, and two sanity habits that catch broken tracking before it embarrasses you in a meeting.
Part 1 · the ingredients

The month's raw counts 8 min live

Here is everything Mango Lane's event trail recorded last month, before anyone divided anything. Five counts. Every metric in this session is built from exactly these - if a number on this page cannot be traced back to this table, it does not belong on this page.

Raw countValueWhere it comes from
Distinct visitors240,000unique people, however often they returned
Sessions360,000one per visit; expires after ~30 min idle (b1)
Purchase events9,720orders - each purchase event is one order
Total item revenue$660,960summed from every purchase event's line items
Units sold19,440items across all those orders
LiveWhy we start from raw counts, not from the dashboard4 min▶

A dashboard shows you a 2.7% and asks you to trust it. Raw counts let you make the 2.7% and check it. The difference matters because tracking breaks quietly: a checkout script update drops purchase events for a week, a bot filter changes and session counts jump, a currency setting doubles revenue. The analyst who can recompute a metric from raw counts notices; everyone else presents the wrong number confidently.

  • Counts are facts, metrics are choices. 9,720 purchase events happened - fact. Whether you divide them by sessions or visitors is a definition choice (b1's denominator lesson).
  • Every metric today is one division away from this table, or one division and one multiplication.
  • Keep the table. The homework asks you to build the same five-row table for your own store.
Demo 1 · everyone computes

Conversion rate - both denominators ★ 8 min · pens out

Conversion rate is orders divided by traffic - but b1 taught you that "traffic" has two honest meanings. So we compute both, and see with real numbers why they differ.

LiveSession CR, then visitor CR, step by step6 min▶

Session CR = purchase events ÷ sessions = 9,720 ÷ 360,000. Divide: 9,720 ÷ 360,000 = 0.027 = 2.7%. This is Shopify's "online store conversion rate" definition, and this course's default.

Same store, same orders, two honest conversion rates Session CR - sessions 2.7% Visitor CR - visitors ~3.9% Same 9,720 orders, two honest denominators: sessions give 2.7%, distinct buying visitors give about 3.9%.
🔍 Click to zoom - same orders, different denominator, different rate

Visitor CR needs buying people, not orders. Roughly 9,300 distinct visitors placed those 9,720 orders - some people bought twice in the month. So buying visitors < orders, always.

Visitor CR = buying visitors ÷ distinct visitors = 9,300 ÷ 240,000 ≈ 0.0388 = ~3.9%. Same store, same month, and both numbers are correct.

Notice you could NOT compute visitor CR from the raw-counts table alone - "buying visitors" is a sixth count, a people-level dedupe of the purchase events. When a tool reports visitor CR, that dedupe is happening behind the curtain.

Why 3.9% is bigger than 2.7% Each visitor averages 1.5 sessions, so the visitor denominator is smaller (240,000 vs 360,000) while the numerator barely shrinks (9,300 vs 9,720). Smaller denominator, similar numerator, bigger rate. If your two CRs ever get closer together, your shoppers stopped returning - itself a finding.
Real world

Which one do the tools give you? Shopify's "online store conversion rate" is session-based, exactly like our 2.7%. GA4's purchase journey funnel counts users, so its top-to-bottom rate behaves like our visitor CR. Put a Shopify dashboard and a GA4 funnel side by side and they will disagree on "conversion rate" every single day - correctly. Teams have run week-long "data quality investigations" over exactly this gap.

Demo 2 · everyone computes

AOV and the two factors inside it ★ 8 min · pens out

Average order value is revenue per order - one division. But AOV has its own mini driver tree: an order's value is how many items it holds times what each item costs. Splitting AOV into those two factors is what turns "AOV moved" from a fact into a diagnosis.

LiveAOV, then its two-factor split6 min▶

AOV = total item revenue ÷ orders = $660,960 ÷ 9,720 = $68. Every order averaged sixty-eight dollars.

Units per transaction = units sold ÷ orders = 19,440 ÷ 9,720 = 2. The average basket holds two items.

Average item price = revenue ÷ units = $660,960 ÷ 19,440 = $34. Cross-check the tree: 2 units x $34 = $68 = AOV. It closes exactly - it always must, because the two factors are just AOV's own numerator and denominator rearranged.

The habit to build When AOV moves, never stop at "AOV is down". Ask WHICH factor moved: basket size (units per transaction) or item price. A $68 to $61 drop could be shoppers buying 1.8 items instead of 2 (bundling broke, cross-sell widget died) or the same 2 items at $30.50 (discounting crept up, mix shifted to cheaper categories). The fixes have different owners.
Real world

Shopify's fine print: Shopify computes AOV as revenue ÷ orders excluding gift cards and post-order adjustments (refunds and edits made after the order). So a Shopify AOV can disagree with your own revenue-÷-orders arithmetic without either being wrong - they netted differently. This is the session's recurring theme, and Demo 3 makes it the whole lesson.

Demo 3 · everyone computes

GMV and the ladder down to real money ★ 12 min · pens out

GMV - gross merchandise value - is the headline number: everything shoppers ordered. Compute it two ways: sum the purchase events ($660,960 from the raw table) or multiply orders x AOV (9,720 x $68 = $660,960). Same answer, as it must be. But GMV is not money in the bank. Between "ordered" and "kept revenue" sits a ladder of deductions, and every rung is a place two reports can honestly disagree.

GMV - orders placed $660,960 9,720 orders x $68 minus cancellations -$13,219 (2%) left: $647,741 minus returns / refunds -$52,877 (8%) left: $594,864 minus discounts -$33,048 (5%) left: $561,816 Net revenue ~$561,816 85% of headline GMV Returns of 8% are fashion-typical; some apparel stores see 20-30%. Always ask the category norm. Shopify's own ladder: Gross sales → Net sales (less discounts, returns) → Total sales (plus tax, shipping).
🔍 Click to zoom - the ladder from headline GMV down to net revenue, one deduction per rung
LiveWalk the ladder with the actual arithmetic6 min▶

Start at GMV $660,960 - the value of everything ordered, the moment it was ordered.

Cancellations (orders killed before shipping - payment failed, stock out): 2% of GMV = $13,219. Left: $660,960 - $13,219 = $647,741.

Returns and refunds (shipped, then sent back or refunded): 8% = $52,877. Left: $647,741 - $52,877 = $594,864. Eight percent is realistic for fashion - wrong size, wrong color, "ordered three, kept one".

Discounts (promo codes, markdowns applied at checkout): 5% = $33,048. Left: $594,864 - $33,048 = $561,816 net revenue. The store keeps about 85 cents of every headline GMV dollar.

There is no GMV standards body No universal rule says what GMV nets out. Some companies quote it before cancellations, some after; some deduct discounts, some do not. Shopify does not even use the word - its ladder is Gross sales → Net sales → Total sales. So the professional move is never "what is GMV?" but "what is netted out of this number?" Ask it every time someone shows you a revenue figure, and you will catch more errors than any formula will.
Pulling it together

The core four on one page 3 min live

Everything you computed today, in the format you should keep at your desk: metric, formula, this month's value, and the one thing that makes each number lie to you.

LiveMetric · formula · value · watch-out3 min▶
MetricFormulaMango LaneWatch out for
Conversion rateorders ÷ sessions (or buying visitors ÷ visitors)2.7% session / ~3.9% visitorUndeclared denominator - the b1 trap
AOVrevenue ÷ orders$68Platform exclusions (Shopify: gift cards, post-order adjustments)
AOV's factorsunits ÷ orders, then revenue ÷ units2 units x $34Reporting AOV moves without saying which factor moved
GMVorders x AOV = summed order value$660,960Nobody agrees what it nets out - always ask

Next session (b3) these four stop being separate rows: you assemble them into one GMV driver tree in a live simulator, where wiggling any input recomputes everything downstream - the arithmetic you did by hand today, running continuously.

Part 4 · the analyst's hygiene

Two sanity habits that catch broken numbers 5 min live

The core four are easy. Keeping them trustworthy is the actual job. Two habits do most of the work.

LiveHabit 1 - cross-foot everything3 min▶

Cross-footing is accountant-speak for checking that a table's parts sum to its total. For metrics: orders x AOV must equal summed revenue (9,720 x $68 = $660,960 ✓), units per transaction x item price must equal AOV (2 x $34 = $68 ✓), and channel revenues must sum to total GMV. If two of these disagree, one of the source counts is wrong - and you found out at your desk, not in the Monday meeting.

✗ Cross-foot fails silently Team celebrates a 12% AOV jump Orders x new AOV overshoots revenue by 9% - metric broken ✓ Cross-foot closes exactly 9,720 orders x $68 AOV = $660,960 total revenue 2 units x $34 price = $68 AOV A failing cross-foot once caught a double-firing bug before the room saw the number.
🔍 Click to zoom - a cross-foot that does not close means a number is broken, not the business
Real world

The check that pays for itself: a team celebrates a 12% AOV jump. A cross-foot shows orders x new AOV overshoots summed revenue by 9%. Cause: a deploy started double-firing the revenue parameter on some purchase events. Revenue was fine; the metric was broken. Ten seconds of multiplication beat a week of wrong decisions.

Self-studyHabit 2 - recompute one metric from raw counts monthly2 min read▶

Once a month, pick one core metric and rebuild it from raw event counts, exactly as you did today, then compare against the dashboard. A small standing drift (dashboard says 2.65%, you get 2.7%) usually means a definition difference - find it once, write it down (b8's spec sheet). A new drift means tracking broke: an event stopped firing, a filter changed, a script update ate the purchase pixel. Tracking rot is silent; this habit is the smoke alarm.

Homework

Try it yourself - this week ◐ 20-30 min total

Sources

Sources this session draws on

The formulas are arithmetic, but the definitions - what gets excluded, what gets netted - come from the platforms' own documentation. This page draws on:

✓Shopify AOV definition - revenue ÷ orders, excluding gift cards and post-order adjustmentsDemo 2 · why platform AOV can differ from your arithmetic
✓Shopify sales ladder - Gross sales → Net sales → Total salesDemo 3 · one platform's version of the money ladder
✓GA4 users and sessions documentation - distinct users vs sessions as denominatorsDemo 1 · session CR vs visitor CR
◐GMV convention - honest note: there is no standard-setter; every company nets differentlyDemo 3 · why "what's netted out?" beats any formula
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · Mango Lane has 9,720 orders, 360,000 sessions, and ~9,300 buying visitors out of 240,000. Why is visitor CR (~3.9%) higher than session CR (2.7%)?

Each visitor averages 1.5 sessions, so switching from sessions to visitors shrinks the denominator by a third. The numerator shrinks only slightly (repeat buyers dedupe 9,720 orders to ~9,300 people). Smaller denominator, similar numerator, bigger rate. Note repeat buying makes buying-visitors SMALLER than orders, not bigger - that is why A is wrong.

2 · AOV drops from $68 to $61. Units per transaction is still exactly 2. What moved, and roughly to what?

AOV = units per transaction x average item price. If units held at 2, then price = $61 ÷ 2 = $30.50, down from $34. The two-factor split turns "AOV is down" into a specific question with a specific owner (pricing, promo, or merchandising mix - not the cross-sell widget).

3 · A partner announces "$660,960 GMV". Which of these is definitely NOT yet deducted from that number?

Trick question, deliberately. No standards body defines GMV: some companies quote it before cancellations, some net out discounts, some do not. Shopify avoids the term entirely (Gross sales → Net sales → Total sales). The only safe move is the question: "what is netted out of this number?"

Analyst session 2 cheat sheet · pin this

Raw counts first240K visitors · 360K sessions · 9,720 orders · $660,960 revenue · 19,440 units. Metrics are divisions of these.
Session CR9,720 ÷ 360,000 = 2.7%. Shopify's definition and this course's default. Always name the denominator.
Visitor CR~9,300 buying visitors ÷ 240,000 = ~3.9%. Buying visitors < orders because some people buy twice.
AOV$660,960 ÷ 9,720 = $68. Shopify excludes gift cards + post-order adjustments - platform AOV can differ.
AOV's mini-treeAOV = units per transaction (19,440 ÷ 9,720 = 2) x avg item price ($34). When AOV moves, ask WHICH factor.
GMV ladder$660,960 - cancellations 2% - returns 8% - discounts 5% = ~$561,816 net. Fashion returns run high.
No GMV standardNobody regulates what GMV nets out. The pro question: "what is netted out of this number?"
Sanity habitsCross-foot (orders x AOV = revenue) and recompute one metric from raw counts monthly to catch tracking drift.