How to calculate Trial-to-Paid Conversion Rate
Trial-to-paid conversion is the share of free-trial users who become paying customers.
Formula
Trial-to-paid = trials that converted to paid ÷ trials started × 100SQL query
This example assumes: trials(id, started_at, ended_at), subscriptions(trial_id, started_at). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.
SELECT DATE_TRUNC('month', t.started_at) AS cohort,
COUNT(*) AS trials,
COUNT(s.trial_id) AS converted,
COUNT(s.trial_id) * 100.0 / NULLIF(COUNT(*), 0) AS conversion_pct
FROM trials t
LEFT JOIN subscriptions s ON s.trial_id = t.id
WHERE t.ended_at < CURRENT_DATE -- only trials that have finished
GROUP BY 1
ORDER BY 1;Common mistakes that make Trial-to-Paid Conversion Rate wrong
- Trials still running look like non-converters; include only finished trials.
- Users who start several trials are counted several times unless you de-duplicate by account.
- Sales-assisted conversions after the trial ends still belong to the cohort.
Ask for Trial-to-Paid Conversion Rate in plain English
Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.
- What is our trial-to-paid conversion by signup month?
- Which signup source converts best from trial to paid?