30-Day Retention (Post-Onboarding)
30-Day Retention (Post-Onboarding): Percentage of customers still active 30 days after onboarding completion.
Formula
30-Day Retention = Customers active at day 30 / Customers completing onboarding × 100 Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
count_distinct(field.customer_id where field.onboarding_completion_date is not null and field.customer_status = 'active' and (field.last_active_date - field.onboarding_completion_date) >= 30) / count_distinct(field.customer_id where field.onboarding_completion_date is not null) Unit: percent (the formula yields an unscaled ratio)
Data requirements
Grain: Monthly cohort · Frequency: Daily · Aggregation: cohort (month) · Staged: no · Main source: Billing.
| Field | Dataset | Type |
|---|---|---|
customer_id | customer | string |
customer_status | customer | string |
last_active_date | customer | date |
onboarding_completion_date | customer | date |
snapshot_date | customer | date |
Example SQL (Postgres)
SELECT (CAST((SELECT COUNT(DISTINCT customer_id) FROM customer WHERE snapshot_date = :period_end AND ((onboarding_completion_date IS NOT NULL AND customer_status = 'active') AND (last_active_date - onboarding_completion_date) >= 30)) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(DISTINCT customer_id) FROM customer WHERE snapshot_date = :period_end AND onboarding_completion_date IS NOT NULL), 0)) AS day_30_retention_post_onboarding From an agent: with the GASP MCP server, call
lookup_metric({ "name": "30-Day Retention (Post-Onboarding)" }) or generate_query({ "metric": "30-Day Retention (Post-Onboarding)", "adapter": "<your adapter JSON>" }).
What It Tells You
Near-term stickiness after onboarding.