For subscription apps
Trials, renewals and the churn nobody chose
A consumer subscription business is a trial funnel with a renewal problem attached. Most of the churn is not a decision anyone made.
What does Bastle do for subscription apps?
The job
What you are actually trying to do
Not a feature list rearranged. These are the tasks that bring this reader to a subscription analytics tool in the first place, and what in Bastle does each one.
Know what the trial funnel actually converts
Trial conversion rate, trial length, trials currently running and which high-value trials expire this week — reported as metrics rather than assembled from a query. Trials are excluded from MRR by default, because counting them makes the number stop meaning recurring revenue, and that exclusion is a policy you can change.
Split the churn that was chosen from the churn that was not
Expired cards, insufficient funds and issuer declines look identical to a cancellation in a headline churn number and need a completely different response. Bastle reports them separately and Recover chases the payment failures on their own schedule.
Get the reason out of a cancellation flow you already own
Cancellation Insights ships an embeddable widget, but if you have already built your own flow — or your cancellations happen in a platform you do not control — you can post the reason to the API and it lands in the same reporting: reasons weighted by lost MRR, trends over time, per-reason follow-ups.
Segment by something other than plan
At consumer volumes the plan tells you very little. Segmentation stacks filters across tenure, MRR band, signup date, geography and any custom attribute you import — acquisition source, onboarding path, app version — and any saved segment applies across metrics, cohorts and the assistant.
Friction
The complaints people actually write down
Taken from published reviews and public discussion of the incumbent tools rather than invented for this page. Where Bastle does not solve one of them, the answer below says so rather than changing the subject.
The complaint
The analytics tool counts trialing users as customers, so both the customer count and MRR are inflated and the trial funnel is invisible.
What Bastle does
Trials are excluded from MRR and reported as their own metric set — conversion rate, trial length, active trials, expiring high-value trials. Whether trialing subscriptions count as revenue is workspace policy, so the decision is yours and it is written down.
The complaint
Dunning is a separate purchase from analytics, English-only, and limited to email with maybe a banner.
What Bastle does
Recover is part of Bastle rather than an add-on, and runs email, SMS and an in-app banner across three separate campaigns — delinquency, card expiry and annual renewal. Localisation is a real gap: sequences are authored by you per campaign, and Bastle does not auto-translate them the way some retention specialists do.
The complaint
Mobile subscriptions live in the app stores and never reach the analytics tool, so the picture is permanently partial.
What Bastle does
App Store and Google Play connectors are in beta: Bastle reads auto-renewable subscriptions through the App Store Server API and Play Billing through the Android Publisher API, with store commission applied as a fee so net revenue reflects actual proceeds. Beta means the ingestion path has had less production mileage than Stripe, so reconcile your first month against your own store reports. The import API remains available if you would rather push the history yourself.
The complaint
Churn is reported as one rate, so a bad month reads the same whether the cause was a pricing change or a batch of card failures.
What Bastle does
Every movement decomposes into new, expansion, reactivation, contraction and churn, with the customers behind each, and cancellation reasons are weighted by the MRR they cost. Ask will explain a movement in a sentence and cite the records it used.
The complaint
Monthly cycles mean any measurement error compounds twelve times a year, and the tool's rules for coupons, refunds and same-day cancellations are undocumented.
What Bastle does
Coupon handling, refund treatment, the delinquency window and the same-day start-and-cancel wash are explicit workspace policy. Change one and history recalculates against the new rule. Bastle does not yet version or attribute that change, so keep your own note of when a rule moved.
The shape of a consumer subscription business
High volume, low price, short cycles and a trial at the front. That combination produces two measurement problems that barely exist in B2B SaaS. First, trials dominate the customer count if you let them, and a tool that counts a trialing user as a customer reports a business you do not have. Second, monthly billing means a payment method is presented twelve times a year, so card failures accumulate into a churn rate that has nothing to do with whether anyone liked the product.
Bastle handles both explicitly. Trials are excluded from MRR by default and reported as their own metric set — conversion rate, trial length, active trials, and which high-value trials expire this week. Failed payments are reported as a distinct cause of churn and handled by Recover rather than folded into the same number as cancellations.
Involuntary churn is where the money is
Expired cards, insufficient funds and issuer declines typically account for a mid-to-high single-digit share of subscription revenue. Those customers were not leaving. Recover treats the three situations that produce them as separate campaigns — a delinquency sequence that starts when a charge fails, a card-expiry warning before anything can fail, and an annual-renewal heads-up before a large charge lands — because a single generic sequence wastes most of the opportunity.
Messages carry a link to a hosted card-update page you can brand, and the new card is written back to your payment processor so the next charge simply works. What happens to outstanding invoices afterwards is a setting, deliberately conservative by default: recovering everything at once collects more and surprises the customer with a total they did not expect.
One honest limitation. Recover's sequences are authored by you, per campaign, in the languages you write them in. Retention specialists that auto-localise dunning across a dozen-plus languages have a real advantage if your base is genuinely international, and it would be misleading to imply otherwise.
The app stores, stated plainly
If your subscriptions are sold through the App Store or Google Play, Bastle connects to both, and both are in beta. It reads auto-renewable subscriptions through the App Store Server API and Play Billing through the Android Publisher API, and applies store commission as a fee so net revenue reflects what the store actually remits rather than the list price.
Beta is not a formality here. These paths have had far less production mileage than Stripe, and store reporting has its own delays and restatements, so plan to check your first month against the store's own reports rather than assuming agreement. If the whole of your revenue is in-app, weigh that against tools built specifically around mobile purchase events, which have been doing only this for longer. The import API remains an alternative if you would rather push the history yourself, and imported sources appear alongside native ones in one set of metrics.
Asking why, at consumer volume
At tens of thousands of subscribers you cannot read the underlying list, so the decomposition has to do the work. Every movement in revenue breaks into new, expansion, reactivation, contraction and churn with the customers behind each, cancellation reasons are weighted by the MRR they cost rather than counted, and saved segments apply across metrics, cohorts and the assistant so you can ask a question about one cohort by name.
Cancellation Insights covers the collection side either through an embeddable widget or by posting reasons from a flow you already built, which matters here because consumer apps usually own their cancellation experience and are not going to replace it.
Where to start
The parts you will use first
All of it sits in one workspace reading one normalised billing history, and Bastle is free while in beta — so nothing here is a tier, an add-on or a separate subscription.
Recover
Involuntary churn is customers leaving by accident.
Learn moreCancellation Insights
Exit surveys sent a week later get answered by the people who were least annoyed.
Learn moreMetrics
Most analytics tools hand you a number and ask you to trust it.
Learn moreSegmentation
A single company-wide churn rate is an average of several different businesses.
Learn moreAPI & MCP
Analytics tools that treat the API as an afterthought make you re-implement their metric definitions in your own code.
Learn moreThe same product from another seat: founders, finance teams, investors and boards and saas startups.
Or go straight to the detail: everything Bastle does, the metric glossary for the maths behind any number, an honest comparison with the alternatives, or the live demo — the real application running on a generated dataset, no signup.
Frequently asked questions
Does Bastle connect to the App Store or Google Play?
How are trials handled?
What share of churn is usually involuntary?
Can Recover send in other languages?
Does it handle monthly and annual plans in the same view?
Can we keep our own cancellation flow?
See your own numbers in about two minutes.
Connect Stripe and Bastle backfills your full history. Free while in beta — no card, no sales call.