How prajktanandurkar09/upi-fraud-risk-scoring_project works
UPI-SHIELD accepts transaction details through a FastAPI endpoint or Streamlit dashboard, then engineers features, scores fraud risk, applies a cost-aware decision threshold, and presents risk tiers and local explanations. The README also documents calibration, threshold optimization, cost-sensitivity analysis, and operational reporting. The sampled runtime confirms the API and scoring flow; the README supports the dashboard capabilities, but unsampled dashboard/API internals and some analysis wiring are shown only at the documented subsystem level.
Main entry points: pipeline.py Feature Pipeline · predictor.py Prediction Engine · decision_result.py Risk Decision Engine · results Experiment Results
Components 21
User Interfaces
- Streamlit Dashboard
app/dashboard.py - Dashboard API Client
app/dashboard_api.py - FastAPI Service
app/main.py - Request / Response Schemas
app/schemas.py
Risk Scoring
- Prediction Engine
app/predictor.py - Feature Pipeline
src/features/pipeline.py - Behavioral Features
src/features/behavioral.py - Temporal Features
src/features/temporal.py - Preprocessing
src/features/encoders.py - Risk Decision Engine
src/risk_scoring/decision_result.py - Risk Score and Bands
src/risk_scoring/risk_score.py - Decision Policy
src/decision/policy.py - Policy Configuration
models/decision_policy.json
Model Analysis
- Probability Calibration
src/calibration/calibrate.py - Calibration Evaluation
src/calibration/evaluate_calibration.py - Threshold Optimization
src/decision/optimize_threshold.py - Cost Sensitivity
src/decision/cost_sensitivity.py - Experiment Results
experiments/results
Explainability
- SHAP Attribution
src/explainability/shap_explainer.py - Explanation Formatter
src/explainability/format_explanation.py
Other components
- Payment Operator
Connections 29
- Payment Operator → Streamlit Dashboard: enters transaction
- Streamlit Dashboard → Dashboard API Client: requests scoring
- Dashboard API Client → FastAPI Service: calls endpoint
- Payment Operator → FastAPI Service: submits transaction
- FastAPI Service → Request / Response Schemas: validates payload
- FastAPI Service → Prediction Engine: invokes prediction
- Prediction Engine → Feature Pipeline: engineers features
- Feature Pipeline → Temporal Features: creates time features
- Feature Pipeline → Behavioral Features: creates behavior features
- Prediction Engine → Preprocessing: transforms features
- Prediction Engine → Risk Score and Bands: converts probability
- Risk Decision Engine → Feature Pipeline: engineers features
- Risk Decision Engine → Preprocessing: transforms features
- Risk Decision Engine → Risk Score and Bands: generates risk result
- Risk Decision Engine → Policy Configuration: reads threshold config
- Risk Decision Engine → Decision Policy: applies decision policy
- Probability Calibration → Feature Pipeline: prepares validation data
- Calibration Evaluation → Feature Pipeline: prepares test data
- Threshold Optimization → Feature Pipeline: prepares data
- Cost Sensitivity → Feature Pipeline: prepares data
- Threshold Optimization → Experiment Results: saves evaluation
- Cost Sensitivity → Experiment Results: saves analysis
- Probability Calibration → Experiment Results: saves metrics
- Calibration Evaluation → Experiment Results: saves metrics
- Prediction Engine → SHAP Attribution: requests attribution
- SHAP Attribution → Feature Pipeline: engineers features
- SHAP Attribution → Preprocessing: transforms features
- Prediction Engine → Explanation Formatter: formats explanations
- Streamlit Dashboard → Experiment Results: loads experiment data