# Misata Studio > Misata makes synthetic data for demos and analytics, built from scratch. A person describes a business and the numbers it should show, in plain language, as a drawn schema or as their own tables (SQL DDL, Prisma, dbt and more), and Misata builds every table, connected, with those numbers held exactly month by month; a number it cannot hold is named with the reason, never passed off as met. Every dataset comes with its ground truth: the SQL and value of each stated metric in every month (answer_key.json and CSV), and a certificate of what was checked. Teams use it to fill demos, product tours and empty dashboards with a planned story, and to build and test dashboards, pipelines, SQL and AI analysts on numbers they already know. No real data is needed. Data can be explored in the browser and exported to CSV, Excel, Parquet, JSON, SQL for eight databases (ClickHouse among them), SQLite, DuckDB and dbt seeds, or loaded into Salesforce and HubSpot as their standard objects with a loader script. Misata also maintains a separate open-source (MIT) Python library, documented below, which runs on your own machine with no model or API key. Website: https://www.misata.studio Studio: https://www.misata.studio/app ## Done for you: custom datasets - [Request a custom dataset](https://www.misata.studio/custom-dataset): send the schema, volumes, rates and rules; Misata replies (aim: within one business day) with questions, a sample schema, a price and a delivery date, then delivers the files with a certificate of what was checked. Common asks: a demo database shaped like a prospect's business, labelled fraud and AML data with typologies, a dev database from DDL, process mining event logs with a known truth, and course datasets with an answer key. - [Custom datasets for startups](https://www.misata.studio/startups): for a startup with a product and a schema but no customers yet. Send the business, the schema (SQL DDL, Prisma, Django, SQLAlchemy, Rails or dbt) and the numbers the data should show; every table comes back connected, each stated number held and checked on a certificate, delivered as SQL, CSV or Parquet. No real data needed. ## Misata MCP server (for Claude, Cursor, VS Code and any MCP client) - [MCP server](https://www.misata.studio/mcp): remote server at https://api.misata.studio/mcp (Streamable HTTP). The assistant designs the tables, Misata generates the rows and returns what it checked: foreign keys, date order, declared totals and rates. No key or account needed for schema-driven datasets; 25,000 rows per dataset anonymous, 100,000 signed in. Tools: generate_dataset, plan_dataset, blueprint_guide, validate_blueprint, get_certificate, check_answers (questions from the answer key, and any answer, series or SQL checked against it), query_dataset, export_dataset (28 formats including ClickHouse, Salesforce and HubSpot, as a download link), find_ready_dataset, start_generation, get_status, cancel_generation, whoami. - [Local MCP server](https://www.misata.studio/docs/guides/mcp): `pip install "misata[mcp]"`, command `misata-mcp`; runs offline and can seed a Postgres or SQLite database. - [Dataset catalog (JSON)](https://www.misata.studio/datasets/catalog.json): every free and premium dataset with tables, rows, download, preview and buy links. ## What it is for: demos and analytics - [Demo and seed data](https://www.misata.studio/demo-data): connected data for demo accounts, product tours and empty states, from a sentence or your own schema, with the numbers your story states. - [Ground truth for analytics and AI analyst evals](https://www.misata.studio/evals): the stated story holds exactly, with the SQL and true value of every KPI by month, and a checker that says why a dashboard's or an agent's query is wrong. ## What people use Misata Studio for - [Test data for apps](https://www.misata.studio/use-cases/test-data-for-apps): How do I create realistic test data for my app? - [Demo data](https://www.misata.studio/use-cases/demo-data): How do I build a product demo dataset without real customers? - [Data for machine learning](https://www.misata.studio/use-cases/data-for-machine-learning): How do I get labelled training data with the failures I need? - [Sample data for dashboards](https://www.misata.studio/use-cases/sample-data-for-dashboards): Where do I get realistic sample data for a dashboard? - [Fraud and AML test data](https://www.misata.studio/use-cases/aml-fraud-test-data): How do I test a fraud or AML detector without real transactions? - [Healthcare sample data](https://www.misata.studio/use-cases/healthcare-sample-data): How do I get realistic patient and clinic data without real patients? - [SaaS metrics data](https://www.misata.studio/use-cases/saas-metrics-data): How do I generate SaaS revenue and churn data that hits my numbers? - [Ideas with no data yet](https://www.misata.studio/use-cases/data-for-ideas-with-no-data): How do I create data for a product or market that does not exist yet? - [Process mining event logs](https://www.misata.studio/use-cases/process-mining-event-logs): Where do I get a realistic event log for process mining, with a known truth? - [Teaching datasets with an answer key](https://www.misata.studio/use-cases/teaching-datasets): Where do I find a realistic dataset for a SQL or analytics course, with an answer key? ## Getting started and getting help - [How to use Misata Studio](https://www.misata.studio/guides): five steps from a description to a loaded database, with example prompts - [Custom synthetic datasets](https://www.misata.studio/custom-dataset): request a dataset built to your schema and numbers, delivered with a certificate ## Synthetic data by domain - [Synthetic Data for Ecommerce](https://www.misata.studio/synthetic-data/ecommerce): Describe your store and get customers, products, orders, line items, payments, returns and reviews. Order totals add up, revenue follows the curve you state, and a certificate proves it. - [Synthetic Data for SaaS](https://www.misata.studio/synthetic-data/saas): Describe your SaaS and get customers and prospects, subscriptions, MRR movements, invoices, usage, support tickets and a sales pipeline whose won deals book the contracts. MRR follows your curve and churn matches your rate, with a certificate. - [Synthetic Data for Healthcare](https://www.misata.studio/synthetic-data/healthcare): Describe a hospital or clinic and get patients, providers, encounters, ICD-10-CM diagnoses, prescriptions, labs and claims that agree with each other. No real patients, no PHI. - [Synthetic Data for Fintech](https://www.misata.studio/synthetic-data/fintech): Describe a bank or neobank and get customers, accounts, a transaction ledger and loans with amortisation schedules. Balances come from transactions, and fraud and default rates are exact. - [Synthetic Data for Predictive Maintenance](https://www.misata.studio/synthetic-data/predictive-maintenance): Describe a fleet and get sensor readings, failures, downtime and work orders where machines wear out, sensors drift by failure mode, and remaining useful life is the true time to the next failure. - [Synthetic Data for Clinical Trials and Pharma](https://www.misata.studio/synthetic-data/pharma): Describe a trial and get sites, patients on a protocol visit schedule, doses by arm, labs with units and reference ranges, and adverse events using NCI CTCAE terms. No real subjects. - [Synthetic Data for Education and EdTech](https://www.misata.studio/synthetic-data/edtech): Describe a school or district and get schools, teachers, students, classes, enrolments, assessments and daily attendance where ages, grades and letter grades all agree. - [Synthetic Data for Credit Risk](https://www.misata.studio/synthetic-data/credit-risk): Describe a lender and get borrowers, loans and repayment schedules with the default rate you state, exact. Plus a free portfolio sample with PD, LGD and EAD from published regulator numbers. - [Synthetic Data for Network Intrusion Detection](https://www.misata.studio/synthetic-data/network-intrusion): Describe a network and the attacks you want to detect, and get hosts and labelled flows with the attack share you state. Plus a free netflow sample with MITRE ATT&CK signatures. - [Synthetic Data for Contact Centers](https://www.misata.studio/synthetic-data/contact-center): Describe your contact center and get queues, agents, calls and intervals with the volumes and rates you state. Plus a free sample where staffing is solved with Erlang C. - [Synthetic Data for Manufacturing and Quality](https://www.misata.studio/synthetic-data/manufacturing-spc): Describe a plant and get machines, sensor readings, failures and work orders where wear drives the sensors. Plus an SPC dataset with Xbar-R control limits and Western Electric rules. - [Synthetic Data for Logistics](https://www.misata.studio/synthetic-data/logistics): Describe your logistics operation and get drivers, vehicles, shipments and tracking events in order, with the volumes and on-time rate you state, exact. - [Synthetic Data for CRM](https://www.misata.studio/synthetic-data/crm): Describe your sales team and get customers and prospects, their contacts, reps, a deal pipeline and activities where every deal moves through the stages in order and rep totals add up. Loads into Salesforce or HubSpot. - [Synthetic Data for Food Delivery](https://www.misata.studio/synthetic-data/fooddelivery): Describe your delivery marketplace and get customers, restaurants, couriers and orders whose timestamps run in order, with the revenue, cuisine mix and refund rate you state. - [Synthetic Data for Gaming](https://www.misata.studio/synthetic-data/gaming): Describe your game and get players, sessions and purchases with the paying share and revenue you state, exact, and the few-big-spenders shape real games have. - [Synthetic Data for HR and Workforce](https://www.misata.studio/synthetic-data/hr): Describe a company and get departments, employees, salaries at believable levels for each job, and payroll, with the headcount and turnover you state. No real employee data. - [Synthetic Data for Insurance](https://www.misata.studio/synthetic-data/insurance): Describe an insurer and get policyholders, policies, claims and payouts with the claim rate you state, exact, and claims dated inside each policy's cover. - [Synthetic Data for Marketplaces](https://www.misata.studio/synthetic-data/marketplace): Describe a two-sided marketplace and get buyers, sellers, listings and transactions with the volumes and fee rate you state, exact. - [Synthetic Data for Real Estate](https://www.misata.studio/synthetic-data/real-estate): Describe a property market and get agents, listings, viewings and sales with prices at believable levels for the place and property type, and the volumes you state. - [Synthetic Data for Social Media](https://www.misata.studio/synthetic-data/social): Describe a social app and get users, posts, comments, likes and follows with written text instead of lorem ipsum, and the volumes you state, exact. - [Synthetic Data for Streaming and Media](https://www.misata.studio/synthetic-data/streaming): Describe a streaming service and get subscribers, plans, a title catalog and watch events with the churn and volumes you state, exact, and evenings busier than mornings. - [Synthetic Data for Crypto and Web3](https://www.misata.studio/synthetic-data/crypto): Describe an exchange or chain and get wallets, tokens and transfers where every transfer joins real wallets, with the volumes you state, exact. - [Synthetic Data for Travel and Hospitality](https://www.misata.studio/synthetic-data/travel): Describe a hotel chain or travel business and get guests, properties, reservations and payments where check-out follows check-in, each place keeps its own time zone, and your rates are exact. ## Trust: what is checked, what is not, and where data goes - [How we verify your data](https://www.misata.studio/how-we-verify): what the certificate checks, and what it does not prove - [Known limitations](https://www.misata.studio/limitations): where Studio falls short today - [Your data and security](https://www.misata.studio/security): how requests, files and keys are handled - [Privacy policy](https://www.misata.studio/privacy): what is collected and which providers receive what ## Free sample datasets (CC0, no sign-up) - [All datasets](https://www.misata.studio/datasets): 10 free multi-table sample datasets for SQL practice, dashboards and machine learning, and 9 premium ones with an answer key. Every free zip holds one CSV per table, a README, INTEGRITY.txt (each foreign and unique key checked in DuckDB, with its result) and ANSWERS.sql (the page's questions with the query that answers each). - [Retail star schema](https://www.misata.studio/datasets/retail-star-schema): A dimensional model you can actually practise joins on: one fact table, four dimensions, 47,051 rows, every join resolving and every total known. 5 linked tables, 47,051 rows, CSV, CC0. For: Dashboards and BI, SQL and joins. Download: https://www.misata.studio/datasets/retail-star-schema.zip - [Machine degradation](https://www.misata.studio/datasets/machine-degradation): 100 machines monitored from commissioning to failure, with an exact remaining-useful-life label on every one of 23,118 readings. 3 linked tables, 46,336 rows, CSV, CC0. For: Machine learning. Download: https://www.misata.studio/datasets/machine-degradation.zip - [Ecommerce storefront](https://www.misata.studio/datasets/ecommerce-storefront): A year of orders across five joined tables, with best sellers, heavy buyers, a real Q4 peak and totals that reconcile to the cent. 5 linked tables, 49,493 rows, CSV, CC0. For: Dashboards and BI, SQL and joins. Download: https://www.misata.studio/datasets/ecommerce-storefront.zip - [B2B SaaS subscription analytics](https://www.misata.studio/datasets/saas-subscription-analytics): Accounts, seats, MRR, churn and support load, where company size actually drives the plan. 5 linked tables, 42,240 rows, CSV, CC0. For: Dashboards and BI, SQL and joins. Download: https://www.misata.studio/datasets/saas-subscription-analytics.zip - [Credit risk portfolio](https://www.misata.studio/datasets/credit-risk-portfolio): 3,000 borrowers and 4,200 commercial loans, where a credit rating actually predicts whether the loan defaults, at the rate S&P's own data says it should. 2 linked tables, 7,200 rows, CSV, CC0. For: Machine learning, Security and risk. Download: https://www.misata.studio/datasets/credit-risk-portfolio.zip - [Network intrusion / netflow](https://www.misata.studio/datasets/network-intrusion-netflow): 500 hosts and 20,000 labeled flows, where a port scan, a DDoS flood, and a brute-force attempt each carry the real statistical signature their MITRE ATT&CK technique actually leaves in traffic. 2 linked tables, 20,500 rows, CSV, CC0. For: Machine learning, Security and risk. Download: https://www.misata.studio/datasets/network-intrusion-netflow.zip - [Contact center queueing (Erlang C)](https://www.misata.studio/datasets/contact-center-erlang): 4 queues, 2,400 half-hour intervals over a full business month, where agents_staffed is what Erlang C (1917) says is actually required to clear each queue's own SLA target, not a plausible-looking number. 2 linked tables, 2,404 rows, CSV, CC0. For: Operations and quality. Download: https://www.misata.studio/datasets/contact-center-erlang.zip - [Clinical trial: sites, patients, visits and adverse events](https://www.misata.studio/datasets/clinical-trial-visits): Two trials across nine sites: enrolment, scheduled visits, dosing, lab biomarkers and graded adverse events, all in the right order. 7 linked tables, 22,496 rows, CSV, CC0. For: Health and pharma. Download: https://www.misata.studio/datasets/clinical-trial-visits.zip - [Hospital encounters, diagnoses and claims](https://www.misata.studio/datasets/hospital-encounters-claims): Patients, providers, encounters, ICD-10 diagnoses, prescriptions, labs and insurance claims that reconcile from billed to paid. 7 linked tables, 39,946 rows, CSV, CC0. For: Health and pharma. Download: https://www.misata.studio/datasets/hospital-encounters-claims.zip - [Factory sensors with failure labels](https://www.misata.studio/datasets/factory-sensors-failure-labels): A year of hourly sensor readings from six machines, with the degradation stage, remaining useful life, and the failures and work orders they lead to. 5 linked tables, 52,669 rows, CSV, CC0. For: Machine learning. Download: https://www.misata.studio/datasets/factory-sensors-failure-labels.zip ## A whole fictional company (synthetic; free preview, full pack paid) - [Pepperwind Trading Co.](https://www.misata.studio/pepperwind): a fictional spice and tea trader from Kochi, every row synthetic and made by Misata. Eleven systems (storefront, billing, general ledger in three currencies, warehouse and logistics, support, CRM, HR and payroll, mail, marketing, product analytics) over 36 months, Oct 2023 to Sep 2026: 223 tables and 79 million rows in Parquet, keys intact across systems, with an answer key, 92 KPIs with monthly values, 420 graded questions and 20 planted incidents. For: BI and dashboard demos, SQL and analytics courses, warehouse and dbt projects, finance and reconciliation exercises, churn and fraud models, evaluating AI analysts. Free preview at 1% of the customers (CC BY 4.0, Hugging Face: https://huggingface.co/datasets/misatadata/pepperwind); full pack $30 once, commercial use allowed; do not resell the dataset itself. Not real data and not modelled on any real company. ## Premium datasets (free preview, ground truth included; synthetic; price and licence on each line) - [US Bank and Card Transactions](https://www.misata.studio/datasets/premium/us-bank-transactions): five banks' raw statement lines, with every label behind them. 7,627,186 rows in 14 linked tables, 50 audit checks passed. For: Transaction enrichment; Recurring payment and subscription detection; Cash-flow underwriting and income verification; Card fraud and authorization models; Disputes and chargebacks; Overdraft, fees and credit cards; Building and demoing fintech products; Teaching. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studiohttps://huggingface.co/datasets/misatadata/us-bank-transactions/resolve/main/us-bank-transactions-preview.zip?download=true - [AML Transaction Monitoring](https://www.misata.studio/datasets/premium/aml-monitoring): a UAE bank's whole trail from KYC to STR, with the laundering nobody caught. 11,711,393 rows in 16 linked tables, 129 audit checks passed. For: Transaction monitoring and model benchmarks; Alert triage and false positives; Case management and STR workflow; Targeted financial sanctions; Drift and robustness; Graph and network detection; KYC, beneficial ownership and screening; A bank that lives in the UAE; Teaching and demos. $5, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/aml-monitoring-preview.zip - [Retail Data Warehouse](https://www.misata.studio/datasets/premium/retail-warehouse): two fiscal years of a grocery chain, from the shelf to the receipt. 2,790,852 rows in 14 linked tables, 117 audit checks passed. For: Star schema and BI; Demand forecasting; Promotion and price analytics; Inventory and supply chain; Customer analytics; Returns and fraud-style exercises. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/retail-warehouse-preview.zip - [SPC for Precision Machining](https://www.misata.studio/datasets/premium/spc-machining): six months of control charts with the ground truth underneath. 515,442 rows in 15 linked tables, 101 audit checks passed. For: Control charts and capability; Run-rule and anomaly detection with labels; Root cause analysis; Tool wear and predictive maintenance; Measurement system analysis; Teaching and dashboards. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/spc-machining-preview.zip - [Predictive Maintenance Fleet](https://www.misata.studio/datasets/premium/maintenance-fleet): two years of sensor readings, failures, repairs and costs for 240 machines. 179,004 rows in 6 linked tables, 68 audit checks passed. For: Remaining useful life (RUL) regression; Survival analysis; Anomaly detection and alarm tuning; Failure mode diagnosis; Maintenance strategy and cost; Dashboards and teaching. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/maintenance-fleet-preview.zip - [Healthcare Claims and Denials](https://www.misata.studio/datasets/premium/claims-denials): a year of revenue cycle with the reason behind every denial. 356,609 rows in 8 linked tables, 99 audit checks passed. For: Denial prediction; Denial management and root cause dashboards; Accounts receivable and cash forecasting; Patient responsibility; Payer contract analysis; Teaching and demos. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/claims-denials-preview.zip - [Health Plan Claims and Reserves](https://www.misata.studio/datasets/premium/health-plan-claims): a payer's year with its incurred truth. 284,051 rows in 7 linked tables, 107 audit checks passed. For: Claims reserving (IBNR); Medical economics; Payment integrity and denials; Claims operations; Benefit design; Teaching and demos. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/health-plan-claims-preview.zip - [Personal Auto Claims and Reserves](https://www.misata.studio/datasets/premium/pc-auto-claims): an insurer's book with its ultimate truth. 357,438 rows in 6 linked tables, 67 audit checks passed. For: Loss reserving; Ratemaking; Catastrophe analysis; Claims analytics; Teaching and demos. $15, commercial use allowed; do not resell the dataset itself. Free preview: https://www.misata.studio/premium-previews/pc-auto-claims-preview.zip - [Batch Release World](https://www.misata.studio/datasets/premium/batch-release): two years of a pharmaceutical plant's records, from process order to QP release. 661,497 rows in 65 linked tables, 133 audit checks passed. For: Process mining with a known truth; Batch release KPIs and dashboards; Root cause and quality analytics; Data integrity and audit-trail review; SAP PP, QM and MM extracts without client data; Testing AI assistants and text-to-SQL; Teaching. $49, personal licence for one named person; commercial and team licence on request. Free preview: https://www.misata.studio/premium-previews/batch-release-preview.zip ## The open-source library and its documentation Source: https://github.com/rasinmuhammed/misata Package: https://pypi.org/project/misata/ (`pip install misata`) Docs search index (JSON): https://www.misata.studio/docs/search-index.json Full documentation text: https://www.misata.studio/llms-full.txt The library (MIT, Python 3.10+, version 0.9.8) needs no model, API key or real data. It generates related tables from SQL DDL, a YAML or dict schema, a live database or a sentence; refuses before generating when declarations contradict (exit 3); writes CSV, JSON Lines, Parquet or DuckDB in bounded memory; and seeds Postgres or SQLite in one transaction. `misata attest` re-checks every declared invariant on the written files with DuckDB and writes an in-toto Statement (predicate https://www.misata.studio/attestation/certificate/v1) plus a standalone verify.py. `misata solve` moves outcome curves until a dbt, SQL or Python pipeline hits per-period targets. `misata evalpack` builds text-to-SQL packs whose answers are declared first and verified on rotated databases. `misata publish` uploads a verified folder to Hugging Face. Facts to keep straight: `misata.mimic` fits to real rows and is not anonymous or privacy-safe; output is byte-identical for the same schema, seed and Misata version, not across versions; no tool makes data indistinguishable from a particular production table. Agents writing code against the library: https://github.com/rasinmuhammed/misata/blob/main/AGENTS.md Every documentation page below is also available as raw Markdown at the same URL with `.md` appended, which is usually what you want to fetch. ## Overview - [Misata: Declarative Synthetic Data Generator for Python](https://www.misata.studio/docs.md): Declarative synthetic data for Python. Generate multi-table data from SQL DDL, YAML, a live database or one sentence that holds every fact you declare, with a DuckDB certificate that proves it. ## Get Started - [Quickstart: Generate Multi-Table Synthetic Data in Python](https://www.misata.studio/docs/quickstart.md): Install Misata, generate a related set of tables from one sentence or a YAML schema, check the plan before generating, attest the result and export to CSV, Parquet, DuckDB or a database. - [Copy-paste prompts for Misata: agents, schemas and plain English](https://www.misata.studio/docs/prompts.md): Ready-to-paste prompts for generating synthetic data with Misata, whether you are driving it from Claude, Cursor or ChatGPT, writing a schema directly, or starting from a sentence. Every prompt here was run before publishing. - [Writing prompts](https://www.misata.studio/docs/writing-prompts.md): There is no wrong way to ask Misata for data, but there are three styles it ## Get Started: Ways to Describe Data - [Ways to Generate Synthetic Data: Story, YAML, Database, Dict, LLM](https://www.misata.studio/docs/generation.md): Six ways to describe the data Misata generates: a plain-English story, a YAML schema, an existing database, a Python dict, an LLM-designed schema, or incremental growth of a dataset. - [Generate Synthetic Data From Plain English](https://www.misata.studio/docs/generation/story.md): Turn one sentence into a set of related tables: Misata's story parser detects the domain, scale, locale and growth pattern, with no configuration or API key. - [Generate Synthetic Data From an Existing Database Schema](https://www.misata.studio/docs/generation/database.md): Introspect a live Postgres, MySQL or SQLite schema, generate rows that respect its foreign keys, and seed a development copy in one transaction. - [Python Dict Schema for Synthetic Data Generation](https://www.misata.studio/docs/generation/dict.md): Describe tables and columns as a plain Python dict, from an ORM or a JSON schema, and convert it to a Misata schema with from_dict_schema. - [LLM-Assisted Schema Design for Synthetic Data](https://www.misata.studio/docs/generation/llm.md): Use Groq, OpenAI, Claude, Gemini or Ollama to design a richer schema from an open-ended story, then generate the rows deterministically and offline. - [Incremental Synthetic Data: Grow a Dataset Without Regenerating](https://www.misata.studio/docs/generation/incremental.md): Add rows to an existing synthetic dataset later, with ids offset automatically and foreign keys valid across both batches. ## Use Cases - [Synthetic Data Use Cases, Recipes With Measured Results](https://www.misata.studio/docs/usecases.md): Pick a Misata recipe by the job in front of you, from seeding a dev database out of its DDL to known-answer dbt tests, PII-free staging, ledgers that reconcile, eval databases for SQL agents and labelled fraud graphs. - [Seed a Dev Database From Its DDL](https://www.misata.studio/docs/usecases/seed-a-dev-database.md): Fill a development or CI database straight from its CREATE TABLE statements, with every foreign key, CHECK rule, UNIQUE and NOT NULL holding, and a certificate that proves it. - [Known-Answer Tests for dbt Models](https://www.misata.studio/docs/usecases/dbt-known-answer-tests.md): Generate dbt seeds whose correct output is declared before the data exists, so a model test can assert the exact number and catch the boundary bug that row counts miss. - [A Demo Tenant That Tells a Story](https://www.misata.studio/docs/usecases/demo-tenant.md): Fill a demo account with customers who trial, convert, fall behind and churn in a legal order, a few whales who carry the revenue, and dates that end today, then prove it reads as real with the realism report. - [A Warehouse Before the Product Has Users](https://www.misata.studio/docs/usecases/warehouse-before-users.md): Build a 291,000-row SaaS warehouse with an exact monthly revenue curve, exact plan shares and a declared refund rate, written as partitioned Parquet or one DuckDB file, so dashboards and models can be built before real data exists. - [An Eval Database With a Correct Answer Key](https://www.misata.studio/docs/usecases/eval-database.md): Build a text-to-SQL evaluation database whose answers are declared before the data exists, verified on three rotated databases, and designed so plausible wrong SQL fails instead of passing by coincidence. - [A Sandbox an AI Agent Can Act In](https://www.misata.studio/docs/usecases/agent-sandbox.md): Give a SQL or data agent a seeded SQLite database through MCP or the CLI, with declared facts it must recover, and grade the SQL it writes on three rotated copies of the same world. - [Fraud and AML Data With Labelled Truth](https://www.misata.studio/docs/usecases/fraud-aml.md): Generate a transfer network where every laundering ring, fan-in and scatter-gather was declared, hard negatives share their shapes, and no cycle exists that nobody planted, with each count attested by SQL. - [Load and Performance Test Data at Scale](https://www.misata.studio/docs/usecases/load-testing.md): Stream millions of rows with hot keys, a declared daily traffic curve and long-tailed latencies to partitioned Parquet in bounded memory, with every key checked before the test starts. - [PII-Free Staging and Test Environments](https://www.misata.studio/docs/usecases/pii-free-environments.md): Fill staging, QA and demo databases from the production DDL alone, with no production row ever read, and hand reviewers a provenance statement, an attestation and a byte-for-byte reproduction as proof. - [Ledgers That Reconcile to the Cent](https://www.misata.studio/docs/usecases/ledgers-that-reconcile.md): Generate a general ledger where every journal entry balances, the trial balance is zero, and the receivables roll-forward ties to declared quarter-end balances across two fiscal years, attested by 52 SQL checks. - [SQL Take-Home Exercises With a Different Answer Key per Candidate](https://www.misata.studio/docs/usecases/take-home-exercises.md): Give every candidate or student the same SQL questions on their own generated bookshop database, with their own numbers, an answer key verified before it ships, and grading that runs their SQL on two databases. - [Example Data for Docs, SDK Tests and Mock APIs](https://www.misata.studio/docs/usecases/example-data-for-docs.md): Generate small, believable JSON fixtures for API docs, SDK tests and mock servers, with nested objects, ids that resolve across files, no cross-tenant references, and the same data available to pytest without files. ## Guides - [Misata Guides by Job: Seed, Test, Attest, Publish, Solve, Evaluate](https://www.misata.studio/docs/guides.md): Find the Misata guide for the job in front of you: seeding databases, testing pipelines, attesting and publishing datasets, solving for pipeline outputs, building eval packs, streaming at scale and imitating real files. ## Guides: Seed a Database - [Generate Test Data From SQL DDL (CREATE TABLE)](https://www.misata.studio/docs/guides/from-ddl.md): Parse CREATE TABLE statements with misata.from_ddl and generate data that honours primary and foreign keys, NOT NULL, UNIQUE, composite keys, CHECK ranges and enums. - [Seed a Postgres or SQLite Database From Its Live Schema](https://www.misata.studio/docs/guides/seed-a-live-database.md): misata seed reads tables and foreign keys from a live Postgres or SQLite database, inserts connected rows parents first in one transaction, and checks every foreign key against the database. - [Seed a Database in Python: Postgres, SQLite and MySQL](https://www.misata.studio/docs/guides/database-seeding-python.md): Generate related rows and insert them into PostgreSQL, SQLite or MySQL from Python with seed_database, parents first, in one transaction, including from pytest. - [Seed a Django Project With Synthetic Data](https://www.misata.studio/docs/guides/django.md): misata.from_django reads your models, field types, choices, validators and foreign keys, and generates rows that load into the tables migrate created. - [dbt Test Data: Generate dbt Seeds and Unit Test Fixtures](https://www.misata.studio/docs/guides/dbt-seed.md): Write synthetic CSV seeds into a dbt project with misata dbt-seed, from the project's own contract or a story, with keys that join across every seed and a CI workflow. ## Guides: Test - [pytest Fixtures With Realistic Relational Test Data](https://www.misata.studio/docs/guides/testing.md): Use Misata in pytest: fixtures that generate related tables with valid keys, reproducible seeds and fingerprints you can commit with the test. - [Validate a CSV and Preview a Story Before Generating](https://www.misata.studio/docs/validate.md): Profile CSV files for quality issues, see what a story will generate before any rows exist, and check a misata.yaml schema against its JSON Schema. - [Realism Report: Detect the Tells of Fake or Generated Data](https://www.misata.studio/docs/realism.md): Scan any tables, from Faker, SDV, Mockaroo or Misata, for the shapes real data almost never has: uniform money, flat weekdays, even fan-out, placeholder names and templated text. - [When Misata Refuses: Infeasible Declarations, Warnings and Fixes](https://www.misata.studio/docs/failure-modes.md): What Misata does when a schema cannot be satisfied exactly: rate rounding, bounds versus totals, row-count clamps, evalpack question gates, and how to make warnings fatal in CI. ## Guides: Attest - [Attest a Synthetic Dataset: in-toto Attestation and verify.py](https://www.misata.studio/docs/guides/attest.md): Check written CSV, Parquet or DuckDB files against every invariant their schema declares, pin each file by SHA-256 in an in-toto Statement, and hand over a verify.py that reruns the proof with DuckDB. - [Misata Certificate Predicate v1, an in-toto Predicate for Data](https://www.misata.studio/docs/attestation/certificate-v1.md): Specification of https://misata.studio/attestation/certificate/v1: the in-toto predicate that records every declared invariant of a dataset as DuckDB SQL with its expected and observed values. ## Guides - [Publish a Verified Synthetic Dataset to Hugging Face](https://www.misata.studio/docs/guides/publish.md): Upload an attested Misata dataset or evalpack to the Hugging Face Hub with its spec, its certificate, a generated dataset card and a standalone verifier, after re-checking every invariant locally. - [Solve for a Pipeline's Output: Make dbt or SQL Hit Target Metrics](https://www.misata.studio/docs/guides/solve.md): Make a dbt model, a SQL query or a Python function produce the numbers you declare, by moving Misata's outcome curves until the pipeline's metrics hit their targets, then attest the result. - [Build a Text-to-SQL Evaluation Dataset With a Verified Answer Key](https://www.misata.studio/docs/guides/evalpack.md): misata evalpack writes databases whose answers were declared before the data existed, verifies every gold SQL with DuckDB on several rotated databases, and scores your model's SQL against all of them. ## Guides: Stream and Export - [Stream Millions of Rows of Synthetic Data in Bounded Memory](https://www.misata.studio/docs/guides/streaming.md): Generate datasets larger than memory with generate_stream or misata generate --format parquet, csv, jsonl or duckdb, with one-hop roll-ups reconciled while streaming. - [Export Synthetic Data to Parquet, DuckDB, JSON Lines and Polars](https://www.misata.studio/docs/export.md): Write Misata tables to Parquet, a DuckDB database, JSON Lines with nested columns or Polars DataFrames, and render one invoice or report document per row. - [Synthetic Data for Databricks and Spark: Delta Lake With Integrity](https://www.misata.studio/docs/spark.md): Write related Misata tables straight into Delta Lake on Databricks, Glue, EMR, Dataproc or local PySpark, verify foreign keys with anti-joins, and import Spark schemas. ## Guides - [Mimic Mode, Synthetic Twins of Real CSV Files](https://www.misata.studio/docs/guides/mimic.md): Analyze any CSV and generate a synthetic dataset with the same columns, distributions and correlations. Useful for staging environments and test data; not an anonymisation method. ## Guides: Shape the Data - [Outcome Curves: Synthetic Data That Hits Exact Monthly Totals](https://www.misata.studio/docs/guides/outcome_curves.md): Declare what a column must sum to in each period, such as monthly revenue, and Misata generates rows whose totals match exactly, with a conformance preview before generating. - [Rate Curves, Make a Churn or Fraud Rate Rise Over Time](https://www.misata.studio/docs/guides/rate_curves.md): Declare the exact share of a boolean or categorical outcome per period, such as churn rising from 2% to 9% or fraud climbing through the year, held to the nearest row. - [Time Series Synthetic Data, Generate Realistic Temporal Datasets in Python](https://www.misata.studio/docs/timeseries.md): Generate realistic time-series synthetic data with Misata. Add linear/exponential trends, weekly and yearly seasonality, Gaussian noise, and anomaly injection, for metrics, KPIs, and sensor data. - [Distribution Reference, Every Numeric Shape Misata Supports](https://www.misata.studio/docs/guides/distributions.md): The complete set of numeric distributions (normal, log-normal, uniform, exponential, poisson, binomial, zipf/pareto, beta, gamma) with their parameters and when to use each. - [Column Correlations, Make Age Correlate with Salary, Experience with Level](https://www.misata.studio/docs/guides/correlations.md): Enforce Pearson correlations between numeric columns using the Iman-Conover method. Preserves marginal distributions while imposing realistic statistical relationships. - [Conditional Columns, Make One Column Depend on Another](https://www.misata.studio/docs/guides/conditional-columns.md): Use depends_on to make a column's distribution conditional on another column or a parent table (salary by role, MRR by plan tier, approval rate by policy type), including across foreign keys. - [Business Rule Constraints for Synthetic Data: Inequality, Range, Sum](https://www.misata.studio/docs/constraints.md): Keep rules such as price above cost, a value between two columns, child sums within a parent total, uniqueness and NOT NULL true on every generated row, enforced during generation. - [Narrative Growth Patterns, Shape Synthetic Data with Natural Language](https://www.misata.studio/docs/guides/narrative-patterns.md): Control exactly how your synthetic data rises, dips, and peaks. Misata understands quarterly patterns, named seasonal events (Black Friday, Christmas), and multipliers (doubled, 10x), turning plain English into precise monthly data shapes. - [Synthetic Event Logs for Process Mining](https://www.misata.studio/docs/guides/processes.md): Declare how a case moves between steps, how often it loops back and how long each step takes, and get one row per event in the shape process-mining tools read. - [Nested JSON and Array Columns in Synthetic Data](https://www.misata.studio/docs/guides/nested-columns.md): Declare nested objects and arrays for API payloads, event properties and documents, with every field generated as realistically as a top-level column. - [Text Realism & Enrichment: Domain Microtext, Sentiment Alignment, and enrich_text](https://www.misata.studio/docs/guides/long-form-text.md): Generate realistic domain-authentic text for support tickets, clinical notes, transaction memos, error messages, and product descriptions with zero Lorem Ipsum. - [Geospatial Realism, Realistic Coordinates, Postal Codes, and Location Data](https://www.misata.studio/docs/guides/geospatial.md): Generate latitude/longitude that clusters around real cities, format-correct postal codes, and location data that makes maps look real. - [Localised Synthetic Data: Names, IDs and Currencies in 20 Locales](https://www.misata.studio/docs/localisation.md): Generate country-accurate names, addresses, phone formats, national IDs and currencies for 20 locales, including the US, UK, Germany, Japan, India and the GCC states. - [Lexicons, Graph Motifs and Joint Distributions in Synthetic Data](https://www.misata.studio/docs/guides/declared-vocabulary-and-structure.md): Declare a column's vocabulary so text never repeats, plant graph motifs such as fraud rings on purpose, and hold several categorical margins at once, exactly. - [Anomaly Injection, Deliberate Outliers for ML Training and Alerting Tests](https://www.misata.studio/docs/guides/anomaly-injection.md): Inject statistical outliers into any numeric or categorical column at a configurable rate. Essential for fraud detection models, alerting systems, and anomaly detection benchmarks. - [Custom Column Generators for Misata](https://www.misata.studio/docs/guides/custom-generators.md): Register a Python function for a column that needs your own logic, such as a tier from a parent's spend or an internal id format, and keep it inside the integrity and audit passes. - [Synthetic Data Presets for Demos, Tests, Load, ML and Evals](https://www.misata.studio/docs/guides/presets.md): Name the job and Misata fills in what the schema left open: demo dates that end today, small test tables, load-test volume, realistic mess for ML, or evaluation dirt. ## Guides: Agents and Tools - [MCP Server, Use Misata from Claude, Cursor, and AI Coding Assistants](https://www.misata.studio/docs/guides/mcp.md): Misata ships a built-in Model Context Protocol (MCP) server. Wire it into Claude Desktop, Cursor, Windsurf, or any MCP-compatible assistant and generate realistic synthetic data from natural language descriptions. - [REST API, Generate Synthetic Data Over HTTP](https://www.misata.studio/docs/guides/rest-api.md): Use misata serve to expose a POST /generate endpoint. Send a story, get JSON tables back. Works with any language, JavaScript, Go, Ruby, curl. - [Jupyter Magic, Generate Synthetic Data Inline in Notebooks](https://www.misata.studio/docs/guides/jupyter.md): Load the %%misata cell magic to generate multi-table synthetic datasets directly inside Jupyter notebooks with zero boilerplate. ## Domains - [Synthetic Data by Industry: 18 Story Domains](https://www.misata.studio/docs/domains.md): The 18 business domains Misata detects from a sentence, from SaaS and fintech to healthcare, logistics and streaming, with the tables and relationships each one generates. - [Generate SaaS Synthetic Data in Python](https://www.misata.studio/docs/domains/saas.md): Generate realistic SaaS synthetic datasets in Python, users, subscriptions, MRR, churn, and invoices with correct FK relationships and narrative growth curves. No API key required. - [Generate Ecommerce Synthetic Data in Python](https://www.misata.studio/docs/domains/ecommerce.md): Generate realistic ecommerce synthetic datasets in Python, customers, products, orders, and order items with correct FK relationships, temporal coherence, and Black Friday curves. No training data required. - [Generate Fintech Synthetic Data in Python](https://www.misata.studio/docs/domains/fintech.md): Generate realistic fintech synthetic datasets in Python, customers, bank accounts, transactions, fraud flags, and credit scores with locale-aware IBANs and configurable fraud rates. No real data required. - [Generate Healthcare Synthetic Data in Python](https://www.misata.studio/docs/domains/healthcare.md): Generate realistic healthcare synthetic datasets in Python: patients, doctors, admissions, diagnoses, and lab results, with real ICD-10 codes, reconciled length-of-stay, comorbidity clusters, severity-driven length of stay, and zero orphaned foreign keys. No real patient data required. - [Generate Predictive Maintenance Synthetic Data in Python](https://www.misata.studio/docs/domains/predictive-maintenance.md): Generate synthetic run-to-failure sensor data with exact remaining useful life, real bearing-fault physics (BPFO/BPFI/BSF/FTF), motor current sidebands, acoustic emission, and a maintenance event history. No AI4I 2020 shortcuts, no invented columns. - [Generate Credit Risk Synthetic Data in Python](https://www.misata.studio/docs/domains/credit-risk.md): Generate synthetic loan portfolios with PD, LGD, and EAD computed from real regulator-published numbers: S&P default rates by credit rating, Basel Foundation IRB supervisory LGD, and the Basel credit-conversion-factor formula for EAD. No real loan data required. - [Generate Islamic Finance Synthetic Data in Python](https://www.misata.studio/docs/domains/islamic-finance.md): Generate synthetic Murabahah, Ijarah, Mudarabah, Sukuk, and Takaful data that holds to its own AAOIFI Sharia Standard exactly: cost-plus formulas, zero-riba repayment, asymmetric loss allocation, and fund separation, all checked independently against the data generated. No real customer or bank d... - [Generate Synthetic Network Intrusion / Netflow Data in Python](https://www.misata.studio/docs/domains/network-intrusion.md): Generate labeled netflow-style traffic with attack injection grounded in the ID2T / UNSW-NB15 construction methodology and named MITRE ATT&CK techniques (T1595, T1498, T1048.003, T1110). No real packet capture required, and no privacy problem to anonymize away. - [Generate Synthetic Contact Center / Erlang C Data in Python](https://www.misata.studio/docs/domains/contact-center.md): Generate call center interval data where staffing, wait time, and service level all come from Erlang C (A.K. Erlang, 1917), the same queueing-theory formula every commercial workforce-management calculator runs. Agent counts are reverse-solved from a declared SLA target, not assigned. - [Generate Synthetic Manufacturing SPC / Cpk Data in Python](https://www.misata.studio/docs/domains/manufacturing-spc.md): Generate process-control measurements (processes, subgroups, individual readings) built to a declared Cp/Cpk process capability via a real Xbar-R control chart, with Western Electric Rule violations that actually fire where an engineered tool-wear drift happens, not asserted. - [Generate HR & Workforce Synthetic Data in Python](https://www.misata.studio/docs/domains/hr.md): Generate realistic HR synthetic datasets in Python, employees, departments, payroll, salary distributions, and tenure coherence. No real employee data required or used. - [Generate Logistics & Supply Chain Synthetic Data in Python](https://www.misata.studio/docs/domains/logistics.md): Generate realistic logistics synthetic datasets in Python, drivers, vehicles, routes, and shipments with delivery time coherence, on-time rates, and fleet management distributions. No real fleet data required. - [Generate Marketplace Synthetic Data in Python](https://www.misata.studio/docs/domains/marketplace.md): Generate realistic marketplace synthetic datasets in Python, sellers, buyers, listings, and orders with power-law seller distributions, beta-rated reviews, and referential integrity. No real user data required. - [Generate Social Media Synthetic Data in Python](https://www.misata.studio/docs/domains/social.md): Generate realistic social media synthetic datasets in Python, users, posts, follows, reactions, and comments with Pareto follower distributions, realistic captions, and engagement rate distributions. No real user data required. - [Generate Real Estate Synthetic Data in Python](https://www.misata.studio/docs/domains/realestate.md): Generate realistic real estate synthetic datasets in Python, agents, properties, and transactions with lognormal home price distributions, realistic days-on-market, and referential integrity. No real MLS data required. - [Generate Pharma & Clinical Research Synthetic Data in Python](https://www.misata.studio/docs/domains/pharma.md): Generate realistic pharma and clinical research synthetic datasets in Python, researchers, clinical trials, projects, and timesheets with phase-accurate distributions. No real trial or patient data required or used. - [Generate Food Delivery Synthetic Data in Python](https://www.misata.studio/docs/domains/fooddelivery.md): Generate realistic food delivery synthetic datasets in Python, restaurants, customers, couriers, orders, and order items with delivery time coherence and cuisine distributions. No real order data required. - [Generate EdTech Synthetic Data in Python](https://www.misata.studio/docs/domains/edtech.md): Generate realistic EdTech synthetic datasets in Python, instructors, courses, students, enrollments, and quiz attempts with back-to-school seasonality, completion rate distributions, and referential integrity. No real student data required. - [Generate Gaming Synthetic Data in Python](https://www.misata.studio/docs/domains/gaming.md): Generate realistic gaming synthetic datasets in Python, players, matches, sessions, and achievements with Pareto XP distributions, realistic K/D ratios, and leaderboard data. No real player data required. - [Generate CRM Synthetic Data in Python](https://www.misata.studio/docs/domains/crm.md): Generate realistic CRM synthetic datasets in Python, companies, contacts, deals, and activities with accurate B2B pipeline stage distributions, lognormal deal values, and sales activity mixes. No real customer data required. - [Generate Crypto & Web3 Synthetic Data in Python](https://www.misata.studio/docs/domains/crypto.md): Generate realistic crypto and Web3 synthetic datasets in Python, wallets, tokens, blockchain transactions, and price history with correct hex addresses, gas fee distributions, and transaction type mixes. No real on-chain data required. - [Generate Insurance Synthetic Data in Python](https://www.misata.studio/docs/domains/insurance.md): Generate realistic insurance synthetic datasets in Python, customers, policies, claims, and payments with actuarially accurate premium distributions, claim rates, and temporal coherence. No real policyholder data required or used. - [Generate Travel Synthetic Data in Python](https://www.misata.studio/docs/domains/travel.md): Generate realistic travel synthetic datasets in Python, users, hotels, flights, bookings, and reviews with temporal coherence, conditional cancellation reasons, and loyalty tier distributions. No real booking data required. - [Generate Streaming Platform Synthetic Data in Python](https://www.misata.studio/docs/domains/streaming.md): Generate realistic streaming platform synthetic datasets in Python, subscribers, content, watch history, and ratings with churn coherence, completion rates, and content type distributions. No real viewer data required. ## Reference - [Misata CLI Reference: generate, explain, attest, solve, evalpack, publish](https://www.misata.studio/docs/cli.md): Every Misata command-line command: generate synthetic data from DDL, YAML or a sentence, seed databases, explain a schema, attest files, solve for pipeline targets, build evalpacks and publish, with JSON output and exit codes. - [YAML Schema Reference for Synthetic Data: misata.yaml](https://www.misata.studio/docs/generation/yaml.md): Write a misata.yaml schema, commit it to git and regenerate the same dataset anywhere: structure, column types, relationships, scaffolding with misata init and round-tripping. - [Declaration reference: every property Misata can guarantee](https://www.misata.studio/docs/reference/declarations.md): Complete reference for all 29 Misata schema declarations, from exact revenue curves and balancing ledgers to state machines, graph motifs and conditional missingness. Every example runs. - [Python API Reference: generate, from_ddl, attest, solve and More](https://www.misata.studio/docs/reference/python-api.md): The public Python API of the Misata synthetic data library, grouped by job: build a schema, generate, stream, seed a database, check, attest, solve, build evalpacks, publish and export. ## Benchmarks - [Synthetic Data Benchmarks: Validity, Realism and the Gauntlet](https://www.misata.studio/docs/benchmarks.md): Every published Misata measurement in one place, with the command that reproduces it: rule violations on five DDL schemas, detection AUC on real orders and trips, and 136 SQL assertions over a 13-table schema. - [Validity Benchmark: Misata vs Faker vs SDV on Real DDL Constraints](https://www.misata.studio/docs/validity-benchmark.md): Five SQL schemas with CHECK rules, composite keys and self-references, generated by Misata, a Faker script and SDV HMA, with every key, CHECK, UNIQUE and NOT NULL violation counted by an independent checker. - [Realism Benchmark: Detection AUC for Synthetic Data, Misata vs Faker vs SDV](https://www.misata.studio/docs/realism-benchmark.md): Blind and fitted synthetic data generators scored against held-out real Olist orders and NYC taxi trips, by a classifier's detection AUC over five seeds and by distribution distances. - [Research Benchmark Harness: Misata Against a Faker Baseline](https://www.misata.studio/docs/guides/research-benchmarks.md): Run Misata's offline benchmark harness to compare a declared, verified Misata workflow with a hand-written Faker baseline on the same tasks. ## Comparisons - [Faker vs SDV vs Misata: Which Python Synthetic Data Tool?](https://www.misata.studio/docs/guides/faker-vs-sdv-vs-misata.md): How Faker, SDV and Misata differ: per-column fake values, models trained on real data, and declared multi-table generation, with measured violations and detection AUC. - [Multi-Table Synthetic Data in Python With Valid Foreign Keys](https://www.misata.studio/docs/guides/multi-table-synthetic-data.md): Generate related tables whose foreign keys always resolve, with realistic fan-out, parent-before-child dates and roll-ups that match their children. - [Synthetic Data for BI and Dashboard Demos](https://www.misata.studio/docs/guides/synthetic-data-for-bi-demos.md): Build demo datasets for Tableau, Power BI, Metabase or Looker with growth curves, seasonality and skewed customers, so charts tell a story instead of drawing flat lines. - [Python Synthetic Data Generator With Foreign Keys and Exact Totals](https://www.misata.studio/docs/python-synthetic-data-generator.md): Misata is an open-source Python synthetic data generator for related tables: a Faker alternative that keeps foreign keys and CHECK rules intact, from a sentence, YAML or SQL DDL. ## Limitations - [Limitations, Where Misata Is Expected to Fail](https://www.misata.studio/docs/limitations.md): Every known boundary of the Misata library, found by adversarial testing: rounding of declared rates, US-leaning priors, grammar-generated text, memory limits of streaming and what reproducibility covers. - [Security Model and Vulnerability Reporting](https://www.misata.studio/docs/security.md): What Misata touches on your machine: offline generation, single-transaction database writes, read-only sandboxes, path limits on the MCP server, and how to report a vulnerability. - [Data Provenance: What Goes Into Data Misata Generates](https://www.misata.studio/docs/data-provenance.md): Answers for procurement and security reviews: no real rows read when generating from a schema, no network at generation time, byte-identical output per version, schema and seed, and where vocabularies come from. - [Stability Policy, What Holds Across Misata Versions](https://www.misata.studio/docs/stability.md): Which outputs Misata keeps stable between releases: declared outcomes and integrity always, individual rows only within one version, and how output changes and deprecations are announced. ## Misata Studio - [Start here: which Misata tool does what](https://www.misata.studio/docs/studio.md): Misata builds company data to the numbers you set and hands over the answer key that proves them. This page maps each tool to the job it does, and where to begin. - [Getting realistic results](https://www.misata.studio/docs/studio/realistic-results.md): How to ask Misata for data that holds up in front of an analyst: which way in to choose, how to state numbers, what is exact and what is drawn, how to read what comes back, and how to change it. - [The answer key and the checker](https://www.misata.studio/docs/studio/answer-key.md): Every Misata dataset ships the ground truth for its own numbers: each metric's SQL and its value in every month, the usual ways each is misread, and questions with proven answers. Use it to check dashboards, AI analysts and text-to-SQL output. - [Backlot: a pipeline that tells the story you planned](https://www.misata.studio/docs/studio/backlot.md): Backlot builds the source data for an existing data pipeline (a dbt project or a Postgres schema), runs the pipeline unchanged, and corrects the source until the pipeline's own output shows the story you chose. Then it shares the result as a live demo room. - [Platform API, Misata Data Inside Your Own Product](https://www.misata.studio/docs/guides/platform-api.md): Call Misata from your platform: start a dataset with a Misata key, follow it, take its tables, load them into your Postgres, ClickHouse, HubSpot or Salesforce, query it directly, and check your dashboards against its answer key. - [The Misata API for AI Agents](https://www.misata.studio/docs/guides/agents.md): Instructions an AI agent follows to use the Misata API: which route does what, the order of calls, how to wait, what each error asks of it, how to report what held, and the rules that keep its key and its user safe. - [MCP server: Misata inside an AI assistant](https://www.misata.studio/docs/studio/mcp.md): Connect Claude, Claude Code, Cursor or VS Code to Misata's hosted MCP server. The assistant designs the tables, Misata makes the numbers true and returns the proof, and every dataset can grade answers against its own key. - [Salesforce and HubSpot](https://www.misata.studio/docs/learn/crm.md): Load a Misata dataset into a Salesforce org or a HubSpot portal: the objects and fields it fills, the load order, external ids, picklists and pipelines, and the loader that ships in each export. Bring an org's own shape in as a schema. - [Schema reference: every key a schema takes](https://www.misata.studio/docs/studio/schema.md): The schema an assistant writes for Misata's MCP server or the platform API: every table and column key, the types, rhythms and value banks, and each kind of number held exactly. Generated from the engine's own readers. - [What you can do with Misata](https://www.misata.studio/docs/studio/use-cases.md): Pick what you want to do, and see which tool does it and how, step by step: sample data that tells a story, testing an AI analyst or a dashboard against a right answer, demos on a real pipeline, data from an AI assistant, and Misata inside your own product. - [Limitations](https://www.misata.studio/docs/studio/limitations.md): What Misata does not do yet, written from testing its own output: what is exact and what is not, which businesses are strongest, speed, size and file retention. - [Glossary](https://www.misata.studio/docs/studio/glossary.md): The words on Misata's screens, in one place: story, stated number, held, certificate, answer key, misreading, identity, window, seed, built-in shape, blueprint and more. ## How Misata compares - [Misata vs Seedfast](https://www.misata.studio/compare/misata-vs-seedfast): Seedfast reads your live Postgres schema and fills it. Misata generates from a declaration and verifies the result. What each one guarantees, where Seedfast is the better fit, and the class of facts no schema can express. - [Misata vs Faker](https://www.misata.studio/compare/misata-vs-faker): Faker fills one field at a time. Misata generates whole relational datasets with foreign-key integrity, reconciling totals, and declared outcomes. A practical comparison for test data in Python. - [Misata vs SDV](https://www.misata.studio/compare/misata-vs-sdv): SDV trains a model on your real data. Misata generates from a specification with no training data, holds declared aggregates exactly, and scored zero rule violations where SDV's multi-table model scored thousands. When to use each. - [Gretel alternative: Misata Studio](https://www.misata.studio/compare/misata-vs-gretel): NVIDIA acquired Gretel in 2025 and folded it into NeMo, so the standalone Gretel service is gone. Here is where Misata Studio fits if you used Gretel for synthetic or test data, and where NVIDIA's tools are the better fit. - [Misata vs Mockaroo](https://www.misata.studio/compare/misata-vs-mockaroo): Mockaroo generates flat tables from a web form. Misata generates connected relational datasets with verified foreign keys and outcomes you declare. An honest comparison for no-code test data. - [Misata Studio vs Tonic Fabricate](https://www.misata.studio/compare/misata-vs-tonic-fabricate): Both turn a plain-English request into connected synthetic data. Fabricate is a broad, metered AI agent platform from Tonic. Misata Studio is built around exact numbers you state, a certificate for every dataset and a realism review. Compared honestly, with prices checked in September 2026. - [Misata as a Neosync Alternative](https://www.misata.studio/compare/neosync-alternative): Neosync was archived in 2025 after its team was acquired. If you used it to seed dev and staging environments with safe data, here is what Misata covers, what it does differently, and what to pair it with. - [MOSTLY AI alternative: Misata Studio](https://www.misata.studio/compare/mostly-ai-alternative): MOSTLY AI is now run under Syntho after the brand was acquired in June 2026. It learns from real data; Misata Studio builds data from a description with no real data at all. When to use which. - [Misata as a dbldatagen Alternative](https://www.misata.studio/compare/dbldatagen-alternative): dbldatagen generates single-table Spark DataFrames. Misata generates multi-table relational datasets with verified foreign-key integrity, exact outcomes, and realistic text, then writes to Delta Lake in one call. - [Misata as a Tonic Alternative](https://www.misata.studio/compare/tonic-alternative): Tonic connects to your production database to mask and synthesize data. Misata generates from a specification with zero production access. When each approach fits, and when to pair them. - [Misata vs Syntho](https://www.misata.studio/compare/misata-vs-syntho): Syntho is an enterprise synthetic test data management platform that requires uploading your real data. Misata is MIT-licensed, runs locally, needs zero real data, and hits declared aggregate targets exactly. An honest comparison of when each tool fits. ## Guides and worked examples - [One account in the seed: the Stripe bug no test could see, and how it got fixed](https://www.misata.studio/blog/one-account-in-the-seed): Fivetran's dbt package for Stripe reported every account's rolling revenue as the sum of all of them, with every test green. The seed had one account. Reported on 26 July, fixed in dbt_stripe 1.10.0 on 13 August, and the fix found the same flaw one layer down. - [How to measure pharma batch release time from SAP-style QM tables, with SQL](https://www.misata.studio/blog/pharma-batch-release-time-from-sap-qm-tables): Batch release lead time, right first time and where the days go, computed from process orders, goods movements, inspection lots and usage decisions. The joins, the five traps that make the numbers wrong, and a free dataset to check them on. - [Two engineers, full time, just for the demo data](https://www.misata.studio/blog/two-engineers-just-for-demo-data): We went looking for what sales engineers actually lose time to, and found teams carving off well-paid full-time engineers purely to stop the demo lying. Here is what the research says, and the thing we have started building because of it. - [Your dbt tests prove the data arrived. They don't prove the maths is right.](https://www.misata.studio/blog/dbt-tests-prove-data-arrived-not-that-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. - [You added one column to your test schema. Why did every other column change?](https://www.misata.studio/blog/edit-one-column-regenerate-everything-changes): 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. - [I ran a coherence audit on the seed script every tutorial teaches. It scored 42/100.](https://www.misata.studio/blog/audit-your-seed-data): 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. - [What Is Synthetic Data? Everything Developers Need to Know](https://www.misata.studio/blog/what-is-synthetic-data): 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. - [Synthetic Data Generation in Python: The Complete Guide (2026)](https://www.misata.studio/blog/synthetic-data-generation-python-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. - [Best Synthetic Data Tools in 2026: A Developer's Honest Comparison](https://www.misata.studio/blog/best-synthetic-data-tools-2026): 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. - [Half the answer keys in text-to-SQL benchmarks are wrong. So I generated the database from the answer key.](https://www.misata.studio/blog/benchmark-answer-keys-are-wrong): 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. - [How to test a data pipeline before you have data](https://www.misata.studio/blog/test-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. - [Generate relational test data with foreign keys in Python](https://www.misata.studio/blog/relational-test-data-foreign-keys-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. - [Choosing an MCP server for synthetic data generation](https://www.misata.studio/blog/best-mcp-server-synthetic-data): 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.