Back to Portfolio
Case Study 2 / Product

The data story that drove
5x product adoption

A walkthrough of the product analytics work that transformed how a B2B SaaS company understood its users, from fragmented guesswork to a unified metrics framework that directly influenced roadmap decisions and drove measurable growth across the product portfolio.

Context: B2B SaaS (anonymized) Products: 3 (mobile + desktop) Users analyzed: 1,200+ Tools: SQL · Python · Mixpanel · Klipfolio · Power BI
5x
First-Year Adoption Lift
7
Activation Steps Instrumented
3
Teams Aligned on One Metric
1
Shared Definition of Success

Nobody agreed on what "active user" meant

When I joined the analytics function, three separate products, each with mobile app and desktop versions, were being measured in three separate ways. Product used session counts. Marketing used login events. Finance used billing records. None of them matched, and leadership meetings frequently stalled on which number to trust.

There was no unified activation definition, no funnel visibility, and no way to identify where users were dropping off before they experienced the core value of any product. The team knew adoption was low but had no structured way to diagnose why or measure whether interventions were working.

The question I set out to answer: where exactly are users falling out of the product experience, and what does a fully activated user look like?

Defining activation before measuring it

The first step was not writing a query. It was getting alignment on definitions. I ran working sessions with Product, Marketing, and Customer Success to agree on a single activation framework, a sequence of behaviors that a user had to complete to be considered genuinely activated rather than simply registered.

Activation framework: agreed definition
-- Seven-step activation sequence -- A user is "fully activated" when they complete all steps -- within 30 days of account creation SELECT u.user_id, u.product, u.platform, u.segment, u.signup_date, MAX(CASE WHEN e.event = 'first_login' THEN 1 ELSE 0 END) AS step_1, MAX(CASE WHEN e.event = 'profile_completed' THEN 1 ELSE 0 END) AS step_2, MAX(CASE WHEN e.event = 'first_search' THEN 1 ELSE 0 END) AS step_3, MAX(CASE WHEN e.event = 'first_content_viewed' THEN 1 ELSE 0 END) AS step_4, MAX(CASE WHEN e.event = 'bookmark_created' THEN 1 ELSE 0 END) AS step_5, MAX(CASE WHEN e.event = 'return_visit_7d' THEN 1 ELSE 0 END) AS step_6, -- Fully activated = completed all six post-signup steps CASE WHEN MAX(CASE WHEN e.event = 'return_visit_7d' THEN 1 ELSE 0 END) = 1 THEN 1 ELSE 0 END AS fully_activated FROM users u LEFT JOIN events e ON u.user_id = e.user_id AND e.timestamp <= DATEADD(day, 30, u.signup_date) GROUP BY 1,2,3,4,5

With the definition in place I instrumented the full event taxonomy in Mixpanel across all three products, mobile and desktop, and built the ETL pipeline that pulled those events into our data warehouse on a nightly schedule. For the first time, all three products were measured against the same standard.

The drop-off was earlier than anyone expected

Once the pipeline was running I ran the funnel analysis across the full user base. The results were stark. Full activation rates were low across the board, and the biggest single drop-off was not at a late step. It was at profile completion, where more than a third of users who had already logged in were stopping.

On mobile the profile completion rate was measurably worse than desktop, which the team had not previously known. The mobile onboarding flow had several more required fields than desktop, a decision made years earlier that nobody had revisited.

Activation Funnel: Before vs After Metrics Framework
Pre-framework baseline
Post-framework, 5x lift

Segment and platform breakdowns surfaced the real story

Aggregate funnel numbers tell you there is a problem. Segmented analysis tells you where to act. I broke the funnel down by account size and platform to find the highest-leverage intervention points.

Activation Rate by Account Segment (Pre-Framework)
Profile Completion by Platform (Pre-Framework)

Small accounts, which made up 50% of the user base, had the lowest activation rate at 7%. Large accounts, with dedicated staff and more onboarding support, activated at 11%. The platform gap was equally telling: mobile users completed profile setup at a rate 2 points lower than desktop, and the gap compounded through every downstream step.

Finding the exact drop-off point

The funnel showed where users stopped. The next query answered why, by looking at time-to-complete for each step and identifying which steps had the longest median lag, signaling friction rather than disinterest.

Time-to-completion analysis by step and platform
-- Median hours between each activation step, by platform -- High median = friction point worth investigating WITH step_times AS ( SELECT e1.user_id, e1.platform, e1.event AS current_step, e2.event AS next_step, DATEDIFF(hour, e1.timestamp, e2.timestamp) AS hours_to_next FROM events e1 JOIN events e2 ON e1.user_id = e2.user_id AND e2.step_order = e1.step_order + 1 ) SELECT current_step, next_step, platform, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY hours_to_next) AS median_hours, COUNT(*) AS user_count FROM step_times GROUP BY 1, 2, 3 ORDER BY current_step, platform

The results confirmed what the funnel suggested: the median time from first login to profile completion was 6.2 hours on mobile vs 2.1 hours on desktop. Users were starting the flow, hitting the required fields, and abandoning. Many never came back.

What changed after the framework launched

The findings went to Product and the recommendations were direct: simplify the mobile profile setup flow, reduce required fields to match desktop, and add a progress indicator so users could see how close they were to completion. A secondary recommendation was a re-engagement sequence for users who completed first login but had not finished profile setup within 48 hours.

The metrics framework also gave the team something it did not have before: a consistent weekly signal. Every Monday, leadership had a dashboard showing activation rates by product, platform, and segment, with automated alerts when any metric moved more than 5% in either direction.

30-Day User Retention: Pre vs Post Framework Cohorts
Pre-framework cohort
Post-framework cohort

What the data showed

Finding 01
Full activation rate increased 5x post-framework. The largest single driver was the mobile profile completion fix, which removed friction at the highest-dropout step in the funnel.
Finding 02
Small accounts were the most underserved segment. They represented half the user base but received almost none of the onboarding investment. Post-framework, targeted re-engagement lifted their activation rate substantially.
Finding 03
The mobile gap was invisible without instrumentation. Nobody knew mobile profile completion lagged desktop by 2 points because nobody had ever compared them. Cross-platform visibility was itself a product of the framework.
Finding 04
Month-12 retention improved meaningfully. Users who completed the full activation sequence were significantly more likely to still be active a year later, confirming that activation quality predicted long-term retention.

What this work actually was

This was not a dashboard project. It was an alignment project that happened to produce dashboards. The most important work was the conversations that established a shared definition of success before a single query ran. Once the team agreed on what activation meant, everything else followed from that.

The 5x adoption lift is the headline number. The less visible outcome is that for the first time, Product, Marketing, and Finance were looking at the same metrics every week and having the same conversations. That organizational alignment was worth as much as any individual insight the data produced.

Note: All data shown is synthetic and generated for illustrative purposes. The analytical approach, funnel structure, and business outcomes reflect the actual work. Specific figures have been modeled to preserve confidentiality.