Chart · Churn and refunds

Refund Rate: Share of Paid Transactions That Get Refunded

Refund rate is the share of the paid transactions of each period that has been refunded since. Paid transactions are purchases, renewals and one-time purchases. RevenueDot divides the refunded ones by all of them, groups them by purchase date, and ignores refunds that were later reversed.

Formula

Refund rate = paid transactions of the period that have been refunded since / paid transactions of the period

Shape

A series by cohort date; recent cohorts are still maturing

API name

refund_rate

Measures

Refund Rate (Percent)

Filter and segment by

App, Store, Product, Product duration, Offering, Country, Platform, App version

The Refund Rate chart in the RevenueDot dashboard, with demo data, its chart rail, plot and table
Captured from the RevenueDot dashboard with demo data.

Definition

How RevenueDot calculates Refund Rate

Each paid transaction, meaning a purchase, a renewal or a one-time purchase, is placed in the period of its purchase date. A transaction counts as refunded when the ledger holds a refund for it that was not reversed. The refund can have happened on any later date, up to now.

That is different from the Refunds chart, which places a refund on the day it happened. Here the refund goes back to the period of the purchase it belongs to. So the rate for a recent period can still rise as refunds arrive, and old periods settle. Free trial starts are not paid transactions and are excluded, and so are sandbox transactions, granted access and Family Sharing.

Filters and segments: app, store, product, product duration, offering, country, platform and app version. You can open it in the dashboard under Charts or fetch it with GET /v2/projects/{project_id}/charts/refund_rate. The response has the same shape as RevenueCat's Charts API, so scripts written for that API keep working. The secret key needs the charts_metrics:charts:read permission. The Charts guide lists every parameter.

Worked example

Refund Rate, step by step

The paid transactions of June, checked in September.

MeasureTransactions
Paid transactions in June2,000
Refunded since40

June's refund rate is 40 / 2,000 = 2.0%. If 6 more June purchases are refunded in October, the same period will read 2.3%.

Why it matters

What Refund Rate tells you

A rising refund rate means revenue you already counted is going back to customers. It is also a quality signal. Refunds cluster around a bad release, a misleading paywall, a confusing price after a trial, or a plan sold in a market where the price surprised people.

Segment by product and offering to find which plan or paywall produces refunds, and by store to compare Apple and Google. A refund rate that is high for annual plans and low for monthly plans usually means customers noticed the charge too late.

How to read it

  • Judge a period only after refunds have had time to arrive. Refunds can come weeks after the purchase.
  • Compare the same age: a rate for last week is not comparable to a rate for last quarter.
  • Use Refunds for the money and the count by refund date, and use this chart for the rate by purchase date.
  • A reversed refund is removed, so a customer who wins a dispute no longer counts.
  • Pair with Refund Request Outcomes to see how Apple requests turn into refunds.

API

Get Refund Rate from the Charts API

Same path and response shape as RevenueCat's Charts API, so existing scripts keep working.

Requestshell
curl "https://api.revenuedot.app/v2/projects/$PROJECT_ID/charts/refund_rate?resolution=day" \
  -H "Authorization: Bearer $SECRET_KEY"   # sk_... with charts_metrics:charts:read

Reference: Charts guide · REST API v2

FAQ

Refund Rate: questions people ask

How is refund rate calculated?

It is the refunded paid transactions divided by all paid transactions in the same purchase period. Reversed refunds are not counted.

What is the difference between refund rate and the refunds chart?

Refund rate puts each refund back in the period of its purchase and shows a share. Refunds shows money and count on the day the refund happened.

Why does my refund rate for last month keep rising?

Refunds arrive after the purchase, sometimes weeks later. The rate for a period settles once most refunds have come in.

Does refund rate work for Google Play?

Yes. Refunds recorded in the ledger count for any store. Refund Request Outcomes covers Apple only.

Get started

See your Refund Rate in minutes.

Connect your app to RevenueDot Cloud, free up to $10,000 a month in tracked revenue, and all 43 charts fill from your store history after import.

Already have an account? Sign in · Prefer your own servers? Self-host free