Final Year Project · DI240016

Guided statistical analysis that explains every choice.

StatNavigator takes a raw CSV and walks a non-expert researcher to a defensible result — recommended test, checked assumptions, effect sizes, and an APA-style citation — inside one guided workspace.

FastAPI · React 19 · PostgreSQL · SciPy / statsmodels / pingouin

H1 H2 H3
Mann-Whitney U
U2847.0
p0.0032
r0.41
Normality Independence Ordinal
Advisor
R-SET-01: Shapiro-Wilk failed (p<0.05)
Parametric path closed
Rank-based test recommended
R-SET-01 · Advisor

Shapiro–Wilk failed on one group, so the parametric path is closed and a rank-based test is recommended.

23routing rules in the decision table
5guided pipeline steps
2analysis tracks: statistical & classification
SPSSmenu-parity benchmarked

01 — The problem

The hard part isn't running the test.

For a non-expert, the failure happens before any numbers appear: choosing the test. Running a t-test on skewed data, ignoring a failed normality check, or re-running tests until a p-value appears are all easy mistakes — and none of them announce themselves in the output.

02 — The approach

So the system makes the choice explicit.

Every recommendation names the rule that produced it, shows the assumption checks behind it, and blocks the run until the prerequisites actually exist. The result reads like a method section, not a black box.

03 — The pipeline

One workspace, five steps.

Each step writes to a server-side pipeline state, so a project resumes exactly where it was left — on any device, in any session.

  1. 01

    Upload & data health

    Drop a CSV and every column is profiled — type, missingness, outliers, distribution — before anything is changed.

  2. 02

    Preprocess with consent

    Imputation, outlier handling, scaling, and encoding: applied per feature, with the effect of each choice shown first.

  3. 03

    Analysis

    Register the hypothesis, answer the study-design questions, then run the test the advisor routes you to. Multiple hypotheses stay isolated in their own tabs.

  4. 04

    Summary

    Audit trail, plain-language narrative, charts, adjusted p-values, post-hoc comparisons, and a copyable APA-style citation.

  5. 05

    Classification

    A separate supervised-learning track — target selection, algorithm choice, and a leakage guard between training and scoring.

04 — What is inside

Guardrails, not just charts.

Rule-based advisor

A 23-row decision table maps the data profile and study design to a test — and cites the source behind the rule.

Assumption-aware routing

Normality is tested per group. When it fails, the parametric option is closed and the rank-based alternative is recommended — with the reason attached.

Preregistration lock

The hypothesis is written and locked before results exist. Modifying it is possible, deliberate, and visible in the record.

Multi-hypothesis workspaces

One tab per hypothesis, each with its own setup, results, and history — so a second test never overwrites the first.

Gated execution

Run stays blocked until the study setup and measurement levels are confirmed — the gate explains what is missing and links to the fix.

Preprocessing with consent

Choose IQR or z-score detection and a per-feature action, then see the before/after record of every transformation applied.

Supervisor review

Staff accounts get a dedicated dashboard to review student projects, findings, and advisor events.

Classification track

scikit-learn models with duplicate removal, training-only transforms, and identifiers or label-derived columns excluded up front.

Export & citation

Report export, APA-style citation with effect size and confidence interval, and a session that survives logout or a reload.

06 — Under the hood

Where each decision comes from.

Client React 19 SPA

TypeScript · Vite · Tailwind CSS 4 · Radix UI · Plotly

API FastAPI

JWT / Google Sign-In · routers · async SQLAlchemy 2 · Alembic

Decision layer Advisor engine

23-row table · gates · assumption rules · findings

Computation Statistics engine

SciPy · statsmodels · pingouin · scikit-learn

PostgreSQL · Supabase S3-compatible uploads Render deploy with auto-migrations GitHub Actions CI

SPSS parity harness

Routing is benchmarked against IBM SPSS menu equivalents, so the recommended test matches what a statistician would pick there.

UAT with non-experts

Scripted sessions against the deployed build, with friction and jargon logged and remediated rather than explained away.

Expert statistician review

The statistical core was audited independently and corrected in phases — test selection, effect sizes, and multiple-comparison handling.

Try it with your own CSV.

Upload a dataset, answer a handful of questions about your design, and watch the advisor explain which test is defensible — and why.