Exploratory data analysis, from first plot to fitted model

No install. No sign-up. No data upload.

Drop a CSV — graph it, fit a model, inspect the diagnostics.

Launch App Read the docs

Estimates, intervals, and the diagnostics to question them

Fitting a model is not a separate step — it is how exploring continues. Configure and run models point-and-click. Coefficient tables report effect estimates with confidence intervals rather than p-values, and built-in residual diagnostics let you question the fit.

OLS · GLM · GLMM · ANOVA · PCA · Random Forest · ARIMA · Cox proportional hazards · Kaplan–Meier · Design of Experiments

Read the model guides
Model setup and coefficients — GLM GLM configuration form and the resulting coefficient table with confidence intervals
Residual diagnostics Residual diagnostic plots: residuals vs fitted, normal Q-Q, scale-location, and residuals vs leverage

Build any chart, layer by layer

Based on the Grammar of Graphics: statistical transforms — regression fits, densities, survival curves — stack onto geometries as layers, with facets when one panel is not enough.

See how layers and facets work
Scatter plot with regression lines and confidence bands Scatter + regression band
Histogram with kernel density overlay Histogram + density
Kaplan–Meier survival curves with confidence intervals Kaplan–Meier curves
Faceted bar chart comparing groups across panels Faceted bars
Seasonal time series with a LOESS smooth curve and 95% confidence band overlaid Time series + LOESS band
Normal Q-Q plot with reference line Q-Q plot

Every result stays traceable

Datasets, derived tables, models, and reports form a dependency graph, so any number can be traced back to the data and steps that produced it. Save the whole project as a single file and reopen it later — the chain comes back with it.

Dataset Derived Model Report
Read about Project Lineage
Project Lineage: one chain from an imported dataset through a SQL derivation and a GLM to the final report

Reshape data without switching tools

Write DuckDB SQL to filter, join, and transform; derived tables feed straight back into graphs and models. Computed columns, cross-tabulation, column type conversion, and wide–long reshaping are built in.

Browse the data processing guides

Built for AI agents, too

The window.midas API is designed for AI agents operating the running app: loading data, fitting models, and reading results in the same project you see on screen. It describes itself through help(), so an agent can discover what it can do at runtime.

Read the Agent API reference
const result = await window.midas.models.run({
  type: 'glm',
  datasetId: 'ds_001',
  yColumn: 'deaths',
  xColumns: ['dose', 'group'],
  family: 'poisson'
});
// result.data.coefficients: estimates with 95% CIs

Your data never leaves your browser

All computation happens in your browser — no server receives your data. Install it as an app and keep working offline.

Read how your data is handled

Start exploring your data

Open MIDAS and drop your CSV. No account required —
sample datasets are built in if you just want to try it.

Launch App