Onboarding drop-off, and the identity check that costs more than a pricing decision

A verification step that starts timing out costs more in a week than most pricing decisions save in a quarter. How to find out the same morning.

Growth leaks quietly through onboarding. Nobody complains, because the people affected simply leave. There is no ticket, no angry email and no spike on any dashboard that gets opened.

Meanwhile a pricing committee spends six weeks on a change worth a fraction of what an identity provider's degraded response times cost last Tuesday.

This is the fifth in the KPI series, after first payment default, the recovery funnel, sales pacing and acquisition source quality.

What to measure at each step#

Four numbers per step, and each answers a different question.

Attempts. How many times this step was entered. Note that one user can attempt a step several times, which is itself a signal — repeated attempts at a bank connection mean something is failing rather than someone is browsing.

Completions and drop-off. The share who moved on, and the share who did not come back within the window. Define the window explicitly: someone who returns two days later is not a drop-off, and counting them as one will make every Friday look like a disaster.

Time on step. The most under-used number in the set. A step whose median time doubles has broken before its completion rate moves, because people are still pushing through. Time is the leading indicator; completion is the lagging one.

Progress position. Where the step sits in the journey, so a drop late in the funnel is weighted properly. Losing someone at the final review is far more expensive than losing them at the email field.

The steps that actually cost money#

In consumer lending the pattern is consistent enough to predict:

  • Bank connection. Almost always the biggest single drop, and the most sensitive to provider health. Also the highest time-on-step, which means people are trying.
  • Identity verification. Second biggest, and the one most likely to fail silently when a third party degrades rather than errors.
  • Financial details. Long forms lose people in proportion to how many fields cannot be pre-filled.
  • The decision screen. A large drop here is usually decline volume, not user experience, and conflating the two sends the wrong team to investigate.
  • Final review or confirmation. Small in volume, enormous in value per user, and often the highest time-on-step of all.

That last point deserves emphasis. A one-point improvement at the final step is worth many times a one-point improvement at the email step, and funnel charts drawn as descending bars make it look like the opposite.

Rank funnel fixes by funded loans lost, not by percentage points dropped. They give different orders, and only one of them is money.

Define it before you measure it#

  • Attempt or user. Both are valid; blending them is not. Publish which one each chart uses.
  • The return window. Twenty-four or forty-eight hours, applied consistently. Sessions that resume are not drop-offs.
  • Decline is not drop-off. A user who was declined did not abandon. Split the decision step into declined and abandoned or the number is meaningless.
  • Device and market separately. Mobile and desktop funnels differ enough that a blended figure hides both.
  • Step names are versioned. When engineering renames a step, the old name maps to the new one in the model. Otherwise your history breaks at every release.

That last one is the most common way a funnel report dies. It is also the cheapest to prevent — a versioned step dimension costs an afternoon.

The dimensional model underneath#

  • fct_onboarding_event at one row per user-step-attempt, carrying timestamp, device, market, product and outcome
  • dim_step, versioned, with a stable step key, display name and progress position
  • dim_provider for the third parties behind identity, bank and OTP steps
  • fct_application and fct_loan, so a step drop can be valued in funded loans rather than percentages
  • dim_release, so a change in the funnel can be tied to a deployment
  • Metrics for step_completion_rate, median_time_on_step, funnel_conversion, funded_loss_estimate

dim_release is the join that turns "the funnel moved" into "the funnel moved when you shipped this".

The agent#

Onboarding monitor · runs hourly
SignalIdentity verification completion is 11 points below its own weekday baseline for this hour of day. Time on step is up 78%.
ReadsReads fct_onboarding_event at user-step-attempt grain, joined to dim_step (version in force), dim_provider, dim_release and dim_date.
Holds fireCompares against the same weekday and hour, not a flat average. Onboarding is strongly time-of-day shaped and a global threshold would fire every evening.
CheckIs it market-wide or one market? Two markets, both served by the same identity provider.
CheckIs it device specific? No — Android, iOS and web all affected equally. Rules out a client build.
CheckWas there a release? None in the last 36 hours. Rules out our own change.
CheckProvider latency? p95 response time up from 2.1s to 9.4s at 06:20. Cause found.
VerdictA third-party identity provider has degraded, not a product regression. Time on step rose before completion fell, so this was visible about forty minutes earlier than the completion metric showed it.
ActionPages the on-call product engineer with the provider, the timestamp and the p95 series. Estimates the leak at roughly 40 funded loans per day if it persists, so the severity is arguable in money.

Two details make this useful rather than noisy.

It baselines by weekday and hour. A flat threshold on a funnel that swings with the working day will fire every evening and be muted within a fortnight. The baseline has to be as shaped as the metric.

It leads with time on step. Because people push through a degraded step before they abandon it, latency moves first. An agent watching only completion is forty minutes late — which, at forty funded loans a day, is a real number.

What good looks like#

  • Every step instrumented with attempts, completion, drop-off and time, split by device and market
  • Declines separated from abandonment at the decision step
  • Step names versioned so history survives releases
  • Drop-off valued in funded loans, not only percentage points
  • Third-party provider health visible next to the step that depends on it

Get that far and the weekly product meeting stops opening with someone asking whether conversion is up.

Next in this series: cash and yield, and the reconciliation nobody wants to build.

Want this KPI under watch first?

The Monitoring Pod stands up one agent per KPI domain, on your dimensional model, with the decomposition already done before it interrupts anybody.