The Misata blog

Practical writing on synthetic data, test data, and getting the numbers right in a data pipeline before real data exists.

· 15 min read

Your dbt tests prove the data arrived. They don't prove the maths is right.

I changed one word in a dbt model: 38% of customers vanished and all 20 tests passed. Then I found the same failure in a Stripe package handling real money.

· 4 min read

You added one column to your test schema. Why did every other column change?

Add a column to a seeded generator and the rows after it reshuffle, so your whole fixture becomes the diff and you cannot tell a real change from noise. Here is why sequential RNG does that, and the per-column streams that fix it: 5 of 5 columns byte-identical after an edit, against 2 of 5 before.

· 4 min read

I ran a coherence audit on the seed script every tutorial teaches. It scored 42/100.

The classic faker users-and-orders loop looks fine until you read it like a reviewer: 309 of 600 orders shipped before they were placed, every total fails its own formula, and half the rows are fraud. One command finds all of it, in anyone's data.

· 11 min read

What Is Synthetic Data? Everything Developers Need to Know

A plain-language explanation of synthetic data for developers. What it is, how it works, why it matters for testing and privacy, and the different ways to generate it in Python.

· 11 min read

Synthetic Data Generation in Python: The Complete Guide (2026)

A practitioner's guide to generating synthetic data in Python. Covers the real tradeoffs between Faker, SDV, Gretel, and Misata with working code, honest opinions, and the mistakes most teams make.

· 15 min read

Best Synthetic Data Tools in 2026: A Developer's Honest Comparison

An honest, detailed comparison of every synthetic data tool worth considering in 2026. Misata, Faker, SDV, Gretel, MOSTLY AI, dbldatagen, and Tonic. What each one actually does well, where it falls short, and which one to pick for your situation.

· 9 min read

Half the answer keys in text-to-SQL benchmarks are wrong. So I generated the database from the answer key.

A VLDB 2026 audit found 52.8% of BIRD Mini-Dev and 62.8% of Spider 2.0-Snow annotations are incorrect. Here is a construction where the answer key cannot disagree with the data, a verification certificate an independent SQL engine re-checks, and a 30-second script that proves it.

· 3 min read

How to test a data pipeline before you have data

Known-answer testing: declare the metric your pipeline should produce, generate synthetic data that hits it exactly, then assert your transform returns that number. A test that can actually be wrong.

· 2 min read

Generate relational test data with foreign keys in Python

Faker fills one field at a time and leaves the foreign keys to you. Here is how to generate whole relational datasets in Python where every FK resolves and the totals reconcile, with a proof attached.

· 3 min read

The best MCP server for synthetic data generation

AI agents can design a schema but cannot guarantee the math. Misata's MCP server lets an agent generate relational datasets locally, with no API key, and returns a foreign-key integrity proof it can actually verify.