Educational civic-tech tool to simulate how government policy changes affect individual and small business finances.
- Real-time Financial Impact Calculation: Deterministic simulation engine
- AI Vulnerability Prediction: Gradient Boosting model predicting policy exposure
- Explainable AI: SHAP-based feature importance analysis
- Plain Language Explanations: Human-readable insights
- Interactive Dashboard: Streamlit frontend with visualizations
User Input → Simulation Engine → ML Model → SHAP Explainer → Visualization
- Backend: FastAPI serving REST API
- ML Model: GradientBoostingRegressor trained on 5000 synthetic samples
- Frontend: Streamlit with Plotly charts
- Explainability: SHAP for feature importance
- Python 3.8+
- pip
- Clone the repository
git clone <repository-url>
cd PolicyImpactSimulator- Install backend dependencies
cd backend
pip install -r requirements.txt- Install frontend dependencies
Option A: React Frontend (Recommended)
cd frontend-react
npm installOption B: Streamlit Frontend
cd frontend
pip install -r requirements.txtBefore running the application, train the ML model:
cd backend
python model_training.pyThis generates backend/models/vulnerability_model.pkl (required for API).
cd backend
python main.pyAPI runs on http://localhost:8000
Option A: React Frontend (Recommended)
cd frontend-react
npm startFrontend opens at http://localhost:3000
Option B: Streamlit Frontend
cd frontend
streamlit run app.pyFrontend opens at http://localhost:8501
- Enter your financial profile (income, spending categories)
- Adjust policy change sliders (GST, fuel price, income tax, subsidies)
- Click "Simulate Impact"
- View:
- Monthly/yearly financial impact
- Vulnerability score (0-100)
- Before/after disposable income comparison
- Category-wise impact breakdown
- AI-generated plain language explanation
- SHAP feature importance
Pre-filled values:
- Annual Income: ₹800,000
- Household Size: 3
- Monthly Rent: ₹15,000
- Groceries: ₹8,000
- Fuel: ₹4,000
Policy Changes:
- GST: +2%
- Fuel Price: +5%
Expected Output:
- Monthly Impact: ~₹-1,500
- Vulnerability Score: 45-55 (moderate risk)
Request:
{
"user_data": {
"annual_income": 800000,
"city": "bangalore",
"household_size": 3,
"rent": 15000,
"groceries": 8000,
"fuel": 4000,
"utilities": 3000,
"education": 5000,
"other": 5000,
"business_revenue": 0,
"business_expense": 0
},
"policy_changes": {
"gst_change": 2.0,
"fuel_price_change": 5.0,
"income_tax_change": 0.0,
"subsidy_change": 0.0
}
}Response:
{
"simulation_results": {
"monthly_impact": -1234.56,
"yearly_impact": -14814.72,
"before_disposable_income": 26000.00,
"after_disposable_income": 24765.44,
"category_breakdown": {...}
},
"vulnerability_score": 48.23,
"explainability": {
"top_3_contributors": [...]
},
"plain_language_explanation": "..."
}PolicyImpactSimulator/
├── backend/
│ ├── main.py # FastAPI application
│ ├── data_generation.py # Synthetic dataset generator
│ ├── model_training.py # ML model training script
│ ├── simulation_engine.py # Financial impact calculator
│ ├── explainability.py # SHAP integration
│ ├── requirements.txt
│ └── models/
│ └── vulnerability_model.pkl
├── frontend/ # Streamlit frontend (legacy)
│ ├── app.py
│ └── requirements.txt
├── frontend-react/ # React frontend (recommended)
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── services/
│ │ ├── App.js
│ │ └── App.css
│ ├── package.json
│ └── README.md
└── README.md
- Calculates GST impact on groceries, utilities, other expenses
- Applies fuel price changes to fuel spending
- Computes income tax using progressive slab system
- Factors in business revenue/expense for GST impact
- Applies city-based cost of living multipliers
- Algorithm: GradientBoostingRegressor
- Features: 14 (income, spending categories, policy parameters)
- Target: Vulnerability score (0-100)
- Training Data: 5000 synthetic samples
- Performance: MAE ~5-8, R² ~0.85-0.90
- SHAP TreeExplainer for feature importance
- Top 3 contributing factors highlighted
- Plain language generation based on SHAP values
- Historical Policy Data: Integrate real policy change datasets
- Regional Variations: State-specific tax structures
- Time-Series Forecasting: Multi-year impact projections
- Comparative Analysis: Compare multiple policy scenarios
- User Authentication: Save and track simulations
- Mobile App: React Native frontend
- Advanced ML: Deep learning for complex interactions
- Real-time Data: Live fuel prices, inflation rates
- Educational simulation only
- Not financial advice
- Simplified tax calculations
- Synthetic training data
- Neutral, non-political explanations
MIT License - Educational use only
Built for civic-tech hackathon demonstration