New: structural equation models, Complex Samples and 26 methods beyond SPSS.See what shipped

Statistics you can trust.
AI that stays on your machine.

StatLens is a statistics workbench with SPSS-class depth, a modern interface and reproducible syntax, plus an AI assistant that runs on your own hardware, so your data never leaves your machine.

The browser version runs the full engine on your device. Nothing is uploaded.

KI-27 study — StatLens
StatLens data grid with a labelled biochemistry dataset and results in the side panel
Cell viability by treatment and cell lineChart
Bar chart of mean cell viability by treatment for HeLa and HEK293 cells with 95% confidence intervals
Tests of Between-Subjects EffectsAPA 7
Two-way ANOVA table formatted in APA style

The statistics workbench for research data that can't leave the building

Procedures
148
Automated tests
6.7K+
Bytes sent to a cloud
0
.savSPSS
.zsavSPSS
.porportable
.csvtext
.xlsxExcel
.odsOpenDocument
.dtaStata
.sas7bdatSAS
.parquetArrow
.jsonrecords
.sqlitedatabase
.duckdbdatabase
Analyze

Point and click, or write syntax. Same result either way.

Menus and dialogs for every procedure, a full command language underneath, and output that is ready for your thesis or paper. No learning curve if you know SPSS, and a gentle one if you don't.

Opens SPSS, Stata, SAS, Excel Every action recorded as syntax APA 7 tables and charts SPSS syntax converter Airtable-style views Help written for students

Descriptive statistics

Pick variables in a dialog. The syntax it writes is shown live, so the menu teaches the language.

DESCRIPTIVES VARIABLES=kinase_activity viability ros_rfu atp_nmol_mg /STATISTICS=MEAN STDDEV MIN MAX.
Descriptive statistics

ANOVA with post hoc tests

One-way, factorial, repeated measures, mixed models. 15 post hoc tests including Tukey and Games-Howell, with effect sizes.

ONEWAY kinase_activity BY treatment /STATISTICS=DESCRIPTIVES HOMOGENEITY WELCH /POSTHOC=TUKEY GH.
ANOVA with post hoc tests

Regression and beyond

Linear, logistic, ordinal, multinomial, Cox, GEE, quantile, lasso and more, with collinearity and robust standard errors.

REGRESSION /STATISTICS=COEFF R ANOVA COLLIN /DEPENDENT=viability /METHOD=ENTER atp_nmol_mg ros_rfu caspase3_fold.
Regression and beyond

Nonlinear models

Write the model as an expression. Here, Michaelis–Menten kinetics fitted separately for each condition.

NLR velocity /MODEL='Vmax * substrate_uM / (Km + substrate_uM)' /PARAMETERS Vmax=20 Km=20.
Nonlinear models

Chart Builder

Choose a chart, put fields on the axes and see the engine-computed preview before you run it.

CHART BAR(MEAN viability) BY treatment BY cell_line /ERRORBAR=CI(95).
Chart Builder

A real command language

Everything in the menus is also a command. Run a whole analysis plan in one go, or convert existing SPSS syntax.

* Every click is recorded here, so the analysis can be re-run exactly.
A real command language
Private AI

An assistant that explains your results, without seeing more than it needs

The AI plans, explains and writes. The statistics engine computes. Every number in an AI answer comes from a real result, and every action becomes syntax you approve first.

Ask your dataLocal model
Is kinase activity different across the four treatments?
Yes. A one-way ANOVA shows a large effect of treatment, F(3, 140) = 125.81, p < .001, η² = .73. Games-Howell comparisons show every KI-27 dose differs from vehicle. Numbers verified against output
Run this analysis?
ONEWAY kinase_activity BY treatment /STATISTICS=WELCH /POSTHOC=TUKEY GH.
RunEditDismiss

Ask in plain language, get a real analysis

Choose a test, interpret a table, write syntax or draft your results section. The answer always points at the output it came from.

Numbers only from the engine

Every figure in an AI answer is checked against the computed output. If the model invents a number, StatLens flags it before you see it.

p < .001 matches table η² = .73 matches table

See exactly what would be sent

Pick an exposure level per project, from metadata only to full data, and preview the request before anything reaches the model.

variables: kinase_activity, viability, treatment patient_name: Jane Example rows sent: 0 · level: metadata only

Runs on models you control

Ollama, LM Studio, llama.cpp or any OpenAI-compatible server on your network. Keys live in the system keychain.

Every AI action is audited

A local audit log records each request, what was shared and what was approved. Export it or purge it.

Data
Data grid and views
Syntax
Syntax editor
Outputs
Output in APA style
Export
Export anywhere
Workflow

From raw data to finished report, in one place

Journaltoday
14:02 · GUIGET DATA /TYPE=TXT /FILE='ki27_cell_study.csv'. 14:05 · DialogDESCRIPTIVES VARIABLES=kinase_activity viability. 14:09 · AI, approvedONEWAY kinase_activity BY treatment /POSTHOC=TUKEY.

Reproducible by default. Clicks, dialogs and AI actions all become syntax in a journal, so anyone can re-run the analysis exactly.

W
Word
X
Excel
P
PowerPoint
PDF
PDF
</>
Web report
MD
Markdown

Exports that look finished. APA 7 tables and editable Office charts in Word, Excel and PowerPoint, plus PDF, OpenDocument and a self-contained web report.

Nonlinear regression parameter estimates

Validated, not just plausible. Results are checked against certified and published references, from NIST datasets to classic textbook examples.

Python programExtension
BEGIN PROGRAM. import statlens as sl ds = sl.active_dataset() sl.add_table("Ratio by group", ds.groupby("treatment").mean()) END PROGRAM.

Extend it your way. Python programs, signed extensions, custom dialogs and scheduled batch jobs, all behind a clear trust model.

Demo

A full biochemistry analysis in under three minutes

Import plate-reader data, label it, run ANOVA, regression and a Michaelis–Menten fit, then save the project and export the report.

Simulated KI-27 inhibitor study Recorded in the browser version 2:24
Institutions

Controls for data that must stay inside

Hospitals, statistics offices and universities get policy, encryption and audit without giving up a modern tool.

Local Only mode

A network guard pins every AI request to approved hosts on your network. Everything else is blocked and logged, including redirects and IPv6 tricks.

14:09:12ollama.lab.internal:11434 — allowed, private network
14:09:40llm.hospital.local — allowed, admin policy
14:10:03api.example-cloud.com — blocked, Local Only
14:10:03redirect to 203.0.113.9 — blocked, not pinned

Encrypted projects

AES-256-GCM project files with scrypt keys. Autosaves and crash recovery are encrypted too, and no plaintext is written to disk.

KI-27 study.slprojAES-256
Password-protected .savSPSS format

Admin policy. One file sets allowed models, exposure limits and egress rules for every install.

System keychain. API keys and passwords are stored by the OS, never in project files.

Exposure levels. From metadata only to full data, chosen per project and previewed per request.

Audit log. Every AI request, what was shared and what was approved, exportable.

Works offline. The engine and help run with no connection; AI uses your own servers.

Signed extensions. Packages are hash-checked and signature-verified; policy can forbid unsigned ones.

Sandboxed app. Mac App Store sandbox build with security-scoped file access.

Accessible. Keyboard reachable and screen-reader labelled, audited on every view.

Right-to-left ready. Interface mirroring for Urdu and Arabic (preview, under review).

Batch jobs. Headless runs and scheduled jobs for production reporting.

Bring your own model

Use the model you already run. Keep the bill at zero.

StatLens sends each task to the model you assign to that role, and rates how well your model handles statistics work before you rely on it.

“Which test should I use?”
“Explain this ANOVA table”
“Recode age into groups”
“Draft my results section”
“Find problems in this data”
“Chart viability by dose”
StatLens engine
Llama 3.1 8B
Qwen 2.5 14B
Mistral Small
Gemma 2 9B
Phi-3.5 mini
Any OpenAI-compatible server
No cloud account needed Works offline on your network Compatibility score for each model
Validation

Checked against the references researchers trust

NIST StRDCertified values
Linear regression and univariate statistics reproduce the certified values of the NIST Statistical Reference Datasets.
Longley · Norris · Pontius
Golden test suite, run on every change
Holzinger & Swineford (1939)SEM
The classic three-factor CFA reproduces the published lavaan results: fit indices, loadings and standard errors.
χ² = 85.306, df = 24
SEM test suite
BCG vaccine trialsMeta-analysis
Random-effects meta-analysis of the 13 BCG trials matches the published metafor estimates and heterogeneity statistics.
REML and DerSimonian–Laird
Meta-analysis test suite
Student's sleep dataBayesian
The JZS Bayes factor for the paired t-test matches the published reference value, with no MCMC involved.
BF₁₀ = 17.259
Bayesian test suite

Comparisons against R and SPSS output, and an external statistician review, are in progress and will be published.

Changelog

Recently shipped

Structural equation models

SEM and CFA with lavaan-style syntax, five estimators, invariance testing and a path diagram editor.

Complex Samples

Sampling plans, PPS selection and design-based tables, regression, logistic and Cox models.

26 methods beyond SPSS

IRT, latent class, GAMs, panel models, robust regression, competing risks and more.

Encrypted projects

AES-256 project files, password-protected .sav files, and no plaintext written to disk.

Interactive web reports

Export the whole output as one self-contained page with an outline and sortable tables.

Faster engine kernels

Optional native kernels make descriptives, frequencies and crosstabs 2–4× faster on 10M rows.

Run your first analysis in three minutes

Open the browser version now, or join the beta for the Mac app. Windows is next.