Subscription Billing

This dataset provides a comprehensive view of recurring subscription billing records, including detailed information on customer accounts, subscription plans, payment cycles, renewal schedules, payment failures, and retention status. It enables robust analysis of customer lifetime value, churn prediction, and revenue forecasting for subscription-based businesses.

  • opened 6 times
  • last updated 29 Oct 2025
  • by GoMask
The brief that made it

Churn prediction and customer retention analysis

Sample rows

preview · 8 of 200 rows · all 19 columns
subscription_idstringretention_statusstringfailed_payments_countintegeris_activebooleanpayment_failure_reasonstringcustomer_idstringcustomer_emailstringplan_idstringplan_namestringplan_pricefloatbilling_cyclestringsubscription_start_datedatenext_renewal_datedatelast_payment_datedatepayment_statusstringpayment_methodstringcancellation_datedatetotal_paymentsintegerlast_retention_action_datedate
sub_0001retained0trueblankcust_0001alice.smith@gmail.complan_m_basicMonthly Basic9.99monthly2022-09-102023-09-102023-09-09successcredit_cardblank13blank
sub_0002at-risk2trueInsufficient fundscust_0002bob.jones@outlook.complan_q_premiumQuarterly Premium49.99quarterly2023-01-152023-04-152023-01-15faileddebit_cardblank22023-04-16
sub_0003retained0trueblankcust_0003charlotte.zhao@yahoo.complan_y_enterpriseYearly Enterprise2999.99yearly2021-06-012022-06-012022-05-31successbank_transferblank3blank
sub_0004retained0trueblankcust_0004daniel.kim+1@company.complan_m_basicMonthly Basic0monthly2023-07-052023-08-052023-07-05successotherblank1blank
sub_0005retained0trueblankcust_0005eva.chen@live.complan_q_standardQuarterly Standard39.99quarterly2022-12-102023-03-102023-03-09successpaypalblank4blank
sub_0006retained0trueblankcust_0006frank.turner@protonmail.complan_y_liteYearly Lite99.99yearly2022-05-172023-05-172023-05-16successcredit_cardblank2blank
sub_0007retained0trueblankcust_0007george.khan+promo@gmail.complan_m_basicMonthly Basic0.01monthly2023-08-012023-09-012023-08-31successotherblank1blank
sub_0008retained0trueblankcust_0008hannah.nguyen@icloud.complan_w_weeklyWeekly Access3.99weekly2023-05-102023-05-172023-05-17successcredit_cardblank2blank

What the 200 rows show

from the 200-row sample

Retained (retention status) stands out: mean failed_payments_count is 0.0, against 1.5 for the rest.

  • 95%is_active = true
  • 0median failed_payments_count
  • 3payment statuses
  • 4billing cycles
  • 5payment methods
  • 6plans
Mean failed_payments_count by retention_status200 rows
0120.0retained146 rows1.7churned10 rows1.5at-risk44 rows
failed_payments_count200 rows, in bands of 0.2
07515014600002600028012failed_payments_count →

Median 0, from 0 to 2.

payment_failure_reason40 rows with a value · 160 left blank
  1. Card expired10
  2. Insufficient funds9
  3. Payment gateway error5
  4. Awaiting confirmation3
  5. Insufficient funds in account2
  6. Awaiting bank confirmation2
  7. Awaiting payment verification2
  8. Awaiting bank authorization1
  9. Processing delay1
  10. Card declined1
19 columns by typefrom the column list below
  • string 10
  • integer 2
  • float 1
  • date 5
  • boolean 1

Columns

19 columns in four groups
blueprint · 19 columns
columntypedescriptionexample
Text 10 columns
subscription_idstringUnique identifier for each subscription recorduniquesub_0001
customer_idstringUnique identifier for the customer associated with the subscriptioncust_0001
customer_emailstringEmail address of the customeralice.smith@gmail.com
plan_idstringUnique identifier for the subscription plan6 plansplan_m_basic
plan_namestringName of the subscription planMonthly Basic
billing_cyclestringBilling cycle frequency for the subscription (e.g., monthly, yearly)monthly · quarterly · yearly · weeklymonthly
payment_statusstringStatus of the most recent payment attemptsuccess · failed · pendingsuccess
payment_failure_reasonstringReason for payment failure, if applicableoptionalInsufficient funds
payment_methodstringPayment method used for the subscriptioncredit_card · debit_card · paypal · bank_transfer · othercredit_card
retention_statusstringCurrent retention status of the customer (e.g., retained, churned, at-risk)retained · churned · at-riskretained
Numbers 3 columns
plan_pricefloatRecurring price of the subscription plan0 or more9.99
total_paymentsintegerTotal number of successful payments made for this subscription0 or more13
failed_payments_countintegerNumber of failed payment attempts for this subscription0 or more0
Dates and times 5 columns
subscription_start_datedateDate when the subscription started2022-09-10
next_renewal_datedateDate when the next renewal is scheduled2023-09-10
last_payment_datedateDate of the last successful paymentoptional2023-09-09
cancellation_datedateDate when the subscription was cancelled, if applicableoptional2022-04-01
last_retention_action_datedateDate of the last retention-related action taken for the customeroptional2023-04-16
True or false 1 column
is_activebooleanIndicates if the subscription is currently activetrue

Use it for

  • is active95%190 of 200 rowsmean failed payments …0.0retain…1.7churned1.5at-risk

    A finance dashboard

    The is_active rate, failed_payments_count by retention_status and a breakdown of payment_failure_reason. Excel, Power BI or Tableau.

  • Why do the 146 retained rows have a mean failed_payments_count of 0.0?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable subscriptions with customer_id, customer_email and plan_id to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 19 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset200 rows19 columns
Yours1,000 rows19 columns

blueprint · subscription-billing

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 19 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Billing cycle: monthly, quarterly, annual
  • Next billing date calculated from last payment
  • Failed payment triggers retry logic
  • Subscription status: active, paused, cancelled
  • Prorated charges for plan changes
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
subscription-billing

What should your data show?

Preview 20 rows free
No signup. No card.