Skip to main content
โšก Calmops

Advanced Analytics for Indie Hackers: Cohorts, Retention, and LTV

Set up the right analytics to measure growth, diagnose churn, and validate retention experiments

Introduction

Analytics are more than dashboardsโ€”they help you make the right decisions and prioritize what to build. For early-stage indie hackers, understanding cohorts and retention is the best way to measure product-market fit and estimate long-term value.

Many founders operate on intuition alone, but data-driven decisions compound over time. By tracking the right metrics, you can identify what’s working, diagnose churn, and validate that your changes actually improve user behavior.


Core Concepts & Definitions

Before diving in, here are the essential terms you’ll encounter:

  • Cohort: A group of users who share a common characteristic or experience within a defined time period. Most commonly, users acquired in the same week or month.
  • Retention: The percentage of users who remain active after a specific time period (e.g., 7 days, 30 days).
  • Churn: The opposite of retentionโ€”the percentage of users who stop using your product. If 30-day retention is 60%, your 30-day churn is 40%.
  • LTV (Lifetime Value): The total revenue a customer is expected to generate over their entire relationship with your product.
  • ARPU (Average Revenue Per User): The average amount of revenue each user generates per month or year.
  • DAU/MAU: Daily Active Users / Monthly Active Users. Core metrics for measuring engagement.
  • Activation: The moment a user performs a key action that indicates they understand your product’s value (e.g., completing onboarding, uploading their first file).

Cohort Analysis Basics

What is Cohort Analysis?

Cohort analysis groups users by a shared attribute or behavior and tracks them over time. This isolates the impact of specific changes and removes noise from your metrics.

Why it matters: If you look at overall retention, you can’t tell if a new onboarding flow actually helped. Cohort analysis lets you compare users who went through the old flow vs. the new flow, all else being equal.

How to Define Cohorts

By acquisition date (most common):

  • Week 1 of December: All users who signed up Dec 1-7
  • This isolates external factors (marketing campaigns, seasonality)

By behavior or property:

  • Users who completed onboarding vs. those who didn’t
  • Users acquired via organic vs. paid channels
  • Users on the free plan vs. paid plans

Example: Cohort Retention Table

A typical cohort retention table shows retention by week:

Cohort Week 0 Week 1 Week 2 Week 4 Week 8
Nov 1-7 100% 65% 48% 32% 22%
Nov 8-14 100% 72% 54% 38% 25%
Nov 15-21 100% 68% 51% 35% 24%
Nov 22-28 100% 75% 58% 42% 29%

What this tells you: The Nov 22-28 cohort has better retention than earlier cohorts. You shipped an onboarding change on Nov 22โ€”this table proves it worked.

Setting Up Cohorts in PostHog

# PostHog automatically creates cohorts based on properties
# You can filter by:
# - signup_date (for time-based cohorts)
# - source (organic, paid, referral)
# - plan (free, pro, enterprise)
# - onboarding_completed (true/false)

# Example: Create a cohort of users who signed up in November 2025
{
  "name": "November 2025 Signups",
  "filters": {
    "date_from": "2025-11-01",
    "date_to": "2025-11-30",
    "property": "created_at"
  }
}

Tools for cohort analysis:

  • PostHog: Open-source, self-hosted or cloud. Free tier available. posthog.com
  • Amplitude: Advanced cohort builder, powerful retention charts. Free tier with limitations. amplitude.com
  • Mixpanel: Similar to Amplitude, strong in behavioral analytics. mixpanel.com

Retention Curves

Understanding Retention Patterns

A retention curve shows what percentage of a cohort remains active over time. The shape of this curve tells a story:

  • Steep drop-off in first 7 days: Users aren’t finding value (activation problem)
  • Gradual decline after day 7: Normal pattern; stabilizes after 30 days as power users remain
  • Cliff at day 30: Likely a trial period or subscription renewal issue
  • Flat or increasing: Rare, but indicates strong product-market fit or viral growth

The “Aha Moment” and Time-to-Value

Your retention curve depends heavily on how quickly users experience value. This is called time-to-value (TTV).

Examples:

  • Slack: Aha moment = first message sent to a channel (usually within minutes)
  • Notion: Aha moment = creating first database or page (usually within 10 minutes)
  • Stripe: Aha moment = first API call or payment processed (can take hours or days)

Action: Identify your product’s aha moment and track it in your analytics. Users who hit this moment in their first session have much higher 7-day retention.

Diagnosing a Steep Drop-Off

If 50% of users churn in the first 3 days:

  1. Check activation rate: What % complete your onboarding flow?
  2. Find the drop-off point: Where do users leave? (track each step)
  3. A/B test the onboarding: Shorter flow vs. detailed tour vs. blank slate
  4. Measure time-to-value: Are users hitting the aha moment?

Example experiment:

  • Control group: 5-step onboarding (45% activation)
  • Test group: 2-step onboarding (62% activation)
  • Result: Ship the 2-step version

Calculating LTV

The Basic Formula

LTV = ARPU / Monthly Churn Rate

Example:

  • ARPU = $10/month (average revenue per user)
  • Monthly churn = 10% (lose 10% of users each month)
  • LTV = $10 / 0.10 = **$100 total revenue per customer**

Why This Matters

LTV determines your unit economics:

  • If LTV = $100 and customer acquisition cost (CAC) = $20, you have a 5:1 ratio (healthy)
  • If LTV = $30 and CAC = $20, your ratio is 1.5:1 (unsustainable)

More Accurate LTV Calculations

The simple formula ignores gross margin. A better version:

LTV = (ARPU ร— Gross Margin) / Monthly Churn Rate

Example:

  • ARPU = $10/month
  • Gross margin = 80% (you keep $8 after payment processing, infrastructure)
  • Monthly churn = 10%
  • LTV = ($10 ร— 0.80) / 0.10 = **$80**

LTV by Cohort and Channel

This is where cohort analysis + LTV combine for powerful insights:

Channel First Month Revenue 3-Month LTV 12-Month LTV
Organic $2.50 $18 $65
Paid Search $4.00 $22 $58
Referral $3.50 $28 $92

Insight: Referral users have highest LTV despite lower first-month revenue. Double down on referral incentives.

Payback Period

How long until you recover your CAC?

Payback Period = CAC / (ARPU ร— Gross Margin)

Example:

  • CAC = $25
  • ARPU = $10
  • Gross margin = 80%
  • Payback = $25 / ($10 ร— 0.80) = 3.1 months

You need at least 12-month LTV > 3 ร— CAC for sustainable growth.


Tools and Implementation

Pros:

  • Open-source, can self-host for free
  • Event tracking, cohorts, retention all built-in
  • Generous free tier (1M events/month)
  • No data sampled on free tier

Getting started:

// Install PostHog snippet in your app
posthog.capture('user_signup', {
  plan: 'free',
  source: 'google_ads'
});

posthog.capture('key_action_completed', {
  feature: 'dashboard_view'
});

Resources: PostHog Docs | Event Tracking Guide

Amplitude

Pros:

  • Powerful cohort builder
  • Retention and funnels built-in
  • Good dashboard UI

Cons:

  • Limited free tier (10M events/month, then sampled)
  • Steeper learning curve

Resources: Amplitude Analytics

Mixpanel

Pros:

  • Strong in behavioral analytics
  • Good retention visualization

Cons:

  • Similar pricing/limitations to Amplitude

Lightweight Alternatives

If you want simple traffic analytics (not event tracking):

  • Plausible: Privacy-focused, $10-20/month, no cookies
  • Fathom: Similar to Plausible
  • Google Analytics 4: Free, but steeper learning curve for cohort analysis

Common Metrics to Track

The Essential Dashboard

Build your first dashboard with these five metrics:

  1. Activation Rate

    • Definition: % of signups who complete your aha moment in their first session
    • Target: >40% is good, >60% is excellent
    • Formula: (Users who completed aha / Total signups) ร— 100
  2. 7-Day Retention

    • Definition: % of users active 7 days after signup
    • Target: >30% is decent, >50% is strong
    • Use: Quick feedback loop on product changes
  3. 30-Day Retention

    • Definition: % of users active 30 days after signup
    • Target: >20% is decent, >40% is strong
    • Use: Better predictor of LTV than 7-day
  4. 90-Day Retention

    • Definition: % of users active 90 days after signup
    • Target: >10% is decent, >20% is strong
    • Use: Indicates true product-market fit
  5. Churn Rate by Plan

    • Definition: % of users who cancel each month, segmented by plan
    • Target: <5% for annual plans, <8% for monthly plans
    • Use: Identify which plans are underperforming

Secondary Metrics

  • DAU/MAU Ratio: (Daily Active Users / Monthly Active Users). Higher is better. >30% indicates strong engagement.
  • Payback Period: Months to recover CAC
  • Revenue per Cohort: Total LTV by acquisition source
  • Feature Adoption: % using each feature (helps identify what drives retention)

Common Pitfalls & How to Avoid Them

Pitfall 1: Not Defining “Active”

Problem: You think retention is 60%, but you haven’t defined what “active” means.

Solution: Define it explicitly.

  • Option A: Logged in at least once
  • Option B: Completed a key action (message sent, file uploaded)
  • Option C: Used the product for >5 minutes

Most important: be consistent.

Pitfall 2: Ignoring Small Cohorts

Problem: You launch a small experiment and see 80% retention on Day 1 (2 users).

Solution: Only trust cohorts with >30 users. Smaller sample sizes have high variance.

Pitfall 3: Comparing Apples to Oranges

Problem: Your November cohort has 40% 30-day retention, December has 45%. You assume December onboarding is better, but December includes holiday users.

Solution: Compare cohorts of similar size and seasonality. Or A/B test within the same time period.


Example Use Cases

Use Case 1: Your Onboarding Sucks

Signal: 7-day retention is 25%, 30-day retention is 15%

Action:

  1. Track each step of onboarding in analytics
  2. Identify where users drop off (step 2? step 4?)
  3. Test a shorter onboarding flow on 50% of new users
  4. Compare 7-day retention of test vs. control
  5. If test wins, ship it to everyone

Expected outcome: 7-day retention increases to 35%+


Use Case 2: One Channel Has Higher LTV

Signal: Organic users have 45% 30-day retention, paid search users have 30%

Action:

  1. Organic users are higher quality (or your messaging attracts better-fit users)
  2. Increase organic marketing budget (SEO, content, referrals)
  3. Pause or reduce paid search until messaging improves
  4. Calculate LTV by channel; allocate budget proportionally

Expected outcome: CAC decreases, LTV increases


Use Case 3: Payback Period is Too Long

Signal: CAC = $50, 30-day retention = 30%, ARPU = $8/month, payback period = 7+ months

Action:

  1. Increase ARPU: upgrade users to paid plans, add premium features
  2. Improve retention: better onboarding, reduce churn
  3. Reduce CAC: find cheaper acquisition channels
  4. Target earlier, more specific audience

Expected outcome: Payback period decreases to 3-4 months


Use Case 4: Revenue Isn’t Growing (But User Count Is)

Signal: DAU up 20%, but revenue flat

Action:

  1. Check if new users are on free plan (expected)
  2. Track conversion rate from free to paid by cohort
  3. Analyze: are old cohorts converting at higher rates?
  4. Test pricing or premium feature positioning

Expected outcome: Conversion rate increases, revenue catches up to DAU growth


Setting Up Your First Analytics Stack

Step 1: Choose Your Tool (Week 1)

Pick one: PostHog (self-hosted), Amplitude, or Mixpanel. Don’t overthink it.

Recommendation: Start with PostHog. Free tier is generous, no data sampling, you own your data.

Step 2: Define Core Events (Week 1-2)

Create a spreadsheet of events to track:

Event When Why
user_signup User completes signup Cohort baseline
onboarding_started User starts onboarding Measure drop-off
first_key_action User [completes your aha moment] Measure activation
feature_used User uses a core feature Measure adoption
subscription_created User upgrades to paid Measure conversion
subscription_cancelled User cancels Measure churn

Step 3: Instrument Your Product (Week 2-3)

Add tracking code to your app:

// JavaScript example with PostHog
import posthog from 'posthog-js'

posthog.init('your-api-key', { api_host: 'https://app.posthog.com' })

// Track signup
posthog.capture('user_signup', {
  plan: 'free',
  source: 'organic'
})

// Track key action
posthog.capture('first_key_action', {
  feature: 'dashboard_view',
  time_to_activation: 120 // seconds
})

// Track upgrade
posthog.capture('subscription_created', {
  plan: 'pro',
  price: 29
})

Step 4: Build Your Dashboard (Week 3)

Create a simple dashboard with:

  • 7-day retention curve
  • 30-day retention curve
  • Activation rate
  • Churn by plan

Step 5: Review Weekly (Ongoing)

Every Monday:

  1. Check retention on last week’s cohort
  2. Look for trends (improving or declining?)
  3. If you shipped a change, did it help?
  4. Update your backlog based on data

Final Thoughts

Analytics is a feedback loop: track the right things, run experiments, iterate. Cohorts and retention analysis are the most powerful tools for indie hackers because they:

  • Isolate cause and effect: You can prove that a change actually helped
  • Scale efficiently: You know which channels and cohorts are most valuable
  • Prevent false positives: You won’t optimize for vanity metrics

Start simple. Don’t aim for perfect analytics on day one. Pick 5 core events, build one dashboard, and review it weekly.

Your Action Plan

  1. This week: Set up PostHog and add 5 core events to your product
  2. Next week: Build a retention dashboard, view your first cohort
  3. Month 1: Run one A/B test on onboarding based on your retention data
  4. Month 2: Identify your highest-LTV channel, double down on it

Resources & Further Reading

PostHog:

Analytics Concepts:

Tools:

A/B Testing:

Comments