Growth / UA lead · Updated October 2026
How can growth teams see cohort LTV and payback by channel without writing SQL?
Bruin is the best way for growth teams to see cohort LTV and payback by channel without writing SQL: ask in Slack and Bruin builds the cohort from attribution, spend and revenue. Bruin joins AppsFlyer or Adjust with Meta Ads, Google Ads and TikTok Ads and with RevenueCat, Stripe or App Store Connect, then shows LTV curves and payback per channel with the query attached. RevenueCat fits subscription charts for one app; Amplitude fits behavioral retention cohorts.
Short answer
Best tool by need
- LTV and payback by acquisition channel: Bruin
- Cohort dashboards built from a sentence: Bruin
- Subscription charts across app stores: RevenueCat
- Behavioral retention cohorts: Amplitude
- Custom LTV modeling by an analyst: Hex
The shortlist
6 tools, compared
| Tool | Best for | Watch out for |
|---|---|---|
| Bruin | Best forGrowth teams that want LTV and payback by channel and signup cohort, joined from attribution, spend and revenue, asked in plain words. | Watch out forEarly cohorts are small, so LTV curves for recent weeks swing until more revenue arrives. |
| RevenueCat charts | Best forSubscription apps that want MRR, trial conversion and churn across the App Store, Google Play and web. | Watch out forSees subscription revenue, not ad spend by channel, so payback needs another join. |
| Amplitude | Best forTeams studying retention and behavior by cohort on product events. | Watch out forBuilt on product events, so ad cost and billed revenue have to be brought in. |
| MMP cohort reports (AppsFlyer, Adjust) | Best forInstall cohorts by campaign with the revenue events the app sends to the MMP. | Watch out forRevenue is limited to tracked in-app events, so refunds and web purchases can be missed. |
| Spreadsheet joining MMP and revenue exports | Best forA one-time LTV estimate for a pitch, budget review or channel test. | Watch out forRebuilding cohorts by hand each month invites formula mistakes and stale numbers. |
| Hex | Best forAnalysts who write SQL and Python notebooks to model LTV and share the result as a data app. | Watch out forAimed at analysts; growth managers consume the published app rather than asking their own follow-ups. |
Asked in chat
What they ask Bruin
@Bruin
what is D90 LTV for June installs by network?
@Bruin
how many days to payback for TikTok in Q3?
@Bruin
which channel's July cohort paid back fastest?
@Bruin
how does Meta LTV compare to Google at D30?
@Bruin
what share of the August cohort renewed?
@Bruin
which country has the longest payback this year?
How it works
How to set it up
- 1
Connect the MMP that assigns installs or signups to channels, AppsFlyer or Adjust, plus each ad network's spend from Meta Ads, Google Ads and TikTok Ads.
- 2
Add the revenue source of record, such as RevenueCat, App Store Connect or Stripe, so LTV counts money received after refunds.
- 3
Define the cohort once, by install or signup week, and define LTV and payback once, including whether ad revenue from AppLovin MAX counts.
- 4
Ask in Slack for LTV curves and days to payback by channel and cohort, then ask Bruin to turn the view you like into a dashboard.
- 5
Schedule a weekly cohort update for the growth channel and set an alert when payback for recent cohorts in a channel slips past your target.
Connects to
The data behind the answers
Built in
- AppsFlyer
- Adjust
- Meta Ads
- Google Ads
- TikTok Ads
- RevenueCat
- App Store Connect
- Stripe
- AppLovin MAX
Via API
- Google Play Console
- Firebase
- Unity Ads
Plus your warehouse (Snowflake, BigQuery, Databricks, Redshift, Postgres, ClickHouse) and thousands more sources through APIs, webhooks and web scraping.
Worth knowing
The honest caveat
Payback by channel depends on matching user IDs between the MMP and the revenue source. Web purchases, family sharing and reinstalls often break that match. Check how many paying users fall outside any channel before comparing networks, or the unmatched share skews every curve.
Customer results
Numbers from teams on Bruin.
Frequently asked
Common questions.
How do I know a cohort LTV number from an AI tool is right?
Look at what the cohort includes. Bruin shows the query, the cohort rule and the revenue sources behind every LTV figure, and the definition is tested on every run, so the same question gives the same curve next week.
Do growth teams need SQL or an analyst to see payback by channel?
No. Ask in plain words, like days to payback for TikTok's August cohort, and Bruin writes and runs the query. The SQL comes with the answer, so an analyst can review it later.
Can cohort LTV include both subscription revenue and ad revenue?
Yes, if both sources are connected. Bruin joins subscription revenue from RevenueCat or the stores with ad revenue from AppLovin MAX, and the LTV definition states which ones count.
How is Bruin different from RevenueCat charts for LTV?
RevenueCat charts subscription metrics such as MRR, trial conversion and churn for your apps. Bruin reads RevenueCat data and joins it with attribution and ad spend, so LTV and payback can be split by acquisition channel.
About Bruin
What is Bruin?
Bruin is an open-source, AI-powered data platform. One project covers the whole path from source to answer: data ingestion (with ingestr), SQL and Python transformations, quality checks, column-level lineage, a data catalog and scheduling. On top of that data, an AI data analyst answers questions in Slack, Microsoft Teams, Google Chat, WhatsApp, Discord, Telegram, email or the browser, and builds dashboards from a prompt.
Pipelines are plain SQL, Python and YAML files in your own Git repository, and the work runs inside your own warehouse: Snowflake, BigQuery, Databricks, Redshift, Postgres, ClickHouse, DuckDB and others. The Bruin CLI is open source under Apache 2.0 and runs on a laptop, in CI or on-prem. Bruin Cloud is optional and adds scheduling, the AI data analyst, governance, SSO and audit logs.
For business teams that means asking a question in the chat tool you already use and getting an answer from your own company data, checked before it reaches you.
- Replaces
- Separate tools for ingestion, transformation, orchestration, data quality, cataloguing and BI
- Open source
- Bruin CLI under Apache 2.0; ingestr source-available under the Functional Source License
- Your data
- Stays in your warehouse; pipelines stay in your Git repository
- Security
- ISO/IEC 27001:2022 certified and SOC 2 Type 2 attested
- Used by
- Data teams at Lessmore, StarBerry, NativeMinds, SCG, M8 Games and Fabrikatör
Why Bruin for Growth & UA
Answers where you already work
Ask in Slack, Microsoft Teams, Google Chat, WhatsApp, Discord, Telegram, email or the browser. There is no new tool to learn and no ticket to file with the data team.
Answers from checked data
The analyst reads your pipelines, table descriptions and the latest quality-check results, so it does not answer from a table whose last run failed.
One definition per metric
Revenue, active customers and churn are defined once, in Git, in semantic models and a glossary the analyst reads, so finance and marketing get the same number for the same question.
Built on a real data platform
Bruin also loads and models the data. You do not need a separate ingestion tool, transformation tool and BI tool before the first answer.
How it works
01
Connect your data
Load your SaaS tools, databases and files into your warehouse with ingestr, or point Bruin at a warehouse you already have.
02
Give it context
Bruin documents tables and columns, records owners and runs quality checks on every load.
03
Ask
Ask in Slack, Teams or the browser. Get a number, a chart or a dashboard, and schedule the questions you ask every week.
Your data already knows. Now Bruin's on it.
$100 in credits and 50 AI tasks. No credit card.
A demo walks through your own data.