Report on revenue, recurring revenue, and churn

Kite reads your Stripe subscriptions or Shopify orders, calculates revenue, monthly recurring revenue, and churn the same way every month, explains what moved the numbers, and delivers the report on a schedule without the spreadsheet work.

Key Takeaways

  1. A useful revenue report depends on fixed definitions more than on clever formulas. Decide once what counts as recurring revenue and what counts as a lost customer, then calculate it the same way every month so the months can be compared.
  2. Kite connects to your Stripe account or Shopify store, reads the subscriptions, payments, refunds, and orders inside it, and calculates revenue, monthly recurring revenue (MRR), and churn from those records.
  3. Kite writes your definitions into your team's knowledge base the first time, so next month's report uses the same rules as this month's.
  4. Each report explains what moved the numbers: how much MRR came from new customers and upgrades, how much was lost to downgrades and cancellations, and which customers left.
  5. Kite can run the report on a schedule, deliver it in the Kite web app, in Slack, or by email, and use what it finds to plan marketing work such as a win-back campaign.
On this page

Why revenue reporting takes an afternoon every month

If you run a subscription business or an online store, your revenue numbers already live in one place: Stripe or Shopify. Getting a clear report out of them is the hard part. Most small teams export a list of subscriptions or orders at the end of the month, paste it into a spreadsheet, fix the rows that don't fit, and rebuild the same formulas they built last month.

The formulas aren't actually difficult. Monthly recurring revenue is the monthly value of every active subscription added together. Customer churn is the share of customers you had at the start of the month who cancelled during it. The difficulty is in the details that change the answer:

  • An annual plan paid in January counts as one-twelfth of its price in each month, not the full amount in January.
  • A free trial isn't recurring revenue until the customer starts paying.
  • A refund, a discount, or a failed payment changes what you actually earned.
  • A customer who pays in euros can't be added to one who pays in dollars without a conversion.

When those choices are made fresh every month, the numbers drift. September's churn can look worse than August's simply because someone counted trials differently.

An AI agent suits this job because the work is repetitive, it follows rules, and it needs judgment at the edges. An agent can read every record, apply the same definitions each time, and point out the one customer whose plan change explains half of this month's movement.

Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. Reporting on revenue and churn is one way it keeps track of whether that work is paying off. Here's how it works.

How Kite reports on revenue, recurring revenue, and churn

Kite starts by agreeing on definitions with you. It proposes what should count as recurring revenue, what counts as a lost customer, and which period each report covers, based on what it already knows about your pricing and plans from its research on your business. Once you agree, Kite records those rules in your team's knowledge base.

Next, Kite reads the records in your connected Stripe account or Shopify store and calculates the numbers. It breaks the month's change in MRR into its parts and names the customers behind the biggest moves. It also notes anything unusual, such as a spike in failed payments or a plan that suddenly lost several customers.

Then Kite delivers the report. It can answer in the conversation with charts and tables, publish a report page you can share, or put the whole job on a monthly schedule. Each month's figures are kept, so every new report compares against the last one, and Kite uses what changed to suggest the marketing work worth doing next.

  1. Agree on what counts before calculating anything
  2. How do you calculate MRR and churn from Stripe data?
  3. How do you get a simple revenue report from Shopify?
  4. Explain what moved the numbers
  5. Deliver the report every month and keep the history
  6. Turn the findings into marketing work

Agree on what counts before calculating anything

Kite settles your definitions first, because the definitions decide whether two months of reports can be compared at all. It proposes a rule for each choice that changes the answer, explains why, and asks you to confirm or adjust it.

For a typical software company on Stripe, Kite might propose these rules:

  • Monthly recurring revenue is the monthly value of every active subscription at the end of the month. Annual plans count at one-twelfth of their price, and discounts that apply every month are subtracted.
  • Trials are left out until the first successful payment.
  • A churned customer is one whose last active subscription was cancelled during the month. A customer who switches plans hasn't churned.
  • Revenue is what customers actually paid during the month, after refunds.
  • Currencies are reported separately, so euros and dollars are never added together.

Once you agree, Kite saves the rules in your team's knowledge base. If you later decide that a customer who cancels and returns within two weeks shouldn't count as churned, you tell Kite once, and it records the change with the date it took effect.

The same approach settles disagreements between tools. If your Stripe dashboard, your spreadsheet, and your accounting software show three different MRR figures, Kite works out why they differ, and you choose which one is the official number. Kite records that choice so the question doesn't come back next quarter.

How do you calculate MRR and churn from Stripe data?

You calculate MRR from Stripe by adding up the monthly value of every active subscription, and you calculate churn by counting the customers whose subscriptions were cancelled during the month. Kite does both by reading your Stripe records directly.

Kite reads each subscription's status, plan, price, billing period, trial dates, and cancellation date. Status tells it which subscriptions are active, trialing, past due, or cancelled. Price and billing period tell it how much each one is worth per month. It also reads charges, refunds, and invoices to total the revenue you actually collected, and it counts each payment only once.

Then Kite breaks the month's change in MRR into its parts. Here's what that looks like for a company that started September with 210 paying customers and $18,400 in MRR:

  • New MRR. 24 new customers added $2,100.
  • Expansion. 9 customers upgraded, adding $640.
  • Contraction. 4 customers downgraded, removing $180.
  • Churned MRR. 11 customers cancelled, removing $930.

That leaves you with $20,030 in MRR at the end of September. Customer churn was 11 out of 210, or 5.2%. Revenue churn tells a different story. Upgrades from existing customers made up for more than half of what cancellations and downgrades removed, so net revenue churn was 2.6%. Kite reports both kinds of churn, because a business can lose customers and still grow revenue from the ones who stay.

Kite also lists the 11 customers who cancelled, along with their plans, how long they'd been paying, and whether a failed payment came before the cancellation. A cancellation after a failed card payment usually needs a billing reminder rather than a marketing campaign.

How do you get a simple revenue report from Shopify?

You get a simple revenue report from Shopify by totaling the month's orders and subtracting discounts and refunds. Kite reads your Shopify orders for the period, along with their line items, totals, and status, and builds the report from those records.

A store report from Kite covers the numbers an owner checks first. Say your store had 1,340 orders in September with $61,200 in gross sales. Kite subtracts $4,100 in discounts and $2,300 in refunds to show $54,800 in net sales. It also shows the average order value, your best-selling products, and how September compares with August.

Most stores don't have recurring revenue in the subscription sense, so Kite measures churn the way a store experiences it: customers who stop coming back. It looks at how often your customers usually reorder and then counts the people who have gone well past that gap. If most of your coffee buyers reorder every five weeks, a customer who hasn't ordered in twelve weeks has probably lapsed. Kite can show you how many lapsed customers there are, what they used to spend, and which products they bought.

If you sell subscriptions through a Shopify subscription app, those renewals arrive in Shopify as orders. Kite can count them as repeat orders, and the subscription app's own reports remain the most precise record of active subscriptions.

Explain what moved the numbers

Kite explains why the numbers changed, because a report that only says MRR rose 9% leaves you guessing about what to do next. Each report puts the change into plain sentences and points to the records behind it.

Kite looks for the patterns that explain most of the movement. Maybe cancellations clustered on one plan, or new customers this month chose the annual plan more often than usual. A single large customer upgrading might account for most of the month's expansion. On the store side, a discount code might have doubled orders while lowering the average order value.

When you connect the tool that records where your customers came from, such as Google Analytics, PostHog, or your CRM, Kite can also match customers to the campaigns that brought them in. That shows whether the customers from your webinar stayed longer than the ones from a paid campaign. The match depends on both systems recording the same email address or customer ID, so Kite tells you how many customers it could match.

Deliver the report every month and keep the history

Kite can put the report on a schedule, so it arrives on the first business day of every month without anyone asking. Each run reads the latest records, applies the definitions you agreed on, and compares the results with the months before.

You choose where the report goes. In the Kite web app, it arrives as its own conversation with interactive charts and tables. If your team uses Slack, it can post to the channel you name. If not, Kite emails it to the person who set it up, and replying to that email continues the conversation. Kite can also publish the report as a page with a stable link that you can share with an investor or a cofounder.

Kite keeps a dated record of each month's figures in your knowledge base. Six months in, you can ask for your churn by month for the year, and Kite answers from the same definitions every time.

Turn the findings into marketing work

Kite reads revenue and churn to decide what marketing work is worth doing, not only to report it. When the report shows a problem, Kite proposes a response.

If cancellations rose among customers in their first month, Kite might propose a better welcome email sequence and a clearer onboarding page. A group of lapsed store customers who used to buy one product is the audience for a win-back email with a code for that product. When the report shows that one channel brings in customers who stay, Kite suggests putting more of the next campaign behind it.

Kite writes the emails, pages, and campaign copy, and asks for your approval before it publishes or sends anything. After the work ships, the next month's report shows whether churn among those customers came down.

What you get

Written definitions for your numbers

The rules for recurring revenue, churn, trials, refunds, and currencies, saved in your team's knowledge base and used for every report.

A monthly revenue report

Revenue, MRR, and churn for the period, compared with the previous month, with charts and tables you can explore.

The movement behind the change

New, expansion, contraction, and churned MRR for a subscription business, or net sales, order value, and lapsed customers for a store.

The customers behind the biggest moves

The specific customers who cancelled, upgraded, or stopped ordering, with the details that explain why.

A history you can rely on

A dated record of each month's figures, calculated the same way, so you can see your trend for the year.

Proposed next steps

The marketing work Kite thinks would reduce churn or bring in more of your best customers, ready for your approval.

How to get started

You can work with Kite in your browser or in Slack. Start by telling Kite what you want to see, in plain language. You might write, "Give me MRR and churn for the last six months," or "Send me a revenue report from our Shopify store on the first of every month."

Kite asks you to connect Stripe or Shopify if you haven't already. You sign in to your account and approve the connection, and Kite works with the records that account can see. Kite then proposes the definitions it plans to use and the period it will cover. Once you confirm them, it reads the records and sends you the first report.

If you want the report every month, say so, and Kite sets up the schedule and asks where to deliver it. You can change the schedule, the delivery channel, or any definition later by asking.

Integrations used for revenue and churn reporting

Kite needs the system that records your sales. For a subscription business, that's Stripe. For an online store, that's Shopify. Connecting your analytics or CRM as well lets Kite connect revenue and churn back to the campaigns that brought each customer in.

Common questions

Doesn't Stripe already show MRR and churn?

Yes. Stripe's Billing dashboard shows an MRR figure and churn rates calculated with Stripe's own definitions. That's often enough if all you need is the headline number. Kite is useful when you need the number explained: which customers moved it, whether the movement came from cancellations or downgrades, and what to do about it. Kite also applies the definitions your team agreed on, which matters when the figure goes into an investor update and has to match last quarter's.

What's the formula for net revenue?

Net revenue is your gross sales minus refunds, returns, and discounts. A store with $61,200 in gross sales, $4,100 in discounts, and $2,300 in refunds has $54,800 in net revenue. Kite calculates it from the actual refunds and discounts recorded in Stripe or Shopify for the period, rather than from an estimate.

What is a recurring revenue business model?

A recurring revenue business charges customers on a regular schedule, usually monthly or yearly, instead of once per purchase. Software subscriptions, memberships, and product subscriptions such as monthly coffee deliveries all work this way. MRR is the standard way to measure these businesses, because it shows how much predictable revenue you have coming in each month.

Can Kite report revenue for a business that sells in more than one currency?

Yes. Stripe records each payment in the currency the customer paid in, so Kite reports MRR and revenue separately for each currency. If you want a single total, tell Kite which exchange rates to use, and it records that choice with your other definitions.

Does Kite change anything in Stripe or Shopify to produce the report?

No. Reporting only requires Kite to read your records. If a later piece of work does involve your store, such as creating discount codes for a win-back campaign, Kite proposes it first and makes the change once you approve it.

How is Kite different from a dedicated subscription analytics tool?

Tools such as ChartMogul and Baremetrics specialize in subscription metrics and show them in a ready-made dashboard. Kite produces the same core numbers from your Stripe data, explains what moved them, and then does the marketing work the report points to. That includes writing the win-back email, improving the onboarding page, and checking next month whether churn came down. If you're comparing dashboard layouts, SaaS dashboard examples for tracking revenue, recurring revenue, and churn Coming soon walks through the options.

Questions this page answers

  • How do I report on revenue, recurring revenue, and churn with AI?
  • Can an AI marketing agent report on revenue, recurring revenue, and churn?
  • How do I calculate MRR and churn from Stripe data?
  • How do I get a simple revenue report from Shopify?
  • What's the easiest way to track monthly recurring revenue?
  • How do I see churn by month without a finance team?

Related integrations

About the author

Devon Wells leads product marketing at Kite, the AI marketer. He spent a decade marketing industrial AI, from self-driving trucks to computer vision, but now Kite handles most of the work itself.

Tell me your goal and I’ll get to work.

Get started for free