AdvancedavancadoFree prompt

Complete Cohort Analysis: Retention, Revenue, and Product Behavior

Cohort analysis framework for digital products covering user retention, revenue per cohort, feature adoption, and high-value user profile identification.

Implement cohort analysis across three dimensions—usage retention, cumulative revenue, and feature adoption—to identify which customer cohorts are most valuable, what differentiates users who stay from those who churn, and where to focus product and marketing efforts.

At a glance

Access

Free prompt

Open to copy without upgrading.

Prompt objective

Implement cohort analysis across three dimensions—usage retention, cumulative revenue, and feature adoption—to identify which customer cohorts are most valuable, what differentiates users who stay from those who churn, and where to focus product and marketing efforts.

Real use case

The personal finance app PoupaMoney, based in Austin, has 95,000 registered users but only 18% use the app in week two. The product team doesn't know if the problem is acquired user quality (poor acquisition channels) or product experience (broken onboarding)—and without cohorts, they can't answer.

Customize these fields first

PRODUCT NAMENUMBERPERIODPRODUCTe.g., first login, first transaction, account creatione.g., opens app, completes a transaction, generates a reportweek/monthACTIVATION_EVENT

Replace the placeholders with your own context before you run the prompt. That usually improves the first output more than adding more instructions later.

Prompt

Build a complete cohort analysis framework for [PRODUCT NAME], a digital product with [NUMBER] users and [PERIOD] of data.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n**Core Definitions for [PRODUCT]:**\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Activation event (cohort start): [e.g., first login, first transaction, account creation]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Retention event (measures active usage): [e.g., opens app, completes a transaction, generates a report]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Cohort period: [week/month]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Observation window: [NUMBER] periods\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n**Part 1 — Retention Matrix (Retention Cohort):**\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nSQL query to generate the matrix:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`sql\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nWITH first_events AS (\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    SELECT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        user_id,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        DATE_TRUNC('month', MIN(event_date)) AS cohort_month\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    FROM events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    WHERE event_type = '[ACTIVATION_EVENT]'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    GROUP BY user_id\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n),\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nmonthly_activity AS (\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    SELECT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        e.user_id,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        DATE_TRUNC('month', e.event_date) AS activity_month,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        p.cohort_month,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        DATEDIFF('month', p.cohort_month, DATE_TRUNC('month', e.event_date)) AS period\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    FROM events e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    INNER JOIN first_events p USING (user_id)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    WHERE e.event_type = '[RETENTION_EVENT]'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nSELECT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    cohort_month,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    COUNT(DISTINCT CASE WHEN period = 0 THEN user_id END) AS period_0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    ROUND(COUNT(DISTINCT CASE WHEN period = 1 THEN user_id END) * 100.0 /\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n        NULLIF(COUNT(DISTINCT CASE WHEN period = 0 THEN user_id END), 0), 1) AS retention_1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    -- Repeat for periods 2 to 12\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nFROM monthly_activity\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nGROUP BY cohort_month\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nORDER BY cohort_month;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n**Matrix Interpretation:**\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Row (horizontal): cohort retention over time → measures product lifecycle quality\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Column (vertical): retention of different cohorts in the same period → measures product improvement\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Diagonal: retention in the period immediately after each cohort's activation\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n**Part 2 — Revenue Cohort (how much each cohort generates over time):**\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`sql\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nSELECT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    cohort_month,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    SUM(CASE WHEN period = 0 THEN revenue END) AS revenue_month_0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    SUM(CASE WHEN period = 1 THEN revenue END) AS revenue_month_1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    -- ... through period 12\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n    SUM(revenue) AS cumulative_ltv\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nFROM revenue_per_user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nINNER JOIN first_events USING (user_id)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nGROUP BY cohort_month;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Calculate payback period per cohort (when average CAC is recovered)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Project 24-month LTV using decay curve\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- Identify \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Open directly in an AI — the text is pre-filled:

How to use this prompt

  1. 1Replace the key placeholders first: PRODUCT NAME, NUMBER, PERIOD, PRODUCT.
  2. 2Replace any bracketed placeholders like [this] with your own context.
  3. 3Add extra background information when you want more tailored results.
  4. 4Combine multiple prompts in one conversation when you need a richer output.
  5. 5Save your best-performing prompts so they are easy to reuse later.

Next best step

Open the guide first, then branch only if you still need more.

A guide for technical builders choosing between prompts, coding workflows, and agent-based implementation.

If this prompt is close but not quite right, generate variants next. If the job is recurring, move into the course library after the guide.

Related prompts

View all

Advanced Financial Analysis DAX Formulas in Power BI

Creates complex DAX measures for time intelligence calculations, cost allocation, and profitability analysis by segment in Power BI.

AdvancedFree prompt

Best for

Develop a production-ready set of DAX measures that solve the most common financial BI calculations: YoY, YTD, PMPM, margin calculation by segment, indirect expense allocation, and linear forecasting in Power BI Desktop.

Copy-ready promptOpen prompt

Predictive Analysis with Python: Regression and Demand Forecasting

Builds a demand forecasting model using scikit-learn and Prophet, with cross-validation and API deployment for daily business use.

AdvancedFree prompt

Best for

Create a complete Python predictive analytics pipeline — from data preparation to generating forecasts consumable by the operations team — using linear regression, decision trees, and Facebook Prophet for time series analysis.

Copy-ready promptOpen prompt

Multichannel Marketing Data Correlation with Revenue Attribution

Correlation analysis between marketing channels (Google, Meta, email, organic) and revenue, with a multi-touch attribution model for budget optimization.

AdvancedFree prompt

Best for

Identify which marketing channels have the highest correlation with conversions and revenue, build a multi-touch attribution model, and distribute media budget based on actual performance data—replacing last-click attribution.

Copy-ready promptOpen prompt

LTV Calculation for SaaS: Models, Segmentation, and Growth Impact

Complete framework for calculating SaaS Lifetime Value with segmented churn by plan, inflation correction, and strategic use of LTV for CAC decisions, pricing, and product cohorts.

AdvancedFree prompt

Best for

Develop a robust LTV model accounting for real market conditions—interest rates, inflation, segmented churn, and currency effects—enabling the growth team to make acquisition budget, pricing, and product decisions based on actual customer value per cohort.

Copy-ready promptOpen prompt

Explore other prompt categories

Move sideways into adjacent libraries when the current category is not the full answer.

Free browsing stays open. Premium prompts unlock the reusable workflow layer.

Use the guides and role paths to validate the job first. Upgrade when you want the full prompt text, editable premium prompts, and the surrounding course paths in one place.

Free access

  • Browse guides, role paths, and category pages.
  • Preview prompts before you decide to upgrade.
  • Find the right starting point without friction.

Membership access

  • Unlock premium prompts and the full copy text.
  • See more workflow paths and course connections.
  • Keep the reusable templates in one place.
Chat on WhatsApp