BlueGen supports structured data Tables, sequences and the relations between them
Synthetic data for tabular, time series, panel and relational data
Smart meter readings, patient visits and nested registries are all structured data, yet they rarely sit in one flat table. BlueGen runs every one of these structures through a single generic pipeline and generates synthetic data with the same tables, keys and sequences as your source.
What usually breaks, and how BlueGen handles it
These problems appear as soon as real data has more than one table or more than one timestamp. BlueGen has addressed each group below and keeps extending what the pipeline covers.
-
The challenge
Structure and sequence
Variable sequence lengths, sets of records without any order, nesting several levels deep, and per-measurement tables next to per-entity tables.
How BlueGen handles itStructure kept intact
Each entity keeps its own number of records in every table, unordered sets stay unordered, and references between tables stay valid. That holds even when one dataset mixes several time scales and sampling regimes.
-
The challenge
Constraints and logic
Survey skip logic, dates that must follow a strict order, combinations of values that cannot exist, category hierarchies and business rules.
How BlueGen handles itRules and orderings reproduced
A divorce comes before the next marriage, a parent is born well before their children, pregnant men do not appear, and dairy stays under food instead of ending up under fruit. Rare classes and long-running trends get the same care, because the rare examples are usually the ones people need most.
-
The challenge
Scale and performance
High cardinality, such as tens of thousands of product categories with only a few examples each, and very large data volumes.
How BlueGen handles itEfficient at scale
10,000 entities with sequences of 10,000 steps add up to 100 million records. BlueGen manages memory and GPU usage so a dataset of that size fits on the hardware and stays fast, with well-vectorised processing. High-cardinality columns are processed efficiently too, since 100,000 categories in one column is otherwise expensive to compute.
-
The challenge
Data types and formats
Categorical, continuous and datetime values, written in whatever notation the source system happens to use.
How BlueGen handles itMixed types handled natively
BlueGen supports each of these value types in the wide range of notations they appear in, so a date, a category code or a measured value keeps its meaning in the synthetic output.
How it works
Instead of a separate model for each data property, every time series, longitudinal or relational dataset is first converted into one internal format. The model trains on that format and writes the result back into your original structure.
-
Your data
Any of the five structures below
-
Generic pipeline
Ingests the tables, sequences and the relations between them
-
Standard format
One internal representation for every structure
-
Model training
Learns the patterns and relations in the real data
-
Synthetic data
Same structure as your input
Supported data types
Select the structure closest to your own data. Most real datasets mix several of them, so combined structures get their own row.
Tabular
One flat table with one row per person, product or record.
Missing value structures. Someone who answers "no" to "Do you smoke?" skips the question on cigarettes per day, and the synthetic records need to skip it in the same way.
- HR data
- registry and quality registry data
- survival analysis datasets
- website usage, telemetry and marketing data
Time series
Regularly sampled measurements of equal length, such as a reading every 15 minutes for a full year. Often long and multivariate.
Long sequences with several channels measured at the same time, like the separate appliances behind a single household meter.
- Smart meter energy consumption
- PV generation
- heat pump data
- load disaggregation
- sensor data on electrical devices
- jet engine sensor data
- medical devices and vital signs
Panel / longitudinal
Sparse, irregular event sequences. One person is measured every month, another three times in a year, so the sequence length differs per entity.
Categorical and continuous measurements mixed together over time, recorded at moments that follow no fixed schedule.
- Biobank data
- patient data from doctor visits
- household income and expenditure panels
- financial panel data
Relational
Linked and nested tables. A user has orders and each order has items, while other tables hold unordered sets of records, such as a household's expenditures.
See the supported relational structuresA different number of records per entity in every table, static and time-varying tables at different granularities, and referential integrity across all of them.
- Demographic registers with addresses, marriages, children and deaths
- household income and expenditure surveys in relational form
Combined
Relational tables, time series and longitudinal records in one dataset, all belonging to the same entity.
Continuously and irregularly sampled tables side by side, each on its own time scale, that still have to line up per entity.
- ICU patient data with vital signs, lab values and medication
- treatment pathways with patient characteristics
- smart meter load profiles with static household properties
- mutual fund panels
- financial transaction data
- corporate finance and loan data
Supported relational structures
From a single nested tree to many-to-many links between tables.
-
Nested tables
Tree-like structures, for example users with orders and orders with items.
-
Tables side by side
Several tables linked directly to the same entity.
-
Nestings side by side
Several nested trees under one entity, each with its own depth.
-
Many-to-many relations
Records on both sides of a relation linking to many records on the other side.
Combined data types in practice
Three datasets from organisations we work with, each mixing several of the structures above.
-

Eindhoven University of Technology
ICU data for Acute Kidney Injury prediction
Relational ICU records with irregularly measured time series of vital signs, lab values, medication and demographics. A prediction model trained on the synthetic patients performed almost identically to one trained on the real patients.
Read the TU/e case study -

IQVIA
Medical treatment pathways
Tabular patient characteristics combined with multivariate time series of treatment pathways. Questions such as average treatment time and how long patients take to switch medication gave the same answers on the synthetic data as on the real data.
Read the IQVIA case study -

Alliander
Smart meter load profiles for a Dutch grid operator
A full year of smart meter readings at 15-minute intervals, linked to static consumer properties in a separate table. Predictions of transformer overloads came out the same on the synthetic load curves as on the real ones.
Read the Alliander case study
See synthetic data in the shape of your own data.
- Bring a dataset structure you work with
- See how BlueGen would reproduce it