Diagnosing a registration drop
Most PMs slice dimensions. The right move is eliminate hypotheses.
Your registration metric fell 10%. Here is what most PMs do: they open the analytics dashboard and start slicing. Geography, platform, channel, cohort. They generate a lot of charts. They write a summary that says "we saw a drop across multiple segments." They schedule a meeting.
None of that is diagnosis. That is data tourism.
The first move is not a cut — it is a question
Before you touch any dimension, ask: is this a supply problem or a demand problem?
A supply problem means your funnel is broken. Traffic arrived. People intended to sign up. Something on your side stopped them — a bug, a UX regression, a broken OAuth flow, a pricing change that introduced friction. The traffic is there. The conversion is not.
A demand problem means fewer people are arriving with intent to sign up. Your top-of-funnel dried up. A paid campaign ended, a competitor launched, organic search ranking dropped, press coverage faded, seasonality kicked in.
These two problems have completely different fixes. You can answer the question in 30 seconds by pulling top-of-funnel volume and conversion rate as two separate numbers. If traffic held and conversion fell: supply. If traffic fell: demand. If both fell: you have two problems, rank them by severity and work in parallel.
Most PMs skip this and jump straight to segmentation. That is how you spend three hours discovering that the drop was "consistent across all geographies" — which tells you nothing about cause or fix.
Run your cuts in priority order
Once you know which type of problem you have, you run dimension cuts — but in a specific sequence. Each cut is designed to either confirm or eliminate a class of hypotheses. If a cut does not narrow the hypothesis space, it was the wrong cut to run next.
1. Time series first. Pull hourly and daily granularity. Look at the shape. A cliff — a sudden vertical drop at a specific timestamp — points to a discrete event: a deployment, an algorithm change, a competitor launch, a payment processor outage. A slope — a gradual decline over days or weeks — points to organic decay: a channel drying up, a seasonal effect, a slow-rolling bug affecting a subset of devices. The shape tells you the cause category before you touch any other dimension. This is the highest-signal cut you can make.
2. Platform and surface second. If the drop is iOS-only, you are looking at an App Store issue, a crash on a specific OS version, or an Apple policy change. If it is web-only, you are looking at a front-end regression, a broken form, or a bot filter that started blocking real users. If the drop is uniform across all surfaces, the cause is upstream — brand, channel, or an external event that hit all entry points equally.
3. Acquisition channel third. This is where you separate marketing problems from product problems. If paid dropped and organic held, your CAC economics broke or a campaign ended. If referral dropped, your virality loop broke. If all channels dropped equally, you are back to a broad external event or a brand-level issue.
4. Geography fourth. Geography is rarely the first thing to cut unless you have a strong prior — a regulatory announcement, a regional outage, a competitor entry into one market. It is most useful as confirmation of a hypothesis you already formed from the time series and channel cuts, not as a discovery tool.
5. Qualitative signals last. CSAT scores, exit surveys, app store reviews, support tickets, bug reports. These do not tell you scale — they cannot tell you how many people were affected. But they tell you mechanism: what specifically broke, what confused people, what they tried to do and could not. Run these after you have already narrowed your hypothesis space. Running them first feels thorough; it is actually a way to anchor on vivid anecdotes instead of data.
The competitor check is a hypothesis, not a step
"Did a competitor launch something?" is a hypothesis. You validate it by checking whether your drop on the time series correlates with a competitor announcement date. If yes: the hypothesis is plausible and worth investigating further. If no: the hypothesis is not supported by the data.
What you do not do is check their website, read their product updates, and then assume causation because the drop happened to coincide. That is narrative construction, not diagnosis.
The thing most people miss entirely
Registration completed is not the same as registration attempted.
A 10% drop in completions could mean:
- 10% fewer people started the flow. This is a demand problem — fewer people with intent arrived.
- The same number of people started but 10% more abandoned mid-flow. This is a supply problem — something in the registration experience broke or introduced friction.
These have completely different fixes. The first is a marketing and acquisition problem. The second is a UX, technical, or copy problem: a form that got longer, an email verification step that stopped delivering, a slow load on a specific device, an error message that appeared for a subset of OAuth users.
If you do not have registration-attempt instrumentation — events firing when someone lands on the registration page or clicks "Sign up" — you cannot tell them apart. That is the first gap to flag. Before you diagnose the drop, confirm whether your instrumentation even supports the question you are trying to answer.
What a good answer looks like in an interview
In a PM interview, the trap is listing every possible thing you could look at. Interviewers see that as pattern-matching to a checklist, not analytical thinking.
The answer that lands is: "I would start by separating traffic volume from conversion rate to determine whether this is a demand problem or a supply problem. That single check eliminates half the hypothesis space immediately and tells me which direction to dig."
Then walk through the priority order above and explain why each cut comes before the next one — what hypothesis it eliminates, not just what data it shows.
The framework is not a list. It is a decision tree. Each node removes hypotheses. That is what diagnosis means.