Chapter 1 — Anatomy of Metrics

Case #0: "Conversion dropped" — your first investigation

20 min
What you'll learn

Your first case — and you are the one running it. Below are the brief, the data and a six-step investigation template. You do the computing, you write the verdict; L.'s debrief sits at the very bottom and opens only after you have walked your own path. Do not peek — this lesson does not work twice.

The whole computation is calculator-grade: variables, arithmetic, print. No pandas: the tooling comes in later chapters, the head is needed right now.

The brief

L.'s journal, entry #0 — the earliest one, before the numbered cases:

"Monday. The CEO in chat: 'End-to-end conversion fell from 6.0% to 4.9% in a week. WHAT IS GOING ON?!' Gave myself one hour to answer."

A cadet examines a holographic funnel where a larger flow of capsules does not increase the group at the final stage, while a robot-cat watches from the side.
An investigation runs step by step — brief, data, competing versions — and the conclusion is yours to state, not the table's.

This is everything there is. Kotomarket's over two weeks, counted in unique users, seven-day window from the first step, identical definitions in both weeks:

openedviewedcartpaidend-to-end
week 1012,0006,0001,8007206.0%
week 1114,7007,3502,2057204.9%

One extra fact from the change log: on Monday of week 11 marketing launched a new ad campaign. The computation method was not touched in between — that is the first thing L. checked.

The rest is your job. Before reading the template, look at the table for a minute and try to phrase what exactly bothers you about it.

The investigation template: six steps

This template is the skeleton of every case in the course. Copy it down; from here on it only gains detail.

Step 1. What exactly changed. Name the metric, both values, the window and the unit. Here: end-to-end conversion in unique users, 6.0% → 4.9%, week over week. Immediately express the change both ways: that is −1.1 pp and roughly −18% relative. And check the methodology first: definitions, windows, timezone — did anything move? Half of all "drops" end at this step.

Step 2. Decompose the metric. End-to-end conversion is the product of three step conversions. So the fall could come from any one of the three steps, or several at once. Compute every step conversion for both weeks.

Step 3. Find the first level of divergence. Compare the steps pairwise and locate where exactly the series parted. A good analysis always ends with a precise address: not "conversion dropped" but "this particular transition sagged".

Step 4. Collect the facts. A fact is something visible in the data that requires no faith. Absolutes, shares, changes. Always look at both the numerator and the denominator: a share can fall with no deterioration of the numerator at all.

Step 5. Formulate hypotheses. A hypothesis is an explanation consistent with the facts but not yet tested. There should be several, and they should differ in nature: product, traffic, data, the outside world.

Step 6. Name the data that will test them. Every hypothesis comes with a concrete next query: "split cart→payment conversion by traffic source", "compare new versus returning users". An investigation ends not with a verdict but with a next step.

The discipline of the whole template rests on one separation: facts apart, hypotheses apart. In a report they occupy different paragraphs and different words: "the data shows" versus "a possible explanation".

Step 2, first half: the baseline week 10 is computed for you. Run it and note the numbers — you will need them for comparison.
python · pandas
Practice: write the code
Step 2, second half — you do the computing. Compute week 11's three step conversions into c1, c2, c3 (in percent) and the end-to-end figure into overall11. Compare each against week 10 (50%, 30%, 40%, 6.0%) and note where the series diverged — that is step 3 of the template.
python · pandas
Practice: write the code
Step 4 — the facts. Three numbers without which the verdict is incomplete:
  1. growth — by what percentage the funnel entry grew (12,000 → 14,700);
  2. expected_paid — how many users would have reached payment in week 11 if cart conversion had held at the old 40% (that is, 40% of 2,205);
  3. shortfall — how many users reaching payment were missed against that expectation.
python · pandas
Funnel: how many people reached each step12 000visitors6 000product page1 800cart720payment50%−6 00030%−4 20040%−1 080overall conversion = 720 / 12 000 = 6%
Two weeks side by side: the first two transitions match to the percent, only the last one diverges — and the funnel entry got wider.
Check yourself
Step 3 of the template: where did the two weeks' series diverge?

Your verdict — before you read the debrief

Before opening the next block, phrase the answer to the CEO yourself. Here is the form to fit it into — fill it in mentally or on paper:

WHAT CHANGED
  metric: ______, from ______ to ______ (____ pp, ____% relative)
  methodology: ______________________

FACTS (visible in the data)
  1. transitions 1 and 2: ______________________
  2. transition 3: ______________________
  3. funnel entry: ______________________
  4. reached payment: ____________________
  5. shortfall against the old rate: ______ paying users

HYPOTHESES (not yet tested)
  1. ______________________
  2. ______________________
  3. ______________________

NEXT CHECK
  ______________________

Two hints so the form does not stay blank.

First: look at the absolute number who reached payment in both weeks. It is the same — 720. This is precisely the case from the lesson on shares: end-to-end conversion fell while the numerator did not move at all. The numerator did not drop — the denominator grew.

Second: the hypotheses must differ in nature. One about the product ("something broke at checkout"), one about traffic ("different people arrived"), one about the data ("some payments stopped reaching the log"). If all three are about the same thing, you were not generating hypotheses — you were justifying a hunch.

Filled it in? Now you may open the debrief.

L.'s debrief

What changed. End-to-end conversion in unique users, 6.0% → 4.9% week over week: −1.1 pp, about −18% relative. The methodology was untouched — same definitions, same window, same timezone. That was the first thing I checked, and this is not that case.

Facts.

  1. The "opened → viewed" and "viewed → cart" transitions did not change at all: 50% and 30% in both weeks.
  2. The "cart → paid" transition sagged: 40% → 32.7% (−7.3 pp, −18% relative).
  3. The entry grew: 12,000 → 14,700, that is +22.5%. A new campaign launched on Monday.
  4. Users who paid are exactly level — 720 and 720. In absolute terms the number of users who paid did not change.
  5. Had cart conversion held at 40%, there would have been 882 users who paid. The shortfall is 162 users who paid.

Hypotheses, none tested.

  • Traffic. The campaign brought people who behave normally up to the cart but pay less often: a different segment, different intent, different ability to pay.
  • Product. Something in checkout genuinely got worse in week 11 — a new payment method, a delivery-price change, a broken form. Then returning users would have sagged too.
  • Data. Some payments stopped being recorded (a new screen not firing its event, say). Then there is no drop at all, only a hole in tracking.

Verdict. I have no grounds to claim checkout is broken: the first two transitions are untouched, the number of users who paid is stable in absolute terms, and the entire effect sits on the last step while the entry grew. But neither can I claim traffic is to blame — that is a hypothesis, not a fact.

Next check. Split "cart → payment" by traffic source and separately compare new users against returning ones. If returning users still convert at 40% and only the campaign arrivals sagged, the question is about traffic quality, not the product. If everyone sagged, go into the product and the tracking.

What this case teaches

Never conclude from absolutes without a denominator — or from percentages without a volume. Here both views are needed at once: the percentage fell, the number reaching payment did not move. The percentage alone says "catastrophe"; the absolute alone says "all fine". The truth is in between: the product had the same number of paying users while spending 22.5% more incoming traffic to do it.

Separate facts from hypotheses. In the report above the facts are numbered and checkable, and the hypotheses are called hypotheses. The phrase "I have no grounds to claim that…" is not cowardice but precision: it does not stop teams from working, and it does not send them to fix something that is not broken.

End with a next step. Case #0 is not closed — it is taken to the state where it is clear which single query stands between you and the answer. That is a normal result for an hour of work.

Check yourself
Which phrasing of the Case #0 verdict is the most professional?
Key takeaways
  • the investigation template: what changed → decompose the metric → the first level of divergence → facts → hypotheses → data that tests them
  • the first suspect is always methodology: did the definitions, the window or the timezone move?
  • read numerator and denominator together: here conversion fell while the number of paying users held
  • hypotheses must differ in nature: product, traffic, data
  • the verdict is phrased from facts and ends with a next step, not a sentence

Chapter takeaway — "Anatomy of Metrics":

  • a metric is a four-part instruction: object → event → period → counting method
  • events, visits, users and orders are different units; DAU counts uniques, and "active" is chosen rather than discovered
  • every percentage has a denominator; a difference of percentages is points, a ratio is percent
  • a is one group passing steps inside a time window; end-to-end conversion equals the product of the steps
  • is computed per with a fixed denominator; the cohort table is triangular, and empty in it ≠ zero

Next — "A Bear in the Archive": Python and pandas, to do all this not on ten numbers in a calculator but on the black box's millions of rows.