
Anomaly Detection · Civic Tech
Vigilant-AI
Explainable fraud detection for public distribution
Scores every ration-shop transaction for risk, then shows exactly which rules drove the score.
Why
India's public distribution system moves far too many transactions to inspect by hand — but a black-box fraud score is worse than none. An investigator who can't see why a row was flagged can't act on it, or defend the decision later.
How it works
Six independent detectors
Price inflation, hoarding, transaction velocity, off-hours activity and card misuse, each weighted separately.
One score, still decomposable
Detectors contribute points in proportion to how far past their threshold a transaction sits.
Escalate, don't accuse
Transactions past the threshold enter an investigation queue carrying their reasons with them.
Follow it to the counter
A map of Delhi NCT and a per-shop inspector trace a flag back to the rows that caused it.
What it looks like
Built with
- Python
- Pandas
- NumPy
- Streamlit
- Plotly
- PyDeck
Try it
Run it yourself
Local onlyNot deployed. No external services and it generates its own dataset, so it runs from a clone in two commands.
pip install -r requirements.txt
streamlit run app.pyScope
A decision-support tool, not an accusation engine. A high score means a transaction is worth investigating, not that fraud occurred. All figures come from a synthetic dataset — no real transaction data was used.