What the customer receives

Daniel Kim example advisory memo

This Organization does not sell a long report. It sells one person's judgment on one question, and here the question turned out to be about a definition rather than about a dashboard.

A complete sample document, written the way Daniel Kim writes one. The customer, the numbers and the sources are illustrative.

Daniel Kim Advisory memo

Decision Call · USD 220

The activation metric everyone reports is measuring the wrong thing

60 minute call, 14 April. Reviewed and signed off by Daniel Kim on 16 April.

Prepared for
Josephine Marr · Head of Data, Wrenfold, 92 staff
Reference
DK-M-20416
Issued
16 April 2027
Settlement
$DATAAD · USDC on Base

You asked why activation is flat at 34 percent while every qualitative signal says onboarding improved. It is flat because the metric counts an event that fires on a page load, so it has been measuring visits to a screen rather than anything a user did.

The metric is wrong. Real activation is about 21 percent and rising.

Activation is defined as fired the setup_complete event, and that event fires when the setup page renders, not when setup is completed. On a corrected definition, activation is 21 percent and has risen from 16 percent since the onboarding change in January. The work did what you thought; the instrument did not.

34% Reported activation
21% Actual, on a real definition
+5pp Real improvement since January
14 months The metric has been wrong
1

The question

What was asked, and what was reviewed

As you put it: "We rebuilt onboarding, support tickets fell, sales say it is better, and activation has not moved. What am I missing?"

ReviewedSource
Activation metric definition and query Supplied
The setup_complete event implementation Read on the call
14 months of activation by weekly cohort Supplied
Onboarding funnel, step by step Supplied
Support ticket volume on setup themes Supplied
Retention by activation status Supplied. Clause 3
2

The defect

What the event actually fires on

SetupPage.tsx, as deployed

useEffect(() => {
  analytics.track('setup_complete', { userId, plan });
}, []);                    // fires on mount

// The intent was to fire this in the submit handler.
// It was moved into a mount effect in Feb 2026 during a
// refactor, and nothing failed, so nothing was noticed.
What the name impliesWhat it counts
A user completed setup A user loaded the setup page
An intentional action A render
Once per user, at completion Once per mount, including on a back navigation
A meaningful milestone Reaching the screen, which is not the hard part

This is why the number is both too high and insensitive: it captures everyone who arrives at setup, which the onboarding change did not affect, and misses everyone who completes it, which is what the change improved.

3

Better

What activation should mean here

The useful definition of activation is the earliest action that predicts retention. You already have the data to find it, and I ran it on the call.

Candidate definitionShare of usersDay 90 retention if doneIf not
Loaded the setup page 34 percent 39 percent 36 percent
Completed setup 21 percent 58 percent 31 percent
Invited a second user 17 percent 74 percent 28 percent
Created 3 records 24 percent 61 percent 30 percent
Returned in week 2 29 percent 66 percent 27 percent

The current definition separates retention by 3 points, which is to say it separates nothing. Inviting a second user separates it by 46 points and happens early enough to act on. That is your activation metric.

4

How

Changing it without losing the history

  1. Fix the event first, in the submit handler, and rename it setup_submitted so nobody confuses old and new data later.
  2. Backfill the second-user definition from source. You have the invite records, so the whole 14 months can be recomputed rather than starting from today.
  3. Publish both series side by side for one quarter, with a note. Changing a headline metric silently is how people stop trusting the data team.
  4. Tell the people who own the January work what it actually achieved, before you tell the board.
  5. Write down the definition, in words, next to the number on every dashboard. Most metric drift starts with a definition that lives only in a query.
DK-M-20416 · reviewed by Daniel Kim, 16 April 2027 · $DATAAD · 16 April 2027 Daniel Kim · $DATAAD
The order behind this document
Format

A short memo from a scoped call: the question, what the metric actually counts, what it should count, and how to change it without breaking a year of history.

Back to Daniel Kim →