Data Science
MGNREGA Employment Analytics: ETL, Data Warehouse and Dashboard
A data-quality-gated pipeline from NREGA progress reports to a decision-ready warehouse and dashboard
- Python
- pandas
- MySQL
- +4
From NPCI's monthly tables to growth curves, seasonality and a trend forecast — one clean dataset, done properly
Mapped to your syllabusAnna University Regulation 2021 · CS3811 Project Work / Internship · Semester 8A Decade of UPI is a compact, beginner-level analytics study built on one clean, real, verifiable Indian dataset: the Unified Payments Interface product statistics published every month by the National Payments Corporation of India (NPCI) — monthly transaction volume (in millions) and value (in ₹ crore) since launch.
UPI is the payments story of the decade: from about a lakh transactions a month at launch to billions now, it has overtaken every other retail instrument in India. The raw numbers are public and trustworthy, but the analysis — how fast did it grow, when, and what patterns repeat every year? — is what this project answers.
The workflow is deliberately small enough for a first project yet honest enough to defend in a viva: the monthly tables are saved as CSVs, cleaned with pandas (headers, placeholders, unit columns), loaded into MySQL, and then interrogated two ways. SQL computes the structural metrics — year-over-year and month-over-month growth, compound annual growth rate, records by value and volume, average ticket size. Python (pandas, Matplotlib) does exploratory data analysis: growth curves on a log scale, festival-month seasonality, the volume–value divergence as small-ticket payments exploded. A simple linear-regression trend forecast with a held-out test set closes the study. Every chart in the report traces to a query or notebook cell, and every number can be re-derived from the public source in minutes — that reproducibility is the point of the project. Three members split the work: data and database, SQL metrics, and visualisation with forecast.
Syllabus alignment
UPI's growth is quoted everywhere but analysed almost nowhere: claims float around social media and news tickers with cherry-picked start and end points, mixed units, and no way to verify them. Students and researchers who want to understand the real growth pattern — how fast volumes actually doubled, which months consistently spike, how average ticket size fell as street-vendor payments grew — have no clean, reproducible starting point.
There is a need for a small, rigorous analytics study that takes one authoritative public dataset (NPCI's monthly UPI statistics), stores it in a proper database rather than loose spreadsheets, derives trustworthy growth and seasonality metrics with SQL, visualises them honestly with Python, and reports a trend forecast whose accuracy is measured — so that any claim made in the report can be reproduced from the source data in minutes.
This project studies the growth of UPI, India's instant retail payment system, using a single authoritative dataset: NPCI's monthly UPI product statistics. The monthly volume and value series are cleaned, loaded into MySQL, and analysed with SQL queries and Python-based exploratory data analysis. The study quantifies growth (CAGR, YoY, doubling time), identifies seasonal patterns around festivals and financial-year end, examines the divergence between transaction volume and value as small-ticket payments grew, and produces a simple, honestly evaluated trend forecast. The output is a reproducible analytics report: database, notebooks, charts and a findings document that anyone can re-run from the public source.
When UPI launched in 2016, cash and cards dominated Indian retail payments. Within a few years, UPI monthly volumes crossed every other instrument, driven by QR codes at street vendors, zero-cost P2P transfers and smartphone growth. NPCI publishes the monthly totals — volume in millions, value in ₹ crore — on its product statistics page. That series is a gift for a first data-analytics project: it is real, national in scale, small enough to understand completely, and rich enough to demonstrate every core skill from the Anna University R2021 labs — SQL querying (CS3481) and pandas-based EDA with Matplotlib (CS3361).
upi_monthly, plus a derived fy_summary) as the single source of truth for the study.In scope
Out of scope (v1)
The study follows a lightweight iterative analytics lifecycle (plan → acquire → prepare → analyse → communicate), run in three short cycles so a working draft of the findings exists from week 5 onward. The team of three splits the layers but reviews every cycle together.
| Phase | Weeks | Activities | Deliverable |
|---|---|---|---|
| Plan & acquire | 1–2 | Study NPCI statistics page; freeze analysis questions; extract monthly tables to CSV; data dictionary | Question list + raw CSVs |
| Prepare | 3–4 | Cleaning rules (headers, units, placeholders); MySQL schema; loader script; sanity checks | Loaded upi_monthly table |
| Cycle 1: SQL metrics | 5–6 | YoY/MoM, CAGR, records, ticket size queries; verify against NPCI press statements | Metrics tables |
| Cycle 2: EDA | 7–9 | Trend, log-scale, seasonality and divergence charts; event annotations | Notebook + figures |
| Cycle 3: forecast | 10 | Train/test split, linear regression on log volume, MAE vs naive baseline | Forecast section |
| Write-up | 11–12 | Findings report, CS3811-format documentation, demo rehearsal | Final submission |
Validation approach: every derived total is cross-checked against NPCI's own published monthly statements (e.g. peak-month records quoted in press releases); loader sanity checks assert positive volumes, monotone months, and row counts equal to months elapsed; the forecast is never presented without its held-out MAE.
This is an analytics study, so the architecture is a small data flow rather than a software system.
upi_monthly: month, volume_mn, value_cr, derived avg_ticket_size) and one aggregated table (fy_summary: financial-year totals and growth).flowchart LR
A["NPCI UPI product statistics<br/>(monthly volume & value tables)"] --> B["Extraction<br/>save monthly tables as CSV"]
B --> C["Cleaning & loading<br/>pandas checks → MySQL `upi_monthly`"]
C --> D["SQL metrics layer<br/>YoY · MoM · CAGR · records · ticket size"]
C --> E["Python EDA<br/>log growth · seasonality · divergence"]
D --> F["Findings report<br/>every figure cites its query"]
E --> F
E --> G["Trend forecast<br/>held-out MAE vs naive baseline"]erDiagram
UPI_MONTHLY {
date month PK
decimal volume_mn
decimal value_cr
decimal avg_ticket_size
}
FY_SUMMARY {
int fin_year PK
decimal annual_volume_mn
decimal annual_value_cr
decimal yoy_growth_pct
}
UPI_MONTHLY ||--o{ FY_SUMMARY : "aggregates into"avg_ticket_size is derived in the loader as value × 10 / volume (₹ per transaction), and fy_summary is recomputed from upi_monthly by a view-like SQL script so no number can drift between tables.
Module 01
Owns everything from NPCI's page to a loaded MySQL table: saving the monthly statistics tables as CSVs, a documented cleaning routine in pandas (header rows, thousand separators, unit columns, placeholder handling), the upi_monthly and fy_summary schema, and a loader script with sanity checks (positive volumes, no duplicate or missing months, row count matches months elapsed). Also maintains the data dictionary.
Module 02
Owns the query set that turns the table into findings: month-over-month and year-over-year growth, compound annual growth rate per financial year, record-setting months, average ticket size trend, longest acceleration spells, and festival-quarter comparisons. Each query is saved with a one-line purpose comment, and Member 2 validates the computed totals against NPCI's published statements, recording any discrepancy in the report.
Module 03
Owns the Python layer: Matplotlib charts for the linear and log-scale growth curves, month-of-year seasonality box plots, the volume–value divergence plot that shows small-ticket payments taking over, and annotated event markers (post-demonetisation adoption, the COVID dip and surge). Also owns the forecast notebook — linear regression on log-volume with a held-out test set, reported MAE against a naive last-month baseline — and assembles the figures into the findings report.
Slide 1
A Decade of UPI — Transaction Growth Analytics
Slide 2
Why UPI, Why This Study
Slide 3
Problem Statement
Slide 4
The Dataset
Slide 5
Objectives
Slide 6
Methodology & Timeline
Slide 7
Study Design & Database
Slide 8
Analysis Highlights — Growth
Slide 9
Analysis Highlights — Seasonality & Ticket Size
Slide 10
Forecast & Evaluation
Slide 11
Conclusion & Future Scope
Bullets, speaker notes and the .pptx · ₹2,000
Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.
Two reasons: reproducibility and skill demonstration. A database enforces types and constraints, keeps the study's numbers in one auditable place instead of copies of a file, and lets the metric layer be expressed as reviewable SQL scripts that anyone can rerun. It also demonstrates the DBMS course outcomes from CS3481, which is part of why this project maps well to our curriculum.
EDA is the systematic first look at a dataset — distributions, trends, seasonality and anomalies — before any modelling. In our study it revealed three things: volume growth that is near-exponential and then maturing, strong festival-quarter seasonality with a reliable dip in the monsoon months, and a steady fall in average ticket size showing UPI's shift from big person-to-person transfers to small everyday merchant payments.
CAGR, the compound annual growth rate, is the constant yearly rate that would take the starting value to the ending value over n years: it is (end/start) raised to 1/n, minus one. We computed it per financial year from the fy_summary table, which aggregates upi_monthly. It smooths month-to-month noise, which is why we always present it alongside the actual YoY percentages rather than instead of them.
+11 more questions, with answers
Unlocks with the project · ₹2,000
Unlock for ₹2,000What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.
Unlocks with the project · ₹2,000
Unlock for ₹2,000How to study it, adapt it and walk your examiner through it, step by step.
Unlocks with the project · ₹2,000
Unlock for ₹2,000OnlyProjects. (2026). A Decade of UPI: Transaction Growth Analytics with SQL and Python: B.Tech / B.E. Data Science project bundle [Educational resource]. https://onlyprojects.online/projects/btech-ds-upi-growth-analytics-sql-python
Keep browsing
Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.
Data Science
A data-quality-gated pipeline from NREGA progress reports to a decision-ready warehouse and dashboard
Data Science
A two-stage learning-to-rank engine over real Bengaluru restaurant data, judged by NDCG — not by vibes
Cyber Security
Flows, top talkers and scan indicators for the lab's own network — headers only, no blocking, full history
Mechanical Engineering
A human-powered spiked-roller dehusker for small coconut growers around Pollachi — designed, fabricated and tested for ₹ under 20,000
Aerospace / Aeronautical
Build a subsonic test tunnel on a student budget, then trace lift and drag on a 3D-printed NACA 0012 against theory
Agricultural Engineering
Irrigates vegetable beds by soil-moisture thresholds instead of habit, and proves every litre with a flow meter