Back to Ko-fi in Excel
SheetXAI logo
Ko-fi logo
Ko-fi · Excel Guide

Track Ko-fi Membership Churn and Month-Over-Month Growth in a Google Sheet

2026-05-14
5 min read

The Scenario

You're a Twitch streamer and YouTuber with 400 Ko-fi members, and your membership revenue has been the bedrock of your operation for two years. Last week, someone in your Discord mentioned they couldn't renew their tier. You checked Ko-fi's dashboard — it showed total subscribers, not who churned. You opened your Transactions workbook and realized it has 8 months of data, unsorted, with no way to quickly see which specific members stopped paying in the last 30 days or whether your subscription revenue is actually growing.

The end-of-month creator call with your manager is Thursday.

The bad version:

  • Sort the Transactions worksheet by date descending, scroll through looking for subscription rows where the last payment is more than 30 days old — manually copy those supporter emails into a new worksheet
  • Build a SUMIFS formula for month-over-month subscription revenue, discover the date column is stored as text instead of a date, fix 400 rows with Text to Columns, rerun the formula, get a number you don't trust
  • Search Ko-fi's dashboard for "open commissions," export that separately, paste it in a third worksheet, realize the export has a different supporter_email format than your Transactions worksheet so the VLOOKUP doesn't match

You're supposed to be building content, not auditing spreadsheet column types. The manager call is in 48 hours and you still don't have a clean answer to "are we growing?"

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Excel workbook. It reads your transaction data and, through its built-in Ko-fi integration, can identify lapsed members, compute month-over-month trends, and surface open commissions — without you fixing a single date format first.

In the "Transactions" sheet, identify all rows where type is "subscription" and the last payment date is more than 30 days before today — write those supporters' emails and last payment dates to a new "Lapsed Members" sheet

What You Get

  • A new "Lapsed Members" worksheet with one row per lapsed member
  • Columns: supporter_email, last_payment_date — sorted by last_payment_date ascending so the longest-lapsed members appear first
  • Rows where the date column is stored as text are parsed before comparison — no pre-cleaning needed
  • Count of lapsed members written to a summary row at the top

What If the Data Is Not Quite Ready

The date column is a mix of formats

Your Transactions worksheet has dates in three different formats — "2025-08-15", "Aug 15 2025", and Unix timestamps — depending on when the data was exported. The lapsed member filter is returning wrong results.

In "Transactions", normalize the date column so all dates are in YYYY-MM-DD format — update in place, then re-identify all subscription rows where the normalized date is more than 30 days before today and write them to "Lapsed Members"

You want six months of MoM subscription revenue

You need a table showing month, total subscription revenue, prior month revenue, and percentage change — for the past six months — to bring to Thursday's call.

Calculate month-over-month membership revenue for the past 6 months from the "Transactions" sheet and write a summary table to "MoM Growth" with columns: month, total_subscription_revenue, prior_month_revenue, pct_change — format pct_change as a percentage with one decimal place

Open commissions aren't flagged in the Transactions worksheet

Your commission rows have a "status" field that should say "fulfilled" when complete. You need a list of all open ones — those where status is missing, blank, or anything other than "fulfilled."

In the "Transactions" sheet, find all rows where type is "commission" and the status column is not "fulfilled" (including blank or missing values) — write supporter_email, amount, and date to a new "Open Commissions" sheet sorted by date ascending

The full lapsed-members + growth + open commissions kill chain

From the "Transactions" sheet: (1) write all subscription rows where last payment is more than 30 days before today to "Lapsed Members" with supporter_email and last_payment_date; (2) write a 6-month MoM subscription revenue summary to "MoM Growth" with month, total_subscription_revenue, prior_month_revenue, pct_change; (3) write all commission rows where status is not "fulfilled" to "Open Commissions" with supporter_email, amount, date — run all three in sequence

The pattern: bring Thursday's entire briefing package together in one prompt rather than stitching three separate passes.

Try It

Get the 7-day free trial of SheetXAI and open any Excel workbook with Ko-fi transaction data, then ask it to find your lapsed members or calculate your subscription growth. For related workflows, see how to parse Ko-fi webhook payloads into structured columns or build a clean supporter CRM from your event history, or return to the Ko-fi integration overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more