Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GetStatMate

A free, guided econometrics assistant for university students working on regression-based projects — final-year projects, coursework, dissertations. Upload a dataset (or fetch one directly from the World Bank), say what you're testing, and GetStatMate picks the right method, runs the real diagnostic tests, explains the results in plain economic language, and suggests what to try next.

Live Demo

Note: the backend is hosted on Render's free tier, which sleeps after 15 minutes of inactivity. The first request after a period of inactivity can take 30–60 seconds to wake up — this is expected, not a bug.

Why this exists

Most econometrics tools assume you already know what to ask for — "check for heteroskedasticity," "run a Breusch-Pagan test." Most students hitting a regression for the first time don't have that vocabulary yet, which is exactly why they're stuck. Many also can't afford Stata/EViews, or can run the software but don't understand what the output means, and supervisors don't always have time to walk every student through it. On top of that, getting real macroeconomic data in the first place is its own barrier — CBN, IMF, and NBS data isn't always easy to source. GetStatMate closes both gaps: it replaces the blank command line with a short guided flow, and it can fetch real data directly when a student doesn't have their own.

Design principle: GetStatMate always runs real statistical computations. Every number in the output comes from statsmodels. The plain-language explanations and economic interpretation are template-based narration on top of those real numbers — never a guess, never an invented figure.

What GetStatMate does

Two ways to get data:

  • Upload your own CSV or Excel file
  • Fetch World Bank development indicators for Nigeria directly (GDP, inflation, unemployment, and ~90 others) — no need to source and clean the data yourself first. Best suited to the time-series question type, since these are annual country-level series, not per-unit (household/firm) observations. World Bank only — not CBN, IMF, or NBS, which need different data-access approaches and are a possible future addition, not a current claim.

Three question types, each with a real statistical engine behind it:

  • Cross-sectional ("Does X affect Y?") — OLS regression with a full diagnostic battery: Breusch-Pagan (heteroskedasticity), VIF (multicollinearity), Durbin-Watson (autocorrelation), Jarque-Bera (normality)
  • Binary outcome ("Does X affect the probability of Y?") — logistic regression with odds ratios, pseudo R-squared, classification accuracy, and an overall model significance test
  • Time series ("Does X affect Y over time?") — checks every variable for stationarity (Augmented Dickey-Fuller test) before running the regression, and flags the risk of spurious regression if a variable is trending

Plus:

  • Clear, human-readable error messages for common student mistakes (picking the same variable twice, a non-numeric column, too little data, perfectly correlated variables)
  • Significance stars (*, **, ***) on every coefficient table, matching the convention used in published regression tables
  • An "Interpret these results" button that generates a plain-English, economically-framed narrative — what each variable suggests, caveats to be aware of, and concrete next steps for further analysis

Architecture

getstatmate/
├── frontend/          Static HTML/JS + Tailwind — deployed on Netlify
│   └── index.html
├── backend/            FastAPI app — deployed on Render
│   ├── main.py                 API routes, request handling
│   ├── diagnostics.py          OLS engine + diagnostic tests + shared validators
│   ├── logit_engine.py         Logistic regression engine
│   ├── time_series_engine.py   Stationarity checks + OLS
│   ├── interpreter.py          Rule-based economic interpretation
│   ├── worldbank_engine.py     Fetches Nigeria World Bank indicators
│   └── requirements.txt
├── quiz/                Practice questions on reading diagnostic output
└── sample_data/         Example datasets for testing

Running it locally

Backend:

cd backend
python -m venv venv
venv\Scripts\activate      # Windows
pip install -r requirements.txt
uvicorn main:app --reload

Frontend: Open frontend/index.html with a local server (e.g. VS Code's Live Server extension). Update the API_URL constant near the top of the <script> section to point at http://127.0.0.1:8000 for local development, or leave it pointing at the deployed Render URL to test against the live backend.

Known limitations (stated honestly, not hidden)

  • Panel data (fixed/random effects) isn't supported yet.
  • Time series support checks stationarity but doesn't yet run cointegration testing (e.g. ARDL bounds test) automatically — the interpretation engine recommends it when relevant, but doesn't run it.
  • The economic interpretation is template-based, not a live AI call — it narrates real computed numbers rather than generating fully open-ended prose. This is a deliberate reliability choice, not a current gap.
  • The World Bank data fetch is Nigeria-only and World Bank-only. CBN, IMF, and NBS data are not currently supported.
  • This is a teaching/access tool, not a replacement for understanding your own analysis. It explains diagnostics; it doesn't validate your research design or claim causation for you.

Roadmap

  • Panel data support (fixed/random effects)
  • Cointegration testing (ARDL bounds test) for time series
  • Downloadable Word/PDF report for project write-ups
  • Additional World Bank indicators, and potentially other countries
  • Adapt the core engine for other departments (general social science statistics courses) beyond economics

Contributing

If you're a student, lecturer, or developer who wants to try this or extend it, issues and pull requests are welcome. If you're a lecturer interested in trialing this with a class, feedback on what students actually get stuck on is especially valuable for prioritizing what to build next.

License

MIT — free to use, modify, and redistribute.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages