Tapemetric

Platform

Cohort retention

Understand why viewers stick around — and why they leave — with weekly cohort curves.

What counts as a cohort

A cohort is a set of users who signed up or started a paid subscription in the same week. Tapemetric builds cohorts automatically from two events:

  • signup — for free-tier cohorts
  • subscription_start — for paid cohorts (default)

How retention is measured

For each cohort, we check — week by week — how many users from that cohort fired at least one heartbeat event. That gives you the “% still watching” curve.

We also compute a second curve — paid retention — which counts only users who still have plan = svod at the end of each week. This curve reveals the gap between “they pay” and “they watch” — a leading indicator of churn.

Paid retention is almost always higher than active retention for the first 2–4 weeks, then crosses over. When you see a cohort where active retention drops below 50% by W4 but paid retention stays at 85%, expect a churn wave in W8–W12.

Dashboard view

The Audience → Retention chart shows the last 8 cohorts overlaid. Hover any line to see the cohort start date and the absolute user count at each week.

Query via API

bash
curl "https://api.tapemetric.com/v1/analytics/retention?cohort=weekly&metric=active&weeks=12" \
  -H "Authorization: Bearer ..."
json
{
  "cohort_type": "weekly",
  "metric": "active",
  "cohorts": [
    {
      "cohort_start": "2026-03-24",
      "cohort_size": 18420,
      "retention": [100.0, 82.4, 71.8, 63.1, 57.5, 53.2, 49.8, 47.1]
    },
    {
      "cohort_start": "2026-03-31",
      "cohort_size": 21130,
      "retention": [100.0, 85.1, 74.2, 66.0, 60.3, 56.4, 52.9, null]
    }
  ]
}

null means the cohort isn’t old enough yet — we haven’t observed that week yet.

Slicing by content or plan

text
?slice=plan         // separate curves for SVOD / AVOD / TVOD
?slice=first_title  // by the first content they watched
?slice=device_type  // by primary device (tv, mobile, web)
?slice=region       // by state

The first_title slice is particularly useful — it answers “which shows drive the best retention after launch week?”

Churn vs retention

Churn and retention are two sides of the same coin, computed over different windows:

  • Weekly churn — users who cancelled this week / active paid users at week start
  • Month-over-month retention — 100 − churn, rolled to calendar months
  • Cohort retention — this page — user count in week N / cohort size

Performance notes

Retention is computed nightly in the rollups_daily Celery job. Cohorts from the last 90 days are recomputed each night; older cohorts are frozen once they hit 26 weeks.

For real-time cohort checks (e.g. during an A/B test), use the Analytics API with ?freshness=realtime — it’ll run the query against the raw events table instead of the rollup.