Supported Data Types

BlueGen supports structured data such as tabular, time series, panel and relational data, and datasets that combine them. See what each structure looks like, what usually breaks when you synthesise it, and how BlueGen keeps tables, keys and sequences intact.

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 it

    Structure 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 it

    Rules 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 it

    Efficient 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 it

    Mixed 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.

  1. Your data

    Any of the five structures below

  2. Generic pipeline

    Ingests the tables, sequences and the relations between them

  3. Standard format

    One internal representation for every structure

  4. Model training

    Learns the patterns and relations in the real data

  5. 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

What it looks like

One flat table with one row per person, product or record.

Typical challenge

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.

Example datasets
  • HR data
  • registry and quality registry data
  • survival analysis datasets
  • website usage, telemetry and marketing data

Time series

What it looks like

Regularly sampled measurements of equal length, such as a reading every 15 minutes for a full year. Often long and multivariate.

Typical challenge

Long sequences with several channels measured at the same time, like the separate appliances behind a single household meter.

Example datasets
  • 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

What it looks like

Sparse, irregular event sequences. One person is measured every month, another three times in a year, so the sequence length differs per entity.

Typical challenge

Categorical and continuous measurements mixed together over time, recorded at moments that follow no fixed schedule.

Example datasets
  • Biobank data
  • patient data from doctor visits
  • household income and expenditure panels
  • financial panel data

Relational

What it looks like

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 structures
Typical challenge

A different number of records per entity in every table, static and time-varying tables at different granularities, and referential integrity across all of them.

Example datasets
  • Demographic registers with addresses, marriages, children and deaths
  • household income and expenditure surveys in relational form

Combined

What it looks like

Relational tables, time series and longitudinal records in one dataset, all belonging to the same entity.

Typical challenge

Continuously and irregularly sampled tables side by side, each on its own time scale, that still have to line up per entity.

Example datasets
  • 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.