## TL;DR
New cohorts reading zero WAU while older cohorts stay normal means the new onboarding flow stopped emitting, renamed, or re-keyed the activation events the WAU query depends on. Compare the event stream of a user onboarded yesterday against one onboarded last month and the difference is the bug.

```text
why did weekly active users drop to zero after onboarding: fix the missing activation events
```

## Use this when
- WAU is zero only for users onboarded after a flow change
- Older cohorts report normally
- The activation milestone events have new names, steps, or owners

## Not for this skill when
- Onboarding was paused or signups were halted
- WAU dropped for all cohorts, pointing at the metric query itself

## Steps
1. Pick one user from a zero-WAU cohort and dump their full raw event history. Verify: every event they actually generated is visible, whatever it is named
2. Do the same for a user from a healthy cohort and diff the two event sets. Verify: the missing, renamed, or re-keyed activation events are listed exactly
3. Check the WAU and activation query definitions against the new event names and id fields. Verify: the query clauses that no longer match are identified
4. Update the instrumentation or the query, then re-run WAU for the affected cohorts. Verify: new cohorts report non-zero WAU consistent with their raw activity
5. Add a contract test that fails the release if a required activation event stops arriving from the onboarding flow. Verify: the next flow change cannot silently zero activation again

## Variant phrasings
### new cohort WAU zero
A related phrasing for the same underlying problem.
### activation events missing after onboarding change
A related phrasing for the same underlying problem.
### onboarded users not counted as active
A related phrasing for the same underlying problem.

Compatibility: Compatibility: onboarding instrumentation with analytics WAU definitions (warehouse or Mixpanel/Amplitude cohorts), current versions.

## Why it happens
Cohort-specific zeros are a fingerprint: the metric works, the users exist, so only the newest flow's contract with the metric broke. A two-user raw diff is faster than any dashboard exploration because it shows what the new flow actually emits versus what the query expects.

## Edge cases / pitfalls
- A new flow may emit events under a fresh anonymous id that never stitches to the account. Check identity resolution, not just event names.
- Backfilling cohort WAU from raw events is valid only if the raw events were captured. If the client never sent them, mark the gap honestly.
- Some flows delay activation events to a batch job. Confirm the batch schedule before declaring events missing.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_o97WArDXdKxKzQ4Uf7rQuQ
