Skip to content

[heatmap-cohort-retention] Cohort Retention Heatmap #4570

Closed

Description

@MarkusNeusinger

Description

A triangular heatmap showing user retention rates across cohorts (rows) and time periods (columns). Each row represents a signup cohort, each column represents periods since signup, with cell color indicating retention percentage.

Key Visual Elements

  • Cohort labels on y-axis (e.g., "Jan 2024", "Feb 2024")
  • Periods since signup on x-axis (Week 0, Week 1, ...)
  • Triangular shape (later cohorts have fewer data points)
  • Color intensity: dark (high retention) to light (low retention)
  • Percentage values in cells
  • Week 0 always 100%

Applications

  • SaaS/product analytics: measuring user stickiness
  • Mobile apps: tracking engagement decay
  • Gaming: player retention analysis
  • Subscription businesses: churn pattern identification

Domain

Product Analytics / Marketing

Activity

  1. claude commented on Mar 6, 2026

    @claude
    Contributor

    ✅ Spec ID: heatmap-cohort-retention

    Rationale: Combines the heatmap plot type with the cohort-retention variant, clearly describing a triangular retention heatmap used in product analytics — distinct from existing heatmap specs (annotated, calendar, correlation, clustered, etc.).

    Add label approved to begin generation.

  2. changed the title [-]Cohort Retention Heatmap[/-] [+][heatmap-cohort-retention] Cohort Retention Heatmap[/+] on Mar 6, 2026
  3. github-actions commented on Mar 6, 2026

    @github-actions
    Contributor

    ✅ Specification Ready: heatmap-cohort-retention

    PR: #4598


    specification.md

    heatmap-cohort-retention: Cohort Retention Heatmap

    Description

    A triangular heatmap displaying user retention rates across signup cohorts and time periods. Each row represents a cohort (e.g., users who signed up in a specific month), each column represents periods since signup, and cell color intensity indicates the retention percentage. The triangular shape naturally emerges because more recent cohorts have fewer elapsed periods. This visualization reveals retention trends, highlights churn patterns, and enables comparison of cohort quality over time.

    Applications

    • SaaS product analytics: tracking weekly or monthly user retention to measure feature stickiness and identify engagement drops
    • Mobile app growth: comparing retention curves across acquisition channels or app versions to optimize onboarding
    • Subscription business monitoring: identifying seasonal churn patterns and evaluating the impact of retention interventions
    • Gaming analytics: measuring player return rates across cohorts to assess content update effectiveness

    Data

    • cohort (string) - Cohort label representing the signup period (e.g., "Jan 2024", "Feb 2024")
    • period (integer) - Number of periods since signup (0, 1, 2, ...), where period 0 is the signup period
    • retention_rate (float) - Percentage of users retained, ranging from 0 to 100; period 0 is always 100%
    • cohort_size (integer) - Number of users in each cohort (displayed alongside cohort labels)
    • Size: 8-12 cohorts with 8-12 periods each
    • Example: Monthly signup cohorts from Jan 2024 to Oct 2024, with weekly retention percentages

    Notes

    • Period 0 (signup period) should always show 100% retention for every cohort
    • The heatmap should have a triangular shape: the first cohort has the most columns, each subsequent cohort has one fewer
    • Use a sequential colormap from light (low retention) to dark (high retention), such as a green or blue gradient
    • Display the retention percentage as text inside each cell
    • Show cohort size (number of users) next to each cohort label on the y-axis
    • X-axis labels should read "Week 0", "Week 1", etc. (or "Month 0", "Month 1" depending on the period granularity)
    • Consider adding a color bar legend to indicate the retention scale

    Next: Add approved label to merge this specification to main.


    🤖 spec-create workflow

  4. added
    approvedApproved for implementation
    and removed
    approvedApproved for implementation
    on Mar 6, 2026
  5. added
    spec-readySpecification merged to main
    and removed
    spec-requestNew specification request
    on Mar 6, 2026
  6. github-actions commented on Mar 6, 2026

    @github-actions
    Contributor

    🚀 Specification Merged!

    Specification: heatmap-cohort-retention
    PR: #4598 (merged)

    The specification is now in main and synced to PostgreSQL.


    Next: Add generate:{library} labels to start generating implementations.

    Available libraries: matplotlib, seaborn, plotly, bokeh, altair, plotnine, pygal, highcharts, letsplot

    Or use workflow dispatch for bulk operations.


    🤖 spec-create workflow

  7. 152 remaining items

  8. github-actions commented on Jul 5, 2026

    @github-actions
    Contributor

    ⚠️ plotnine Generation Failed (Attempt 2/3)

    Attempt 2 failed. Automatically retrying...


    🤖 impl-generate

  9. github-actions commented on Jul 5, 2026

    @github-actions
    Contributor

    ❌ plotnine Failed (Attempt 3/3)

    The plotnine implementation for heatmap-cohort-retention failed after 3 attempts.

    Reason: Claude Code failed to create the implementation file.

    To retry manually:

    gh workflow run impl-generate.yml -f specification_id=heatmap-cohort-retention -f library=plotnine -f issue_number=4570 -f model=sonnet
    

    🤖 impl-generate

  10. github-actions commented on Aug 17, 2026

    @github-actions
    Contributor

    🎨 python/plotnine Preview

    Light Dark
    plotnine light plotnine dark

    PR: #10309


    🤖 impl-generate

  11. github-actions commented on Aug 17, 2026

    @github-actions
    Contributor

    ✅ plotnine Complete

    plotnine implementation for heatmap-cohort-retention has been merged to main.

    PR: #10309
    Quality Score: 95/100

    Preview: light · dark


    🤖 impl-merge

  12. github-actions commented on Aug 17, 2026

    @github-actions
    Contributor

    🎉 All Implementations Complete!

    All 15 library implementations for heatmap-cohort-retention have been successfully merged.

    Library Status
    altair ✅
    bokeh ✅
    chartjs ✅
    d3 ✅
    echarts ✅
    ggplot2 ✅
    highcharts ✅
    letsplot ✅
    makie ✅
    matplotlib ✅
    muix ✅
    plotly ✅
    plotnine ✅
    pygal ✅
    seaborn ✅

    🤖 impl-merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions