Structural comparison · Gromov–Wasserstein

Find the tangentbetween any two datasets.

Datangent compares the internal geometry of two tables — no shared columns, no shared units, no assumptions — and tells you, honestly, whether they share structure. Open the app Read the method Private beta · bring two clean numeric CSVs · verdicts in the form p = 0.0020, or an honest refusal.
Exact Gromov–Wasserstein — balanced, non-entropic, no smoothing shortcuts.
Every verdict tested against a 10,000-draw covariance-matched null.
Every row counts — no subsampling, no silent caps.
Dirty data gets a plain-language refusal, never a fake answer.
How it works

Three steps, one honest verdict.

a.csv b.csv
01

Open your data

Point Datangent at a folder. Your files open in a real editor — table view, source view — and stay in your browser until you run.

02

Pick A and B

Any two numeric tables — different rows, different columns, different worlds. Only each table's internal distance structure is compared.

p = 0.0020 SIGNIFICANT VS COVARIANCE-MATCHED NULL
03

Read the verdict

A p-value against a covariance-matched null decides. The coupling shows which rows align — as candidates to investigate, never as proof.

The instrument

A workbench, not a wizard.

Method

Named openly, tested honestly.

The distance. Datangent computes an exact, balanced Gromov–Wasserstein coupling between your two tables (via POT, multi-restart, no entropic approximation). GW never compares your columns to each other — it compares each table's internal distance structure, which is why the two datasets need no shared units, features, or even the same number of rows.

The verdict. A small GW cost alone proves nothing, so every run is tested against a null: 10,000 surrogate datasets matched to each table's mean, covariance, clusters and tails. The result is a p-value — p = max(p_A, p_B) — and the verdict "significant against a covariance-matched null," or not.

The coupling. When structure is shared, the coupling says which row of A lines up with which row of B. Datangent draws it — every edge a candidate bridge for you to investigate.

What a result does not mean

  • A significant match is not causation — it says the two geometries align better than matched noise, nothing more.
  • The p-value validates the whole alignment, never any single row-to-row edge.
  • The surrogate matches mean, covariance, clusters and tails — other geometric confounds can remain. The verdict is worded accordingly.
  • If your data can't be compared honestly, Datangent refuses and says why — it never fills in an answer.

Two tables. One honest answer.

Open the workspace, load two CSVs, and see where they touch.

Open the app