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.

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: 2 September 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

errors green

Your Errors Are Data Too

How Rust's error handling patterns let you treat errors as structured observations about your data - capturing context, categorising failures, and producing data quality reports as first-class pipeline outputs.

Read More
reproducability green

The Single Responsibility Principle for Scientists Who Write Code

Exploring the Single Responsibility Principle in the context of scientific programming and data analysis.

Read More
crane blue

The Builder Pattern for Complex Records

Learn how to use the builder pattern in Rust to construct complex records in a flexible and readable way. This helps manage optional fields and maintain code clarity in data pipelines, and can help your data science and engineering teams build more reliable and maintainable systems.

Read More