From your file to a verdict in six steps

The AI decides how to analyze. Python does every calculation. This way every number on the result page can be checked and repeated. Scientists call this idea a multiverse analysis or a specification curve analysis: instead of one analysis, you run many reasonable ones and compare them.

Step 1

You upload data and ask a question

You upload one or more CSV, Excel or JSON files and describe them. If there are many files, they are joined on a common column (for example country and year) or stacked on top of each other. Then you write your question, the outcome (Y) and the main variable (X) in your own words.

Question Do people in richer countries live longer?
Y life expectancy X GDP per person

Step 2

Many AI analysts plan the analysis

First the AI finds which columns match your words. Then each analyst gets a short summary of the data: column names, smallest, average and largest values, and how many cells are empty. The analysts never see your full rows. Each analyst makes three choices and explains them:

Controlswhich other columns to keep constant
Outlierskeep them, or remove values more than 3 standard deviations away
Missing valuesremove those rows, or fill them with the median

To make the analysts really different, we use three models (Llama 3.3 70B, Llama 3.1 8B and Mistral Small 3.1) and five personalities, for example one that likes simple analyses and one that likes many controls.

Step 3

Python checks every AI answer

AI models make mistakes, so we never trust an answer directly. Python removes columns that do not exist, columns that are not numbers, and the outcome or main variable if the AI put them in the controls. It also removes controls whose name contains the outcome, because they are often a part of the outcome. This is called data leakage.

Step 4

Python runs the regression

For each analyst, Python cleans the data with that analyst's choices and runs a linear regression with statsmodels. The effect is how much Y changes when X goes up by one standard deviation. The p value tells how likely it is to see this effect by chance. Analyses with fewer than 30 rows are ignored.

Y = a + b · X + c₁ · control₁ + c₂ · control₂ + …

Step 5

The judge gives a verdict

The judge looks at all analysts together and counts two things: how many found the same direction, and how many found a real effect (p below 0.05).

No effect20% or fewer found a real effect. The data does not support the link. This is checked first.
RobustAt least 90% agree on the direction and at least 80% found a real effect.
FragileAt least 85% agree on the direction, but only 30% to 80% found a real effect.
Choice dependentAnything else. The answer changes with the choices the analyst made.

Step 6

You see why

The result page shows a specification curve (every analyst's effect and the choices behind it), your real data with six fitted formulas (linear, quadratic, cubic, logarithmic, power and exponential, ranked by adjusted R²), and which columns move together with the outcome. Every chart can be downloaded.

What the tool cannot do

  • It finds relationships, not causes. A robust result is still not proof that X causes Y.
  • The leakage check only looks at column names. A column like total greenhouse gas contains CO2 but does not have "co2" in its name.
  • Right now every analysis uses linear regression. Outcomes that are only 0 or 1 or are counts would need other models.
  • If no column matches your words, the AI may pick the closest one. Always check the Y and X names on the result page.

Try it with your own data

It takes about one minute for every ten analysts.