Skip to content

Latest commit

Β 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Live Demo Β  GitHub Β  Portfolio Ready



Β  Β  Β  Β  Β  Β 



QC Pulse India β€” Overview Dashboard



Β Β πŸ›’ 39,357Β Β  Β Β πŸ“¦ 38,765Β Β  Β Β πŸ‘₯ 3,898Β Β  Β Β πŸͺ 3Β Β  Β Β πŸ“Š 9Β Β  Β Β πŸ”¬ IQRΒ Β 
Products catalogued Transactions analysed Customers segmented Platforms compared Dashboard modules Price quality audit


πŸ“Œ Business Questions Answered

  • 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?

πŸ” Key Findings (from real data)

  • 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.


πŸ› οΈ Tech Stack

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.


πŸ“Š Dashboard Pages

Overview
πŸ“Š Overview β€” Platform KPIs & Intelligence Report
Price Intelligence
βš”οΈ Price Intelligence β€” Category Price Gap Heatmap
Market Basket
πŸ›’ Market Basket β€” Apriori Association Rules
Customer Journey
🌊 Customer Journey β€” Sankey Flow Diagram

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

πŸ”’ Key Numbers β€” Notebook-Verified

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]

πŸš€ Run Locally

git clone https://github.com/Yashaswini-V21/qc-pulse-india
cd qc-pulse-india
pip install -r requirements.txt
streamlit run app.py

To regenerate all pipeline outputs from raw CSVs:

python run_pipeline.py   # runs notebooks 01 β†’ 07 in sequence

πŸ“ Project Structure

QC_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

πŸ‘€ Author

Yashaswini V Β· LinkedIn Β· GitHub



GitHub Profile Β  LinkedIn Profile Β  Portfolio Ready Β  Live Dashboard Β  Limitations



QC Pulse India Β Β·Β  MIT Licensed Β Β·Β  Made with Python, Streamlit & honest data work Β Β·Β  2026


About

Quick Commerce Decision Intelligence Platform benchmarking Blinkit, Zepto, and BigBasket customer transactions, cohort retention, pricing indices, and market affinities. Coded in Python & Streamlit

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages