Synthetic Data: The Complete Series

Author

Caroline Morton

Date

April 9, 2026

I have spent the last year thinking and writing about synthetic data. The promise is easy to understand: generate data that looks and behaves like the real thing, without exposing anything confidential. I write from the perspective of someone working in epidemiology and healthcare research, but the principles extend beyond this area. Synthetic data is being used across finance, pharma, university research centres, and large corporate enterprises. What I have observed is that the same problems that are driving adoption across these different sectors are the same: organisations want to be able to work with more data, but the real data is sensitive in some capacity. In healthcare and finance that sensitivity is about protecting individuals from being identified, after all what could be more sensitive than your health record or bank statements. In commercial settings it is about protecting data that is valuable to competitors.

This page is the jumping off point for my synthetic data series. It is a collection of posts that I have written over the last year, covering the basics of synthetic data generation and its applications. The posts are listed in sections and represent a sensible reading order, especially if you are new to the topic. Each post stands alone and can be read independently. The series is ongoing, and I will update this page as new posts are published.

Foundations

We start with an introduction to synthetic data, some of the main methods of generation at a high level, and the applications that are driving the demand for synthetic data.

Methods of generation

Applications

Here we cover the real-world use cases for synthetic data.

Evaluation

In these posts we cover some of the evaluation metrics that are important in synthetic data generation with regards to privacy, representativeness and utility.

Risks and failure modes

These posts are about the ways synthetic data can go wrong and what are some of the consequences of this.

  • Bias in Synthetic Data - Where bias enters the generation process and why generators can amplify a skew rather than just reproduce it

  • Fairness and Bias Amplification in Synthetic Data - What fairness means in synthetic data generation, how it relates to representativeness and utility, and how to detect and correct bias amplification.

  • Synthetic Data in Machine Learning: Augmentation and Collapse - coming soon

Get in touch

This series is ongoing. If you work with synthetic data or are considering it for your research, it would be great to hear from you.

Last updated: 9 August 2026

Know someone who'd like this?

Enjoyed this? Subscribe to my newsletter.

I write about open science, research code, and building better tools for researchers.

Browse the newsletter archive →

Related Posts

crab orange

Women in Rust 2025

Celebrating another wonderful year of women making strides in the Rust programming community.

Read More
construction orange

The Typestate Pattern: Moving Checks into the Compiler

Learn how to use the typestate pattern in Rust to make missing required fields a compile error instead of a runtime one. Building on the builder pattern, this post shows how to encode construction state in the type system so invalid records cannot be built at all.

Read More
telescope yellow

How Synthetic Data Gets Made

High level overview of how synthetic data is generated.

Read More