Analytics

Time to Value SaaS: Failed Signups Stay in the Math

Time to value is a distribution, not an average. Define start and value timestamps, keep censored and failed signups in the denominator, and reproduce the math on a frozen cohort worksheet per onboarding segment.

Alex KhvoinitskiiSeptember 6, 202513 min read

TL;DR: Time to value is the elapsed time from a frozen signup cohort to a defined value event — reported as median and p90, never a bare average. Accounts that never activate stay in the denominator as censored or failed, or the number lies.

Every growth dashboard has a time to value number, and most of them quietly exclude the signups that never got there. That flatters the metric and hides the failure mode a Head of Growth actually needs to fix. The honest version of the time to value SaaS metric keeps every signup in the denominator, labels the ones still inside their window as censored, and reports the never-activated share next to the median. This worked analysis gives the timestamp rules, the censoring math, a synthetic cohort worksheet, and the segment split for implementation-led customers — the same honest-denominator discipline the business process automation ROI framework applies to automation payback claims.

What time to value measures

Time to value (TTV) is the elapsed time between a start timestamp and the first verified value event for an account. Metabase's metric definition puts it as a formula: median(milestone timestamp − start timestamp) across accounts that reached the milestone — and explicitly notes the cohort that never reached it must be tracked separately (Metabase TTV metric). Three properties make the metric real:

  • A defined value event. "First report shared," "first integration live," or "tenth query run" — an outcome, not a proxy like "completed onboarding." Skene's onboarding guide warns that the value moment must represent genuine value delivery, not activity (Skene TTV onboarding).
  • A start timestamp per motion. Signup for self-serve, contract signature or kickoff for sales-led.
  • A distribution, not one number. Median, p75, p90, the share reaching value inside a target window, and the share that never reaches it (Amplitude TTV guide).

Why not the average? In one documented example, ten accounts reach value in 1, 2, 2, 3, 3, 4, 5, 8, 18 and 30 days; the average is 7.6 days, a number that describes almost nobody (evandsouza on TTV). Averages hide the tail, and a bare median hides the accounts with no value event at all. Both failures matter more than the central number.

Set the start and value timestamps

Measure time to value only after both timestamps are written down. B2B SaaS usually needs more than one clock because different teams own different delays. The recommended split (evandsouza):

Clock Starts at Ends at Exposes
Commercial TTV Contract signature or payment First verified value Sales-to-onboarding dead time
Implementation TTV Kickoff First verified value Configuration, migration, approver delays
Product TTV First product session First verified value In-product friction only

A fast product TTV cannot compensate for two weeks between signature and kickoff — and a single blended clock hides which team owns the wait.

The value event needs the same rigor as revenue events. Choosing which event counts as "value" is a separate job — the SaaS activation metrics article covers scoring candidate events against retention. Once chosen, write its instrumentation contract: event name, actor (account or workspace and role), exact trigger condition, exclusions (demo data, staff accounts, retries, test transactions, reversed outcomes), properties (segment, plan, source, implementation owner), source of truth, and the person who owns the definition (evandsouza instrumentation contract). For account-grain measurement, the analytics tool must group people under accounts: Amplitude's account-level reporting does exactly that, and different members of one account can complete different steps of a funnel while the account still counts as one conversion (Amplitude account-level reporting docs).

Keep censored accounts in the denominator

The answer to how time to value should include accounts that never activate: they never leave the cohort. The denominator is everyone who signed up in the frozen period; the numerator is only those who reached the value event inside the window. Powerdrill's activation-report guide shows the mechanical tell of a broken version: mix "signups this month" against "activations this month" and the rate can exceed 100%, because activations from earlier signups get counted against a later denominator (Powerdrill activation report).

Three account states, not two:

  1. Reached — value event fired inside the window. These produce the days-to-value distribution.
  2. Censored (in-window or still active) — the account has not reached the event yet, but its window is still open or it remains an active subscriber. Right-censoring is a normal data state, not a failure. Survival analysis literature treats dropping censored users as a serious error: one writeup calls excluding accounts that never triggered the event before the analysis date "a serious mistake," and the underlying research shows ignoring censored users severely underestimates time-to-event (survival analysis retention writeup, ACM engagement study).
  3. Failed — the window closed (or the account churned or went dark) without the value event. These are the failed signups dashboards love to delete.

The report therefore has four outputs per cohort, not one: accounts reached, reached percentage, the day distribution among reached (median plus p75 and p90), and the percentage never reached. Userorbit's activation measurement guide sets the window explicitly — for example 7 days — so that "activated in month six" cannot inflate the rate; the same source puts a healthy SaaS activation rate at 25–35% with the median near 30% and top flows above 40%, a range worth treating as context, not a target (Userorbit activation rate). Reforge frames the activation journey as signup to setup to aha to habit moments, each measured as a binary reach inside survival cohort charts segmented to find drop-offs (Reforge activation guide).

Worked calculation: a synthetic cohort worksheet

The worksheet is the deliverable. Build it before touching BI tooling: one frozen cohort, per-account rows, explicit statuses, and reproducible arithmetic. A concrete time to value example makes the denominator rules checkable by hand. How to measure time to first value without lying comes down to three outputs: reached share, the day distribution, and the never-reached share. The inputs below are invented for illustration — this is a synthetic example, not a measured benchmark.

Setup. A B2B reporting SaaS freezes its January signup cohort: 24 accounts — 16 self-serve, 8 implementation-led. Start timestamp is signup for self-serve and kickoff for implementation-led. Value event: first_report_shared at account grain. The self-serve window is 14 days; the implementation-led window is 90 days because implementations run longer. Analysis runs after both windows close.

Worksheet columns (one row per account):

Column Rule
account_id Account grain, not user
motion self_serve or implementation_led
start_ts Signup for self-serve; kickoff for implementation-led
value_ts First first_report_shared event, empty if none
status reached, censored_active, or failed
days_to_value value_ts − start_ts for reached rows only
window_days 14 for self-serve, 90 for implementation-led
plan, channel Segment dimensions for the breakdown

Synthetic results. Reached accounts and their days to value: self-serve 1, 2, 2, 3, 4, 4, 5, 6, 7, 9, 11 (11 accounts); implementation-led 14, 19, 27 (3 accounts). The other 10 accounts never reached the event — 5 self-serve (3 still active, 2 gone dark) and 5 implementation-led (4 still inside their 90-day window at first measurement, 1 stalled after losing its champion).

Output All accounts Self-serve Implementation-led
Cohort size 24 16 8
Reached 14 (58.3%) 11 (68.8%) 3 (37.5%)
Never reached 10 (41.7%) 5 (31.3%) 5 (62.5%)
Median days to value 5.5 4 19
p75 / p90 days 11 / 19 7 / 11 27 / n/a

The arithmetic, checkable by hand: the 14 reached values sorted are 1, 2, 2, 3, 4, 4, 5, 6, 7, 9, 11, 14, 19, 27 — the median is the average of the 7th and 8th values, (5 + 6) / 2 = 5.5 days; the mean is 114 / 14 = 8.1 days. Reached percentage is 14 / 24 = 58.3%.

Now watch the dishonest versions. "Average TTV: 8.1 days" hides the tail. "Median TTV: 5.5 days" hides that 41.7% of signups never saw value at all. And the single blended window breaks it differently: measured only at day 14, all 8 implementation-led accounts look like failures even though 4 are simply still inside a normal implementation. The same baseline-worksheet discipline that a two-week time and motion study uses for manual work applies here: freeze the cohort first, then count outcomes against it.

Segment implementation-led customers

Self-serve and implementation-led accounts need separate denominators, windows, and benchmarks — pooling them produces a number true for neither group.

Customer time to value planning ranges from public sources: a Userpilot benchmark of 547 SaaS companies, cited by Stipulate, puts average self-serve TTV at about 1 day 12 hours with a median near 1 day 2 hours; implementation-led B2B onboarding typically runs 30–90 days from kickoff to go-live — roughly 2–4 weeks for SMB, 30–60 days mid-market, 60–90+ days for enterprise (Stipulate TTV reduction, Stipulate onboarding length). Ooligo frames time-to-first-value targets by segment — under 14 days SMB self-serve, 30–45 days mid-market guided, 60–90 days enterprise — and treats a TTFV running 2–3x the band as an early churn signal (Ooligo onboarding stages). These are planning ranges from vendor-compiled samples, not guarantees for your product.

Three segmentation rules:

  • Segment by complexity, not just contract value. Integrations, data migration volume, and customer-side approver count predict duration better than ACV alone (Stipulate onboarding length).
  • Set a first-value milestone inside the first two weeks even on a 90-day rollout — a connected integration or migrated sandbox — so value is not entirely back-loaded (Stipulate onboarding length).
  • Give each motion its own window and denominator. An implementation-led account on day 20 of 90 is censored, not failed; reporting it as failed manufactures churn that has not happened.

On the evidence side: OnRamp reports that customer Qualia cut go-live time by 53% and tripled onboarding capacity after standardizing its path to value — a vendor-reported result, useful as directional evidence that implementation-path standardization moves duration, not as a replicable promise (Stipulate TTV reduction).

Report TTV without hiding the failures

The dashboard spec that keeps failed signups visible:

  • Cohort table: signup month × motion, showing cohort size, reached count and %, median and p90 days among reached, never-reached %, and still-censored count. Metabase's published SQL pattern computes exactly this per cohort month — reached_pct, median_days_to_value, p90_days_to_value (Metabase TTV metric).
  • Four headline numbers: reached %, median days to value, p90 days, never-reached %. Never ship the median alone.
  • A frozen denominator per cohort, so a later signup's activation can never leak into an older month — the >100% rate is the tell.
  • Failure-mode alerts: never-reached % rising two cohorts in a row, or censored accounts aging past 2× the window.

Common failure modes to audit against: dropping non-activators from the denominator; mixing periods; reporting averages only; one clock and one window for mixed motions; counting "completed onboarding" as the value event. The same honest-timing habit powers a speed-to-lead SLA calculator on the sales side: elapsed time means nothing without a defined window and a frozen denominator. And once the metric is honest, stalled accounts become a targeting list — event-driven segmentation in tools like Customer.io models people, account objects, and their relationships so an account stuck before first_report_shared can enter a rescue sequence (Customer.io objects and relationships docs), the same way welcome email automation for SMB onboarding triggers on the gap between signup and value rather than on a calendar.

Measure time to value this way and the failed signups stop being a rounding embarrassment — they become the segment that tells you where onboarding, packaging, or fit is broken. If scoping that instrumentation — cohort freeze, event contract, segment windows — is still open on your side, a bounded automation audit can size it as one piece of work.

FAQ

What does time to first value mean? Time to first value (TTFV) is the elapsed time to the first concrete outcome a customer personally achieves — a sent campaign, a shared report — not full go-live or habitual adoption. It sits inside the wider TTV metric and should land early even on long implementations.

What is time to value in customer success? In customer success, time to value is the lag between the start of the customer relationship and the moment the account reaches the outcome it bought. CS teams use it to prioritize rescue work: accounts aging past their segment's expected window get attention before they quietly churn.

Median vs average time to value — which should we report? Report the median alongside p75/p90 and the never-reached share. TTV distributions are skewed, so the average describes almost no real account, and the median alone hides the accounts that never reached value.

Time to value vs ROI — what is the difference? TTV measures time; ROI measures money. An account can reach value fast and still pay back slowly. When the question shifts from "how quickly do accounts see value" to "does the automation pay for itself," run the money math separately in the ROI calculator.

How long should failed signups stay in the cohort? Forever. Freeze the signup cohort once; afterwards an account only changes state — reached, still censored inside its window, or failed past it. Removing accounts rewrites history and manufactures a better number than reality produced.

Answer clarity notes

  • Dates and sources: benchmark figures reflect what each linked source reported at its own publication date (2025–2026 vendor samples and documentation); check current product docs before acting.
  • Evidence: Metabase, Amplitude, Reforge, Userorbit, Powerdrill, and the survival-analysis sources are public documentation or published analyses. The Qualia result is vendor-reported by OnRamp via Stipulate — directional evidence, not independently verified.
  • Synthetic example: the 24-account cohort, its 14 reached values, and every derived number are invented for illustration. They demonstrate the arithmetic and reporting shape, not a measured client result or an industry distribution.
  • Estimates: the 25–35% activation range, ~1.5-day self-serve TTV, and 30–90-day implementation ranges are planning ranges from vendor-compiled samples, not guarantees for any product.
  • Scope: written for growth, product, and revenue operations teams at B2B SaaS companies measuring account-level onboarding. It is measurement guidance, not legal, financial, or platform-policy advice.
  • Ranges and examples in this article are planning guidance, not guarantees.

Sources

A

Alex Khvoinitskii

Founder, That'sGonnaHelp

Founder of That'sGonnaHelp. Building growth and automation systems since 2021 — GTM, traction, retention, and revenue — for SaaS, FinTech, and e-commerce clients, from early-stage brands to global exchanges.

Related articles

Sales

Speed-to-Lead SLA Calculator for SMB Sales Teams

Fast replies matter, but a five-minute target is useless without staffing and clean timestamps. Use this in-page SLA calculator to model capacity, attainment, breach rate, costs, and scenario value from your own sales data.

May 26, 202620 min
Discuss your project