| Β Β π 39,357Β Β | Β Β π¦ 38,765Β Β | Β Β π₯ 3,898Β Β | Β Β πͺ 3Β Β | Β Β π 9Β Β | Β Β π¬ IQRΒ Β |
|---|---|---|---|---|---|
| Products catalogued | Transactions analysed | Customers segmented | Platforms compared | Dashboard modules | Price quality audit |
- Which platform wins the price war by category?
- Why do 22.8% of customers churn β and what is the revenue risk?
- Which customer acquisition cohort has the highest lifetime value?
- What product category drives the most loyal customers?
- How much revenue can a targeted retention campaign recover?
- Champions (20.8%, 809 customers) order every 58 days with 6.3Γ avg frequency
- Churned segment (22.8%, 899 customers) represents βΉ310K+ annual revenue at risk
- Jun 2015 cohort achieved 26.3% Month-1 retention β 84% above the 24-cohort average
- Beverages-first customers show 24.9% churn rate β highest of any first-category
- Business simulator projects ROI of retention campaigns across all 5 RFM segments
Every number is traceable to a notebook cell. Assumptions are labelled. See
docs/LIMITATIONS.md.
| Layer | Technology |
|---|---|
| Dashboard | Streamlit |
| Data Processing | Python Β· Pandas Β· NumPy |
| Visualizations | Plotly |
| Statistical Analysis | SciPy (chi-squared, IQR) Β· mlxtend (Apriori) |
| Data Pipeline | Jupyter Notebooks (7-step) |
| Deployment | Streamlit Cloud |
Pipeline outputs feed a dbt-compatible star schema (
fct_orders,dim_products,dim_platforms) for downstream analytics engineering workflows.
| Page | What It Shows |
|---|---|
| π Overview + Intelligence Report | Key metrics, auto-generated insights, platform comparison |
| βοΈ Price Intelligence | Price gap matrix across 15+ categories |
| β Review & Rating | Rating distributions by platform and category |
| π Market Basket | Apriori association rules with honest sparse-result disclosure |
| π₯ Customer Segments | RFM treemap, recency vs frequency scatter, chi-squared test |
| π Cohort Retention | 24-cohort heatmap, Month-1 retention trends |
| π Customer Journey | Sankey: first category β segment β outcome |
| π― Business Simulator | Revenue impact projections for retention campaigns |
| π¬ Data Quality | IQR outlier detection Β· missing value audit Β· methodology map |
39,357 products β Blinkit + Zepto + BigBasket catalog CSVs
38,765 grocery transactions (proxy dataset) [nb 05, Cell 1]
3,898 unique customers [nb 05, Cell 1]
809 Champion customers β 20.8% of base [nb 05, Cell 4]
899 Churned customers β avg 400 days since last order [nb 05, Cell 5]
206 At-Risk customers β 5.3% of base [nb 05, Cell 4]
Jun-2015 cohort β 26.3% Month-1 retention (avg: 14.3%) [nb 06, Cell 6]
Beverages first-buyers β 24.9% Churned segment rate [nb 07, Cell 5]
Champion avg items 16.9 vs Churned 4.7 (3.6Γ ratio) [nb 05, Cell 5]
βΉ350 avg order value [assumed β DPIIT/Redseer estimate]
-2.0 price elasticity (Simulator) [assumed β standard retail textbook]
git clone https://github.com/Yashaswini-V21/qc-pulse-india
cd qc-pulse-india
pip install -r requirements.txt
streamlit run app.pyTo regenerate all pipeline outputs from raw CSVs:
python run_pipeline.py # runs notebooks 01 β 07 in sequenceQC_Pulse_India/
β
βββ π app.py β Streamlit entrypoint β routing + CSS injection
βββ π run_pipeline.py β Notebook orchestrator (01 β 07, no silent substitutions)
βββ π requirements.txt β Pinned Python dependencies
βββ π CHANGELOG.md β Version history and integrity fix log
β
βββ π views/ β One module per dashboard page
β βββ overview.py KPI cards + AI story cards
β βββ price_intelligence.py Price gap heatmap + platform scorecard
β βββ review_rating.py Rating distributions
β βββ market_basket.py Apriori rules + honest sparse-result disclosure
β βββ customer_segments.py RFM bubble chart + segment table + chi-squared
β βββ cohort_retention.py 24-month retention heatmap
β βββ customer_journey.py Sankey diagram
β βββ business_simulator.py 4-tab simulator + assumptions expander
β βββ data_quality.py Live IQR outlier detection
β
βββ π utils/ β Shared backend utilities
β βββ data_loader.py @st.cache_data CSV loader + column validator
β βββ simulator.py Business projection functions (typed params)
β βββ story_generator.py Auto-intelligence text β live from DataFrames
β βββ styles.py Dark theme CSS tokens
β βββ charts.py Plotly dark theme config
β βββ config.py File paths + constants
β
βββ π notebooks/ β Data pipeline (run in order)
β βββ 01_data_load.ipynb
β βββ 02_cleaning.ipynb
β βββ 03_price_intelligence.ipynb
β βββ 04_basket_analysis.ipynb min_support=0.005 β as written, no substitution
β βββ 05_rfm_segmentation.ipynb
β βββ 06_cohort_retention.ipynb
β βββ 07_sankey.ipynb
β βββ 08_data_quality.ipynb IQR price audit
β
βββ π data/
β βββ raw/ Source CSVs (Blinkit, Zepto, BigBasket, Groceries)
β βββ clean/ Processed outputs consumed by dashboard
β
βββ π docs/
β βββ LIMITATIONS.md β β L1βL5 data caveat disclosure
β βββ data_schema.md
β βββ DEVELOPER_GUIDE.md
β
βββ π tests/
βββ test_data_loader.py
Yashaswini V Β· LinkedIn Β· GitHub


