Transforming Aadhaar demographic updates into actionable policy intelligence through a transparent, explainable 4-layer analytical framework.
Live Demo β’ Documentation β’ Notebooks
ADIEWS is a comprehensive data analysis and early-warning system that extracts behavioral signals from Aadhaar demographic update patterns to support evidence-based governance across 1,056 districts in India. The framework integrates migration tracking, child welfare monitoring, system stability analysis, and rule-based alerting into a unified decision-support platform.
- π¨ Early Warning System: Rule-based alerts for 417 districts requiring intervention
- π 4-Layer Intelligence: Migration, Child Risk, System Stability, and Alerts
- πΊοΈ Interactive Dashboard: React-based web application with real-time visualizations
- π 10 Months of Data: March 2025 - January 2026 (2.4M records)
- π 100% Explainable: No black-box ML, transparent threshold-based rules
- ποΈ Government-Ready: Ministry-specific actionable recommendations
| Metric | Value |
|---|---|
| Total Records | 2,375,882 raw records |
| Date Range | March 2025 - January 2026 (10 months) |
| Geographic Coverage | 1,056 districts across 63 states/regions |
| Total Updates | 49.9 million Aadhaar updates |
| Child Updates (5-17) | 4.5M (9.07%) |
| Adult Updates (17+) | 45.4M (90.93%) |
| Analysis Granularity | Daily, Pincode, District, State levels |
ADIEWS/
βββ π data/
β βββ aadhaar_demographics_cleaned.csv # Processed dataset
β βββ geographic-data.json # District metadata
β
βββ π notebooks/
β βββ 00_data_preparation.ipynb # Data cleaning & preprocessing
β βββ 01_univariate_analysis.ipynb # Distribution analysis
β βββ 02_bivariate_analysis.ipynb # Correlation studies
β βββ 03_trivariate_analysis.ipynb # Multi-dimensional analysis
β βββ 05_layer1_migration.ipynb # Migration Radar (Layer 1)
β βββ 06_layer2_child_risk.ipynb # Child Risk Map (Layer 2)
β βββ 07_layer3_system_intelligence.ipynb # System Intelligence (Layer 3)
β βββ 08_layer4_early_warning.ipynb # Early Warning System (Layer 4)
β
βββ π outputs/
β βββ layer1_migration_metrics.csv # 87 high-churn districts
β βββ layer2_child_risk_metrics.csv # 9 critical child risk zones
β βββ layer3_system_intelligence.csv # DSI & ADP scores (1,056 districts)
β βββ layer4_early_warning_alerts.csv # 556 districts with alerts
β βββ *.png # 20+ visualizations
β
βββ π website/
β βββ src/
β β βββ components/
β β β βββ sections/
β β β β βββ MigrationRadar.jsx # Layer 1 dashboard
β β β β βββ ChildRiskMap.jsx # Layer 2 dashboard
β β β β βββ SystemIntelligence.jsx # Layer 3 dashboard
β β β β βββ EarlyWarning.jsx # Layer 4 dashboard
β β β βββ Sidebar.jsx
β β βββ App.jsx
β βββ package.json
β
βββ π docs/
β βββ CONCEPTUAL_FRAMEWORK.md # 8-section framework guide
β βββ PATTERN_INSIGHTS.md # Key findings
β βββ PHASE4_SUMMARY.md # Layers 1-2 summary
β
βββ PROJECT_CHECKLIST.md # Implementation tracker
βββ README.md # This file
Note: DemographicData/ (raw CSVs) excluded from repo due to size
Objective: Track adult Aadhaar update volatility as a proxy for internal migration and population mobility.
Metrics:
- Adult Update Volatility (Ο)
- Month-over-Month Growth Rate
- Seasonal Spike Amplitude
- Migration Pressure Score
Key Findings:
- β 87 high-churn districts identified requiring surge capacity
- β Top pressure zone: Khairthal-Tijara, Rajasthan (Score: 134,681)
- β 6 of top 10 districts in Rajasthan (extreme migration volatility)
- β 383 high-growth districts (>20% MoM) indicating rapid in-migration
- β 73 declining districts (<-20% MoM) signaling out-migration
Outputs:
layer1_migration_metrics.csv(1,056 districts)layer1_high_churn_districts.csv(87 priority zones)- 5 visualizations
Objective: Detect child Aadhaar documentation gaps using adult-child update lag patterns.
Metrics:
- Child Share Percentage
- Child-Adult Update Ratio
- Temporal Lag Index
- Documentation Risk Score (0-100)
Key Findings:
- β 9 high-risk districts requiring immediate child enrollment drives
- β Highest risk: Buldana, Maharashtra (Score: 58.1, Child Share: 0.8%)
- β 2+ month lag detected in 65 districts (adult spike precedes child response)
- β Maharashtra emerges as dual-priority state (4 of top 10 child risk districts)
Outputs:
layer2_child_risk_metrics.csv(1,056 districts)layer2_critical_districts.csv(9 high-risk zones)- 4 visualizations
Objective: Measure demographic stability and service dependency to identify critical infrastructure zones.
Metrics:
- Demographic Stability Index (DSI): 0-100 scale (higher = more stable)
- Aadhaar Dependency Proxy (ADP): 0-100 scale (higher = higher dependency)
- Quadrant Classification: Stable/Unstable Γ High/Low Dependency
Key Findings:
- β Mean DSI: 68.19 (high demographic stability nationwide)
- β Mean ADP: 36.04 (low-moderate system reliance)
- β Critical zones identified: High ADP + Low DSI = infrastructure vulnerability
- β 4-quadrant system states mapped for targeted policy responses
Outputs:
layer3_system_intelligence.csv(1,056 districts with DSI/ADP scores)layer3_critical_zones.csv(vulnerable infrastructure districts)- 4 visualizations
Objective: Integrate all layers into a transparent, rule-based alert framework for immediate intervention.
Alert Rules (10 threshold-based indicators):
- Migration Volatility High (Ο > 5,000)
- Child Share Low (<5%)
- Growth Spike (>100% MoM)
- Rapid Decline (<-20% MoM)
- Documentation Lag (β₯2 months)
- Low Stability (DSI <40)
- High Dependency (ADP >60)
- Child Risk High (Score >50)
- Migration Pressure Critical (>10,000)
- Critical Zone (Low DSI + High ADP)
Severity Classification:
- π΄ CRITICAL (10 districts): Immediate action required
- π HIGH (93 districts): Urgent intervention needed
- π‘ MODERATE (314 districts): Enhanced monitoring
- π΅ LOW (139 districts): Routine tracking
- π’ NORMAL (500 districts): Stable (47.3%)
Key Findings:
- β 417 districts require policy intervention (103 CRITICAL/HIGH)
- β Top alert: Migration Volatility (274 districts, 25.9%)
- β Top 3 priority districts: Balotra, Beawar, Khairthal-Tijara (all Rajasthan, Score: 100.0)
- β Priority scoring: 0-100 composite integrating all 4 layers
Outputs:
layer4_early_warning_alerts.csv(1,056 districts, all alerts)layer4_priority_intervention_districts.csv(103 CRITICAL+HIGH)layer4_alert_frequency.csv(alert type analysis)- 4-panel dashboard visualization
A React-based interactive dashboard providing real-time access to all 4 ADIEWS layers.
- π Layer-wise Navigation: Expandable policy intelligence sections
- πΊοΈ Geographic Explorer: District-level data visualization with filters
- π Live Metrics: Real-time statistics and trend analysis
- π¨ Responsive Design: Mobile-friendly dark theme interface
- π Search & Filter: Find districts by state, severity, or pattern
- Frontend: React 18, React Router, TailwindCSS
- Icons: React Icons (HeroIcons)
- Build Tool: Vite
- Deployment: Vercel/Netlify ready
cd website
npm install
npm run dev
# Visit http://localhost:5173cd website
npm run build
# Deploy dist/ folder- Python 3.8+
- Node.js 16+ (for website)
- Jupyter Notebook/Lab
- Git
# Clone the repository
git clone https://github.com/AtharvaKatiyar/ADIEWS.git
cd ADIEWS
# Create Python virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install Python dependencies
pip install pandas numpy matplotlib seaborn jupyter
# Install website dependencies
cd website
npm install
cd ..# Activate virtual environment
source .venv/bin/activate
# Run notebooks in order
jupyter notebook notebooks/00_data_preparation.ipynb
jupyter notebook notebooks/05_layer1_migration.ipynb
jupyter notebook notebooks/06_layer2_child_risk.ipynb
jupyter notebook notebooks/07_layer3_system_intelligence.ipynb
jupyter notebook notebooks/08_layer4_early_warning.ipynbcd website
npm run dev
# Visit http://localhost:5173- 87 high-churn districts mapped for mobile Aadhaar center deployment
- Rajasthan priority state: 6 of top 10 migration pressure zones
- Seasonal patterns identified for surge capacity planning
- 9 critical districts requiring emergency child enrollment drives
- Maharashtra focus: 4 high-risk districts for targeted interventions
- 2+ month documentation lag detected, enabling proactive outreach
- 1,056 districts scored on stability and dependency dimensions
- Quadrant framework enables targeted infrastructure investments
- Critical zones identified where high dependency meets low stability
- 417 districts flagged for policy action (39.5% of total)
- 10 transparent rules - 100% explainable, audit-ready
- Priority scoring enables resource optimization across ministries
- Deploy surge Aadhaar centers to 87 high-churn districts
- Pre-position mobile units before seasonal spikes (Q2-Q3)
- Priority states: Rajasthan, Maharashtra, West Bengal
- Launch child enrollment campaigns in 9 high-risk districts
- Integrate Aadhaar with Anganwadi beneficiary lists
- Focus: Maharashtra (4 districts), Gujarat (2 districts)
- Link Aadhaar to school admissions in 102 moderate/high-risk districts
- Pre-academic year campaigns (April-June 2026)
- Integrate with mid-day meal schemes
- Economic packages for 73 declining districts (out-migration)
- Skill development programs to reverse migration trends
- Monitor effectiveness using Layer 1 volatility metrics
- Infrastructure planning for 383 high-growth districts
- Housing, sanitation, transportation capacity expansion
- Link with urban planning models
- Univariate: Child vs Adult update distributions, temporal trends
- Bivariate: Age ratios, district comparisons, pincode concentration
- Trivariate: Time Γ District Γ Age, multi-dimensional heatmaps
- Layer 1: Volatility distributions, growth patterns, seasonal cycles, migration pressure
- Layer 2: Child share analysis, lag detection, risk scoring, priority districts
- Layer 3: DSI distributions, ADP patterns, quadrant analysis, classification matrix
- Layer 4: Alert dashboard, severity distribution, priority rankings, frequency analysis
Total Visualizations: 25+ publication-quality charts and heatmaps
- Loading: 69 raw CSV files from DemographicData/
- Cleaning: Date standardization, missing value handling, outlier detection
- Aggregation: Daily β Pincode β District β State levels
- Validation: Consistency checks, district-pincode mapping verification
- Exploratory: Univariate, bivariate, trivariate statistical analysis
- Layer 1: Volatility calculation, growth rate analysis, seasonal decomposition
- Layer 2: Lag detection via cross-correlation, risk scoring algorithm
- Layer 3: DSI calculation (inverse volatility), ADP scoring (baseline + consistency)
- Layer 4: Rule application, Z-score deviation, priority scoring, severity classification
- β No black-box ML: All decisions threshold-based and explainable
- β Reproducible: Complete notebook documentation with step-by-step code
- β Auditable: Clear rule definitions with parameter justifications
- β Falsifiable: External validation possible with NSO migration surveys
data/aadhaar_demographics_cleaned.csv- Processed dataset (all notebooks depend on this)data/geographic-data.json- District metadata for mapping- All Layer output CSVs (1-4)
- Visualization PNGs
DemographicData/- Raw source CSVs (69 files)outputs/df_clean_daily.pkl- Large pickle file (349MB)outputs/df_clean_daily.csv- Daily aggregated data (287MB)
Regeneration: Run notebooks/00_data_preparation.ipynb with raw data to recreate excluded files.
- Python 3.8+: Core language
- Pandas: Data manipulation
- NumPy: Numerical computing
- Matplotlib/Seaborn: Visualizations
- Jupyter: Interactive notebooks
- React 18: Frontend framework
- Vite: Build tool
- TailwindCSS: Styling
- React Router: Navigation
- React Icons: Icon library
- Git: Version control
- VS Code: IDE
- Jupyter Lab: Notebook environment
PROJECT_CHECKLIST.md- Implementation tracker with phase completion statusdocs/CONCEPTUAL_FRAMEWORK.md- 8-section theoretical foundationdocs/PATTERN_INSIGHTS.md- Key findings and patternsdocs/PHASE4_SUMMARY.md- Layers 1-2 detailed summary- Notebook markdown cells contain methodology explanations
- β Complete 4-layer framework operational
- β 1,056 districts analyzed across all layers
- β 25+ visualizations generated
- β Interactive web dashboard with React
- β Government-ready recommendations for 5 ministries
- β 100% explainable methodology (no black-box ML)
- β 10 months of temporal data analyzed
- β 417 intervention districts prioritized
- β Open-source and reproducible
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/YourFeature) - Commit changes (
git commit -m 'Add YourFeature') - Push to branch (
git push origin feature/YourFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Atharva Katiyar
- GitHub: @AtharvaKatiyar
- Repository: ADIEWS
- Unique Identification Authority of India (UIDAI) for the conceptual framework
- Data science community for open-source tools
- Government of India ministries for policy context
For questions, suggestions, or collaboration opportunities:
- Open an issue on GitHub Issues
- Contact via GitHub profile
Built with β€οΈ for evidence-based governance
β Star this repository if you find it useful!