ds@mcpanalytics.aiEmail your data and your question and get an answer about your own data, with the method shown.Email your data and question. Get an answer.
Many subjects tracked over time: which analyses fit this data | MCP Analytics
Data shape

Many subjects tracked over time

By MCP Analytics Team | Published , updated

One row per customer is a different problem from one row per customer per month. The shape of the file narrows which methods can apply to it.

See a worked example

How the analyses here work

Worked example

Do annual and monthly subscribers cancel at different rates?

Churn is filed under this shape because it follows each subscriber over time. Its sample file keeps that history in columns, one row per account with the months it was watched, rather than one row per account per month.

The data. standard_churn_v2.csv, the published sample file for Churn: 1,500 rows; columns Account ID, Signup Date, Cancel Date, Status, Tenure Months, Plan, Support Tickets, Monthly Charge, and more. Sample data, not a customer's.

The calculation. Python, standard library only. This exact code ran against the file when this page was built, and printed the output below it.

import csv
rows = list(csv.DictReader(open("standard_churn_v2.csv")))
plan = {}
for r in rows:
    p = plan.setdefault(r["Plan"], [0, 0, 0.0])
    p[0] += 1
    p[1] += r["Status"] == "Cancelled"
    p[2] += float(r["Tenure Months"])  # months each account was watched
for k, (n, gone, months) in sorted(plan.items()):
    print(k, n, "accounts,", gone, "cancelled,",
          f"{gone / months:.3f} cancellations per account-month")
Annual 615 accounts, 154 cancelled, 0.025 cancellations per account-month
Monthly 885 accounts, 505 cancelled, 0.082 cancellations per account-month

What it says. Dividing cancellations by the months each account was observed, not by the number of accounts, puts long-lived and new accounts on the same footing. Per month watched, monthly subscribers cancel about 3.3 times as often as annual ones in this file.

What it does not say. Customers choose their plan, so the gap mixes the plan's effect with the kind of customer who picks it. A constant monthly rate is a simplification; the library analysis draws a Kaplan-Meier curve and runs log-rank tests by attributes such as plan.

Run Churn on this file or your own, or open its stored sample report.

Sources

Further reading on the method in the worked example. Each reference was looked up and its authors, title, year and venue confirmed on 27 October 2026.

  1. Kaplan E, Meier P (1958). Nonparametric Estimation from Incomplete Observations. Journal of the American Statistical Association. https://doi.org/10.1080/01621459.1958.10501452
  2. Cox D (1972). Regression Models and Life-Tables. Journal of the Royal Statistical Society Series B: Statistical Methodology. https://doi.org/10.1111/j.2517-6161.1972.tb00899.x

By MCP Analytics Team. Updated November 2026. Analysis list from the library catalog.

A delivered report from this list

Churn: sample report Open full report →

The stored sample report for Churn. Each analysis has its own report layout; open its page to see what it returns.