The Complete Guide to Cohort Analysis as a Lifecycle Marketing Tool
How a Victorian doctor's map changed everything we know about group behaviour
In the summer of 1854, cholera ripped through the Soho neighbourhood of London. Within days, more than 500 people were dead. The prevailing theory at the time was that disease spread through "bad air"—miasma—so authorities focused on ventilation and cleaning the streets.
Dr. John Snow didn't buy it.
Instead of looking at the aggregate death toll, Snow mapped every single fatality by household. He grouped the dead by a shared characteristic—their proximity to specific water pumps. When he plotted those groups on a map, a pattern emerged that no headline number could reveal: deaths clustered almost entirely around the Broad Street pump. Snow convinced local authorities to remove the pump handle. The outbreak stopped within days.
Snow didn't cure cholera. He identified the source by studying cohorts—groups of people who shared a common exposure—rather than staring at the total death count.
That's exactly what cohort analysis does for lifecycle marketing.
Your aggregate metrics tell you that churn is 6%. They don't tell you that customers who signed up through paid ads churn at 18% by month three, while customers from organic search are still active at month twelve. They don't tell you that users who skipped your onboarding checklist are four times more likely to cancel than those who completed it. They don't tell you that your January cohort is performing brilliantly while your March cohort is quietly haemorrhaging.
Cohort analysis is how you find the pump handle.
This guide walks you through exactly how to do it in Customer.io—from defining your cohorts to reading retention curves, identifying churn risk, building targeted interventions, and measuring whether those interventions actually work.
What is a cohort, exactly?
A cohort is a group of people who share a common characteristic at a specific point in time.
The most common cohort in lifecycle marketing is the acquisition cohort—everyone who signed up in a given month. But cohorts can be defined by almost anything: the channel that brought them in, the plan they chose, whether they completed onboarding, their industry, their geographic region, or their first meaningful action in your product.
The key word is shared. A cohort isn't a random segment—it's a group defined by something they all experienced together, and you track them together over time to see how their behaviour evolves.
Here's the difference in practice:
- Aggregate metric: "Our month-one retention rate is 74%."
- Cohort metric: "Our January cohort had 82% month-one retention. Our March cohort had 61%. Something changed in February."
That second sentence gives you something to investigate. The first one gives you a number to report.
Why aggregate metrics lie to you
Aggregate metrics are averages, and averages hide the distribution.
Imagine you have 1,000 customers. 200 of them are highly engaged power users with near-zero churn. The other 800 are lukewarm, struggling to find value, and churning at 15% per month. Your blended monthly churn rate looks like about 12%—bad, but not alarming. The 200 happy customers are masking how badly the other 800 are doing.
Research from Athenic studied nine B2B SaaS companies that implemented deep cohort analysis over twelve months. All nine discovered critical retention insights that aggregate metrics had completely hidden. The median churn reduction after implementing cohort-driven interventions was substantial—and in one case, a company found that 67% of users who didn't complete their onboarding churned within 30 days. Their headline churn number had looked manageable until they broke it apart.
The same study identified what they called a "day 3 drop-off" pattern: 34% of SaaS users who don't return by day three never come back, compared to just 8% churn for those who do return. No aggregate metric surfaces that. Cohort analysis does.
How to define meaningful cohorts in Customer.io
Customer.io's segmentation engine is built for exactly this kind of analysis. You can define cohorts using attributes (data you know about a person), events (actions they've taken), and combinations of both.
Here are the four cohort types that generate the most useful insights for lifecycle marketing.
Cohort by signup date
This is your baseline. Group users by the month they created their account. In Customer.io, you do this by filtering on the created_at timestamp attribute.
Why it matters: Signup-date cohorts let you see whether your retention is improving over time. If your March cohort retains better than your January cohort at the same lifecycle stage, something you changed between January and March is working. If it's worse, something broke.
To build this in Customer.io:
- Go to Segments
- Create a new data-driven segment
- Add a condition:
created_at→is between→ [first day of month] and [last day of month] - Name it clearly:
Cohort - Jan 2025 Signups
Repeat for each month. Yes, it's manual the first time. It's worth it.
Cohort by acquisition channel
This tells you whether your marketing spend is buying you good customers or just customers.
You need to pass acquisition source as an attribute when users sign up. Something like acquisition_channel: "paid_social" or acquisition_channel: "organic_search". Once that data flows into Customer.io, you can build segments like:
Cohort - Paid Social SignupsCohort - Organic Search SignupsCohort - Referral Signups
KISSmetrics' research found that acquisition channel is one of the strongest predictors of long-term customer value. Referral customers, in particular, consistently show higher retention floors across industries.
If your paid social cohort churns at 20% by month three and your referral cohort churns at 5%, that's not just a retention insight—it's a CAC payback insight, an attribution insight, and a budget allocation insight all at once.
Cohort by plan type
Not all customers buy the same thing, and they shouldn't be treated the same way.
In Customer.io, pass plan_type as a person attribute at signup: plan_type: "starter", plan_type: "professional", plan_type: "enterprise". Then build cohorts for each tier and track them separately.
You'll almost certainly find:
- Starter/free tier: highest churn, fastest drop-off, often churns before discovering core value
- Professional/mid-tier: moderate churn, usually tied to specific feature adoption
- Enterprise: lowest churn, but higher stakes when it does happen
2025 benchmarks from RevMine, based on 500+ SaaS companies, found that SMB customers churn at 5.8% monthly (median) versus enterprise customers at below 1% monthly. Those aren't just different numbers—they require completely different intervention strategies.
Cohort by onboarding completion
This one is often the most revealing, and the most actionable.
Define what "onboarding complete" means for your product. It might be:
- Completing your in-app checklist
- Connecting an integration
- Inviting a team member
- Performing a core action (publishing, sending, creating, connecting)
Track this as a boolean attribute: onboarding_complete: true/false. Or use a more granular event-based approach: onboarding_steps_completed: 3 (out of 5).
Then build two cohorts:
Cohort - Onboarding CompleteCohort - Onboarding Incomplete
The data here is consistently striking. Research compiled by Gitnux found an 82% retention rate for users who complete full onboarding versus just 19% for those who don't. That's not a marginal difference—it's the difference between a viable product and a revolving door.
Userpilot's 2024 Product Metrics Benchmark Report found an average onboarding checklist completion rate of just 19.2% across 188 SaaS companies. That means roughly 80% of your users are entering the high-churn bucket by default—unless you intervene.
How retention curves reveal patterns that numbers hide
Once you've defined your cohorts, you track them over time and plot a retention curve.
A retention curve starts at 100% (everyone is active at signup) and shows what percentage of the original cohort is still active at month one, month two, month three, and so on.
Here's what a basic retention table looks like:
| Cohort | Size | Month 0 | Month 1 | Month 2 | Month 3 | Month 6 |
|---|---|---|---|---|---|---|
| Jan 2025 | 840 | 100% | 82% | 71% | 64% | 58% |
| Feb 2025 | 910 | 100% | 79% | 68% | 61% | 55% |
| Mar 2025 | 780 | 100% | 71% | 59% | 51% | — |
| Apr 2025 | 950 | 100% | 76% | — | — | — |
Reading across a row shows how a single cohort decays over time. Reading down a column shows whether your retention is improving or declining across cohorts at the same lifecycle stage.
Look at month-one retention across those cohorts: 82%, 79%, 71%, 76%. March is a problem. Something happened with March signups that didn't affect January or February.
That's a question aggregate metrics can't even ask.
The three shapes a retention curve can take
The cliff: Sharp drop-off in month one, then relative stability. Common in SaaS when users who don't activate quickly churn fast. The intervention point is days one through fourteen.
The slow bleed: Gradual, consistent decline across every month with no plateau. Often signals a value delivery problem—users get some value but not enough to renew indefinitely. The intervention point is ongoing.
The healthy floor: Sharp early drop (some users will always churn), then the curve flattens and stabilises. This is what you're aiming for. The users who survive month one tend to stay. The goal becomes improving that early survival rate.
Most SaaS businesses sit somewhere between the cliff and the slow bleed. Cohort analysis tells you which one you are—and where exactly the damage happens.
How to identify which cohorts have the highest churn risk
The goal here is to find leading indicators—signals that predict churn before it happens, not after.
Step 1: Build your baseline retention table
Create signup-date cohorts for at least the last twelve months (you need seasonal context). Export retention data for each cohort at month one, three, and six.
You don't need a sophisticated analytics tool for this. In Customer.io, you can track cohort membership using segments and cross-reference against active/inactive status using event data (last login, last action, etc.).
If you have a data warehouse connected to Customer.io via Reverse ETL, you can build this table directly from event data. If not, export segment membership counts monthly.
Step 2: Look for outlier cohorts
Which cohorts underperform at month one compared to neighbouring months? A sudden drop in month-one retention for a specific signup cohort usually points to:
- A change in your acquisition source (you ran a promotion that brought in less-qualified leads)
- A product change that confused new users
- A change in your onboarding flow
- Seasonal effects (December signups often behave differently)
Flag every cohort that underperforms the average by more than 5 percentage points.
Step 3: Cross-reference with cohort attributes
Now the real work starts. Take your underperforming cohorts and ask: what do these users have in common?
In Customer.io, filter your underperforming signup-date cohort by:
- Acquisition channel
- Plan type
- Onboarding completion status
- Company size or industry (if you track it)
- Geographic region
You're looking for the sub-cohort that's driving the poor performance. In most cases, you'll find it's concentrated in one or two dimensions—paid traffic users who didn't complete onboarding, or starter plan users from a specific campaign.
Step 4: Identify the churn moment
For each at-risk cohort, find the specific moment where retention drops most steeply. This is your intervention window.
In Customer.io, you can approximate this by looking at event recency. Build a segment of users from your at-risk cohort who last performed a key action (login, feature use, etc.) more than X days ago. Watch how that segment grows over time.
The moment your "last active more than 14 days ago" segment starts growing faster than expected is your early warning signal.
Research from Athenic found that day three is the single biggest drop-off point in SaaS—26% of users who don't return after day two never convert to paid. If you're not intervening by day three, you're already too late for a significant chunk of your at-risk cohort.
Step 5: Build a churn risk score in Customer.io
Combine the signals into a calculated attribute. You can do this via your data warehouse and push the result back to Customer.io, or use Customer.io's attribute update operations in a Journey.
A simple churn risk score might look like:
- No login in 7 days: +2 points
- Onboarding incomplete: +3 points
- Acquired via paid social: +1 point
- On starter plan: +1 point
- Never used core feature: +3 points
Users scoring 6+ go into your high-risk cohort. This becomes a dynamic segment in Customer.io that triggers your intervention campaigns automatically.
How to build campaigns that intervene at the right moment
Knowing which cohorts are at risk is half the job. The other half is knowing what to say and when.
Different cohorts churn for different reasons. A user who churned because they never understood your core value needs a different message than one who got value but lost budget. Sending the same win-back email to both is a waste of sends and goodwill.
For the "never activated" cohort
Who they are: Signed up, never completed onboarding, disengaged within the first two weeks.
Why they churn: They didn't experience your product's core value. They ran out of patience, got confused, or got pulled away before the "aha moment."
The intervention strategy: Speed. Hit them fast with a simple, friction-reducing message.
In Customer.io:
- Trigger:
onboarding_complete = falseANDdays_since_signup >= 3 - Message one (day 3): "Quick question—did you get stuck anywhere?" Personal, low-pressure, invites a reply
- Message two (day 7): Single action CTA. "The one thing most new users miss." Deep link to the specific step they haven't completed
- Message three (day 14): Social proof. "Here's what [similar company] achieved in their first week." Makes the cost of not engaging concrete
If they don't engage with any of these, they move to a suppression segment. Don't burn sends on people who have fully disengaged—it hurts your deliverability. You can read more about this in our guide to messaging frequency management and suppression.
For the "activated but drifting" cohort
Who they are: Completed onboarding, used the product actively for weeks, then gradually became less active.
Why they churn: They hit a wall, outgrew a feature, or their internal champion left. The product is working but not expanding.
The intervention strategy: Re-engagement through value, not discounts.
In Customer.io:
- Trigger:
onboarding_complete = trueANDlast_active_at < 14 days agoANDdays_since_signup > 30 - Message: Feature spotlight on something they haven't used. "You've been doing X really well. Here's how teams like yours use Y to take it further."
- Follow-up: Case study or data point relevant to their use case. Concrete outcomes, not features.
Avoid leading with discounts for this cohort. They're not churning because of price—they're churning because of perceived value. A discount signals you're desperate, not that the product has gotten better.
Our guide to behaviour-triggered journeys goes deep on building these kinds of activity-based triggers.
For the "plan-downgrade risk" cohort
Who they are: On a paid tier, engagement metrics declining, haven't used features specific to their plan tier.
Why they churn: They're paying for features they don't use and rationalising whether the upgrade is worth it at renewal.
The intervention strategy: Show them the value of their current tier before renewal comes up.
In Customer.io:
- Trigger:
plan_type = "professional"ANDfeature_x_usage_last_30_days = 0ANDdays_until_renewal <= 45 - Message sequence: Three emails over six weeks showing specific ROI of features they're paying for but not using
- Final message (day 30 before renewal): "Here's what you've achieved this year on [plan]." Data-driven summary using Liquid personalisation to pull in their actual usage stats
For implementation details on using Liquid to personalise these messages, check out our Customer.io Liquid personalisation tutorial.
For the acquisition-channel cohort with high churn
Who they are: Came through a specific channel (often paid social or promotional campaigns) and are churning at a rate significantly higher than your organic cohort.
Why they churn: They signed up for a discount, a specific use case, or out of curiosity—not because they had a burning problem your product solves.
The intervention strategy: Qualification and rapid value demonstration.
In Customer.io:
- Set up a specific onboarding journey for this cohort (identified by
acquisition_channelattribute) - Lead with use-case discovery, not feature walkthroughs: "What's the main thing you're hoping to solve?"
- Branch the journey based on their answer and serve relevant content immediately
- Shorten the time-to-value path aggressively—assume they have less patience than your organic users
Our advanced segmentation guide covers how to build these branching journeys based on acquisition attributes.
Step-by-step: building your cohort analysis workflow in Customer.io
Here's the practical setup sequence.
Step 1: Audit your attribute data
Before building any cohorts, confirm you're capturing these attributes on every new user:
created_at(timestamp — Customer.io captures this automatically)acquisition_channel(string — must be passed at signup)plan_type(string — must be passed at signup or plan selection)onboarding_complete(boolean — updated by your product when user completes steps)
If any of these are missing, fix that first. Cohort analysis is only as good as the data feeding it. Our guide on event schema design is a good starting point if you need to build out your data layer.
Step 2: Create your baseline cohort segments
Build a segment for each of the last twelve signup months. Use created_at timestamp conditions as described above. Name them consistently: Cohort - [Month] [Year].
Step 3: Track a "retention event"
Define what "active" means for your product. This should be a meaningful action—not just a login, but something that indicates they're getting value. Examples: published a campaign, exported a report, ran an automation, connected an integration.
Ensure this event fires into Customer.io every time it occurs. This becomes your retention signal.
Step 4: Build a monthly retention measurement routine
On the first of each month, export the active member count for each cohort segment (members who performed your retention event in the last 30 days). Log this to a spreadsheet. Over time, you'll build the retention table automatically.
This doesn't require a paid analytics tool. It requires discipline.
Step 5: Set up your intervention triggers
Using Customer.io Journeys, build campaigns for each at-risk cohort type. Set the triggers based on the attributes and inactivity windows you've identified. Use goals in each campaign to track whether users who enter the journey go on to perform your retention event.
Step 6: Review monthly
Set a recurring monthly task. Open your retention table. Check which new cohorts are underperforming. Adjust your interventions. Repeat.
How to measure whether your interventions shift the retention curve
This is where most teams drop the ball. They build the campaigns, run them for a few months, look at open rates and click rates, and call it done.
Open rates don't tell you whether you moved the retention curve. You need a different measurement approach.
Measure at the cohort level, not the campaign level
The question isn't "did this email get a 28% open rate?" The question is "did the March 2025 cohort retain at a higher rate than the February 2025 cohort after we launched our intervention?"
Compare retention rates at the same lifecycle stage across cohorts:
- Pre-intervention cohorts (control): What did month-three retention look like before your intervention existed?
- Post-intervention cohorts: What does month-three retention look like for cohorts who've had your intervention running since day one?
If month-three retention improved from 51% to 64% across consecutive cohorts after you launched your onboarding intervention, that's a retention curve shift. That's the signal you're looking for.
Use Customer.io campaign goals correctly
Every intervention campaign in Customer.io should have a goal defined. The goal should be your retention event (the meaningful action that signals active usage), not an email metric.
When a user who entered your intervention journey goes on to perform the goal event, Customer.io attributes that conversion to the campaign. This gives you a conversion rate for each intervention, which you can benchmark against your pre-intervention baseline.
Look at revenue retention, not just user retention
Customer churn and revenue churn are different things. If you lose ten $10/month customers and retain two $100/month customers, your user churn is high but your revenue churn is zero.
Build cohort retention tables by revenue (MRR contribution per cohort) in addition to user count. This tells you whether your interventions are disproportionately saving your high-value customers—which is usually the right outcome.
Our lifecycle marketing scorecard covers the metrics hierarchy that connects campaign performance to revenue retention.
Run holdout groups for clean measurement
For your most important intervention campaigns, set aside a small holdout group (10–20% of the at-risk cohort) who receive no intervention. Compare their retention to the group who did receive your campaign.
The difference in retention between the holdout and the treatment group is your campaign's true impact. This controls for the fact that some users would have retained anyway without your intervention.
Customer.io's cohort testing feature supports this kind of A/B split at the campaign level. Set it up before you launch your intervention, not after.
What good looks like: benchmarks to aim for
To give you a reference point, here are the benchmarks that matter:
SaaS month-one retention: 80–90% is the target for subscription businesses (Recurly's 2025 churn analysis). If you're below 70%, your activation problem is severe.
Annual churn rate: B2B SaaS median sits at 3.5% annually (Recurly, 2025). Below 5% is considered solid ground. Above 7% signals a structural retention problem.
Onboarding completion vs non-completion retention gap: If users who complete onboarding aren't retaining significantly better than those who don't, either your onboarding isn't teaching the right things or your product's core value needs work.
SMB vs enterprise churn: RevMine's 2025 benchmark of 500+ companies found SMB monthly churn at 5.8% versus enterprise at below 1%. If your SMB cohort is churning faster than 5.8%, you're below median. Target the top quartile: 3.2% monthly for SMB.
Frequently asked questions
What is cohort analysis in lifecycle marketing?
Cohort analysis groups customers who share a common characteristic (usually their signup date or acquisition channel) and tracks their behaviour over time. In lifecycle marketing, it reveals when and why customers churn—information that aggregate metrics like overall retention rate can never show.
How is a cohort different from a segment?
A segment is a snapshot: here are all the users who meet condition X right now. A cohort is longitudinal: here are all the users who met condition X at a specific point in time, and here's how their behaviour has evolved since. Segments can change membership. Cohorts are fixed at the moment of definition.
What cohort should I start with in Customer.io?
Start with signup-date cohorts—monthly groups based on created_at. This gives you your baseline retention table and the ability to spot whether your retention is improving or declining over time. Once you have that baseline, layer in acquisition channel and onboarding completion to explain the "why" behind what you're seeing.
How many months of data do I need before cohort analysis is meaningful?
You need at least six months of cohorts to see meaningful patterns, and twelve months to control for seasonality. With fewer than six months, you don't have enough data points to distinguish a trend from a blip.
What does a "healthy" retention curve look like for SaaS?
A healthy SaaS retention curve drops steeply in month one (some users will always churn early), then flattens and stabilises at a relatively high floor—typically above 70–80% for monthly subscribers at month three. If your curve continues declining steadily past month three with no sign of flattening, you have a structural value delivery problem.
How do I define "active" for my retention cohorts in Customer.io?
"Active" should mean value-realising—a meaningful action that indicates the user is getting what they paid for. Not just logging in. Good examples: publishing a campaign, running an automation, exporting data, inviting a team member. Define it based on what your best customers do consistently.
Can Customer.io run cohort analysis natively?
Customer.io's segmentation engine is excellent for building and tracking cohorts, but it doesn't output a retention table natively. You need to combine Customer.io segments with a spreadsheet, a BI tool, or a data warehouse to produce the cohort retention table. Customer.io gives you the data engine; you need to build the visualisation layer.
How often should I review my cohort retention data?
Monthly is the minimum. Run a cohort review on the first of each month—export active counts for each cohort, update your retention table, flag any cohorts underperforming the previous month's equivalent, and check whether your intervention campaigns are moving the needle for targeted cohorts.
What's the difference between voluntary and involuntary churn, and does it affect cohort analysis?
Voluntary churn is when a customer chooses to cancel. Involuntary churn is payment failure—an expired card, a failed charge, a billing error. Recurly's research found involuntary churn accounts for roughly 0.86% of annual churn on average. Both show up in your cohort retention curves. Filter out involuntary churn (you can tag these in Customer.io when a billing failure fires an event) to understand your true voluntary churn patterns.
How does acquisition channel affect cohort retention?
Significantly. Referral customers consistently show higher retention than paid acquisition customers, who often show higher early churn. Organic search customers tend to fall in between. If you're running cohort analysis by acquisition channel and finding your paid cohorts churning at twice the rate of organic cohorts, that changes your CAC payback math and your budget allocation decisions—not just your email strategy.
Should I build separate onboarding journeys for different cohorts?
Yes, if the data supports it. If your acquisition-channel cohorts show meaningfully different retention curves, they're probably churning for different reasons and need different onboarding messages. Customer.io's branching Journey builder makes it practical to build cohort-aware onboarding sequences that fork based on acquisition_channel or plan_type at entry.
How long does it take to see results from cohort-targeted interventions?
You need at least one full cohort cycle to measure an intervention's impact—so if you're targeting month-three churn, you need to wait three months after launching the intervention before you can compare the treated cohort's month-three retention to the untreated baseline. Plan your measurement timeline accordingly, and use holdout groups to get cleaner data faster.
What's the biggest mistake teams make with cohort analysis?
Building the analysis once and not maintaining it. Cohort analysis is only valuable if it's updated regularly and acted upon. The second biggest mistake is optimising for the metric (retention rate) rather than the underlying cause. If your March cohort is churning, the answer isn't to send more emails to March—it's to understand why March is different from January and fix that.
How does cohort analysis connect to customer lifetime value?
Directly. LTV is the sum of revenue a customer generates over their entire relationship with you. Your retention curve tells you how long the average cohort customer stays. Multiply your average monthly revenue per customer by the area under your retention curve, and you have a rough LTV estimate per cohort. Improving your retention curve—even by a few percentage points—typically has a dramatic compounding effect on LTV.
Is cohort analysis only useful for SaaS?
No, but the methodology varies by business model. eCommerce cohorts track repeat purchase rate rather than subscription retention. KISSmetrics' research found that eCommerce retention curves typically stabilise at 15–25% of the original cohort after twelve months. The principle is the same: group customers by a shared starting point and track their behaviour over time to find intervention opportunities.
Putting it all together
Cohort analysis is how you stop managing averages and start managing causes.
Dr. Snow didn't reduce London's cholera mortality by improving the city's average health score. He identified a specific source, for a specific group of people, at a specific moment. Then he intervened.
Your churn problem isn't evenly distributed across your customer base. It's concentrated in specific cohorts, at specific moments in their lifecycle, driven by specific failure points. Aggregate metrics will never show you that. Cohort retention curves will.
The mechanics in Customer.io aren't complicated. Define your cohorts, track retention over time, find the outliers, identify the churn moment, and build campaigns that intervene before that moment arrives. Then measure at the cohort level, not the campaign level, to see whether you're actually moving the curve.
The teams that do this consistently are the ones whose churn figures look inexplicably good to their peers—because their peers are still staring at aggregate numbers and wondering what's going wrong.
Citations
-
Coleman, T. (2024). A Modern Statistical Re-Analysis of John Snow's 1854 South London 'Grand Experiment'. SSRN. https://ssrn.com/abstract=3696028
-
Athenic. (2025). Cohort Analysis for Retention: The Framework That Found Our 34% Churn Driver. https://getathenic.com/blog/cohort-analysis-retention-deep-dive
-
Recurly. (2025). Customer Churn Benchmarks: How Does Your Churn Rate Compare? https://recurly.com/research/churn-rate-benchmarks/
-
RevMine. (2025). SaaS Churn Rate Benchmarks 2025: Industry Data From 500+ Companies. https://revmine.ai/blog-churn-benchmarks
-
Userpilot Team. (2024). Customer Onboarding Checklist Completion Rate: 2024 Benchmark Report. https://userpilot.medium.com/customer-onboarding-checklist-completion-rate-2024-benchmark-report-8ebabebefb1f
-
KISSmetrics. (2025). E-commerce Cohort Analysis: Track Customer Behaviour Over Time. https://www.kissmetrics.io/blog/ecommerce-cohort-analysis
-
Gitnux. (2026). Customer Onboarding Statistics: Market Data Report. https://gitnux.org/customer-onboarding-statistics/
-
Customer.io. (2025). The State of Lifecycle Marketing Report 2025. https://customer.io/learn/lifecycle-marketing/state-of-lifecycle-marketing-report
-
Vena Solutions. (2025). 2025 SaaS Churn Rate: Benchmarks, Formulas and Calculator. https://www.venasolutions.com/blog/saas-churn-rate
-
Customer.io Docs. (2025). Data-driven segments. https://docs.customer.io/journeys/data-driven-segments


