{"id":28958682,"url":"https://github.com/krinya/repeatradar","last_synced_at":"2025-06-23T23:02:13.996Z","repository":{"id":293649859,"uuid":"984172308","full_name":"krinya/repeatradar","owner":"krinya","description":"A Python package for calculating and visualizing cohort retention and other cohort-based metrics with interactive Plotly charts.","archived":false,"fork":false,"pushed_at":"2025-06-20T12:17:10.000Z","size":17026,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T12:46:08.647Z","etag":null,"topics":["analytics","bi","business-intelligence","cohort-analysis","customer-analytics","data-science","data-visualization","package","pandas","plotly","pypi","pypi-package","python","python-3","retention-analysis"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/repeatradar/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krinya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-15T14:03:21.000Z","updated_at":"2025-06-20T12:17:14.000Z","dependencies_parsed_at":"2025-05-16T12:45:43.838Z","dependency_job_id":null,"html_url":"https://github.com/krinya/repeatradar","commit_stats":null,"previous_names":["krinya/repeatradar"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/krinya/repeatradar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krinya%2Frepeatradar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krinya%2Frepeatradar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krinya%2Frepeatradar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krinya%2Frepeatradar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krinya","download_url":"https://codeload.github.com/krinya/repeatradar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krinya%2Frepeatradar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261571302,"owners_count":23178763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","bi","business-intelligence","cohort-analysis","customer-analytics","data-science","data-visualization","package","pandas","plotly","pypi","pypi-package","python","python-3","retention-analysis"],"created_at":"2025-06-23T23:01:32.656Z","updated_at":"2025-06-23T23:02:13.969Z","avatar_url":"https://github.com/krinya.png","language":"Python","readme":"[![PyPI version](https://badge.fury.io/py/repeatradar.svg)](https://badge.fury.io/py/repeatradar) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/) [![Tests](https://github.com/krinya/repeatradar/actions/workflows/publish_to_pypi.yml/badge.svg)](https://github.com/krinya/repeatradar/actions/workflows/publish_to_pypi.yml) ![PyPI - Downloads](https://img.shields.io/pypi/dm/repeatradar)\n\n# RepeatRadar 📡\n\nA lightweight Python package for calculating and visualizing cohort retention and other cohort-based metrics. With just a few simple commands, you can analyze user behavior and trends over time by grouping users into cohorts based on their acquisition period and tracking their activity or other values (e.g., revenue, transaction count) in subsequent periods.\n\n## 📖 Overview\n\n* **Cohort Analysis Made Easy**: Quickly calculate user retention, revenue trends, and other cohort-based metrics.  \n* **Insightful Visualizations**: Create heatmaps and retention curves to uncover patterns in your data, enabling deeper insights into user behavior and trends.  \n\n## 🔗 Links\n\n* **GitHub**: https://github.com/krinya/repeatradar  \n* **PyPI**: https://pypi.org/project/repeatradar/  \n**Documentation**: https://krinya.github.io/repeatradar/  \n* **Example notebooks**:  \n    * [Cohort Calculation Demo](https://github.com/krinya/repeatradar/blob/main/examples/01_cohort_calculation_demo.ipynb) \n    * [Cohort Visualization Demo](https://github.com/krinya/repeatradar/blob/main/examples/02_cohort_visualization_demo.ipynb) \n    * [Sample Data Creation](https://github.com/krinya/repeatradar/tree/main/examples/data)\n\n## 🚀 Installation\nTo install RepeatRadar, simply use pip:\n\n```bash\npip install repeatradar\n```\n\n## 📊 Quick Start\n\n### Cohort Generation\nHere's how you can quickly calculate user cohort data from your dataset:\n\n```python\nfrom repeatradar import generate_cohort_data\n\n# Load your data (example dataset available in examples/data/)\necommerce_data = pd.read_pickle(\"https://github.com/krinya/repeatradar/raw/refs/heads/main/examples/data/ecommerce_data_1.pkl\")\n\n# Basic Monthly User Cohort Analysis\n# This creates a cohort table showing unique user counts for each period\n\nbasic_cohorts = generate_cohort_data(\n    data=ecommerce_data,\n    date_column='InvoiceDateTime',\n    user_column='CustomerID',\n    cohort_period='M',       # Monthly cohorts (users grouped by acquisition month)\n    period_duration=30       # Track in 30-day periods\n)\n\n# This shows how many unique users return in each 30-day period\nbasic_cohorts\n```\n\n![User Cohort Table](https://raw.githubusercontent.com/krinya/repeatradar/refs/heads/main/img/example_user_1.png)\n\n### Cohort Visualizations\n\nYou can visualize the cohort data using heatmaps to better understand user retention trends:\n\n```python\nfrom repeatradar import plot_cohort_heatmap\n\n# Create an interactive heatmap\nheatmap_fig = plot_cohort_heatmap(\n    cohort_data=basic_cohorts,  # The cohort data generated above\n    title=\"📊 User Retention\",\n    color_scale=\"viridis\",\n    show_values=True,\n    show_colorscale=False,\n    width=900,\n    height=600\n)\nheatmap_fig.show()\n```\n\n![Heatmap of User Cohort Table](https://raw.githubusercontent.com/krinya/repeatradar/refs/heads/main/img/example_user_heatmap_1.png)\n\n\u003e 💡 **Tip:** For detailed examples and advanced usage, check out the [Cohort Calculation Examples](https://github.com/krinya/repeatradar/blob/main/examples/01_cohort_calculation_demo.ipynb) and [Visualization Examples](https://github.com/krinya/repeatradar/blob/main/examples/02_cohort_visualization_demo.ipynb) notebooks.\n\n## 📄 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrinya%2Frepeatradar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrinya%2Frepeatradar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrinya%2Frepeatradar/lists"}