Statistical analysis of Melbourne public transport fare inspections. Collects anonymous commuter data to estimate stop rates by demographic group.
Submit your trips and stops from the last 30 days with optional demographic info. Get back:
- Stop rates per 100 trips by group
- Personal risk estimates
- Statistical confidence intervals
- Frontend: Next.js + TypeScript + Material-UI
- Backend: FastAPI + Python
- Database: PostgreSQL
- Stats: Poisson/Negative Binomial GLM
Backend:
cd api
pip install -r requirements.txt
uvicorn main:app --reloadFrontend:
cd app
npm install
npm run devDatabase:
Set up PostgreSQL and run infra/supabase.sql
- No personal identifiers collected
- Groups under 50 people suppressed
- 12-month data retention max
- Full methodology transparency
POST /api/submit- Submit dataGET /api/overview- Get statisticsGET /api/predict- Personal estimateGET /api/methods- Methodology
Public interest project - not gambling related.