# US 2026/0037484 A1 · Synthetic data generation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2026/0037484 A1
- Document ID: US20260037484A1
- Status: Published application
- Kind: A1
- Application number: 18/958,922
- Filed: 2024-11-25
- Published: 2026-02-05
- Earliest claimed: 2024-07-31
- Assignees: Snowflake Inc.
- Applicants: Snowflake Inc.
- Inventors: Gustavo Ajzenman; Khalid Zaman Bijon; Monica J. Holboke; Jeremy Marcell McGee
- Web page: https://patentgrep.com/patent/US20260037484A1

## CPC

- G06F 16/211: {Schema design and management}
- G06F 16/24544: {Join order optimisation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various embodiments described herein provide for systems, methods, devices, instructions, and like for generating synthetic data. According to various embodiments, synthetic data generation comprises receiving input specifying one or more source tables and join key columns, and generating synthetic data that preserves statistical similarity and referential integrity among columns of the source data.

## Claims

### Claim 1

A system comprising:
at least one processor; and
at least one memory storing instructions that cause the at least one processor to perform operations comprising:
creating, based on user input, a target table of a target database;
receiving a call to perform a synthetic data generation procedure with a set of input parameters, the set of input parameters comprising:
a first parameter that specifies a source table of a source database that stores original data; and
a second parameter that specifies a set of join key columns of the source table;
performing the synthetic data generation procedure, the synthetic data generation procedure comprises:
accessing at least a portion of the original data from the source table;
generating synthetic data that comprises new data artificially generated based on the original data and the set of join key columns, the new data being artificially generated such that the new data is different from the original data while preserving statistical similarity to the original data and while preserving referential integrity of the new data among columns of the original data, the generating of the new data comprising:
mapping a set of unique key values, from the set of join key columns of the source table, to a set of unique integer values in a set of corresponding join key columns of an intermediate table;
transforming values in one or more non-join key columns of the source table to float values in one or more corresponding non-join key columns of the intermediate table;
determining a correlation matrix based on one or more statistical properties for one or more columns of the intermediate table;
generating a probabilistic model based on the one or more statistical properties and the correlation matrix; and
sampling a random variable of the probabilistic model to generate the new data; and
storing the synthetic data in the target table of the target database based on the set of join key columns;
using at least a portion of stored synthetic data from the target table to perform a training operation on an artificial intelligence model, the training operation yielding results similar to those obtained using the original data to perform the training operation on the artificial intelligence model; and
computing one or more utility metrics that measure how well the artificial intelligence model trained on the synthetic data compares to another artificial intelligence model trained on the original data.

### Claim 2 (depends on 1)

The system of claim 1, wherein the synthetic data generation procedure comprises:
generating a set of quality metrics for the synthetic data generated based on the original data.

### Claim 3 (depends on 2)

The system of claim 2, wherein the call is received from a client device, and wherein the synthetic data generation procedure comprises:
returning, to the client device, the set of quality metrics as a metric table.

### Claim 4 (depends on 2)

The system of claim 2, wherein the set of metrics comprises a set of fidelity measures to evaluate how well statistics in the synthetic data match statistics in the original data.

### Claim 5 (depends on 2)

The system of claim 2, wherein the set of metrics comprises a set of privacy measures, the set of privacy measures comprising at least one of a Distance to Closest Record (DCR) or a Nearest Neighbor Distance Ratio (NNDR).

### Claim 6

(canceled)

### Claim 7 (depends on 1)

The system of claim 1, wherein the mapping is performed by a function, and wherein the generating of the new data comprises:
generating the function configured to map a select unique key value to a select unique integer.

### Claim 8

A method comprising:
creating, by at least one processor and based on user input, a target table of a target database;
receiving, by the at least one processor, a call to perform a synthetic data generation procedure with a set of input parameters, the set of input parameters comprising:
a first parameter that specifies a source table of a source database that stores original data; and
a second parameter that specifies a set of join key columns of the source table;
performing, by the at least one processor, the synthetic data generation procedure, the synthetic data generation procedure comprises:
accessing at least a portion of the original data from the source table;
generating synthetic data that comprises new data artificially generated based on the original data and the set of join key columns, the new data being artificially generated such that the new data is different from the original data while preserving statistical similarity to the original data and while preserving referential integrity of the new data among columns of the original data, the generating of the new data comprising:
mapping a set of unique key values, from the set of join key columns of the source table, to a set of unique integer values in a set of corresponding join key columns of an intermediate table;
transforming values in one or more non-join key columns of the source table to float values in one or more corresponding non-join key columns of the intermediate table;
determining a correlation matrix based on one or more statistical properties for one or more columns of the intermediate table;
generating a probabilistic model based on the one or more statistical properties and the correlation matrix; and
sampling a random variable of the probabilistic model to generate the new data; and
storing the synthetic data in the target table of the target database based on the set of join key columns;
using, by the at least one processor, at least a portion of stored synthetic data from the target table to perform a training operation on an artificial intelligence model, the training operation yielding results similar to those obtained using the original data to perform the training operation on the artificial intelligence model; and
computing, by the at least one processor, one or more utility metrics that measure how well the artificial intelligence model trained on the synthetic data compares to another artificial intelligence model trained on the original data.

### Claim 9 (depends on 8)

The method of claim 8, wherein the synthetic data generation procedure comprises:
generating a set of quality metrics for the synthetic data generated based on the original data.

### Claim 10 (depends on 9)

The method of claim 9, wherein the call is received from a client device, and wherein the synthetic data generation procedure comprises:
returning, to the client device, the set of quality metrics as a metric table.

### Claim 11 (depends on 9)

The method of claim 9, wherein the set of metrics comprises a set of fidelity measures to evaluate how well statistics in the synthetic data match statistics in the original data.

### Claim 12 (depends on 9)

The method of claim 9, wherein the set of metrics comprises a set of privacy measures, the set of privacy measures comprising at least one of a Distance to Closest Record (DCR) or a Nearest Neighbor Distance Ratio (NNDR).

### Claim 13

(canceled)

### Claim 14 (depends on 8)

The method of claim 8, wherein the mapping is performed by a function, and wherein the generating of the new data comprises:
generating the function configured to map a select unique key value to a select unique integer.

### Claim 15

A machine-storage medium, the machine-storage medium including instructions that when executed by a machine, cause the machine to perform operations comprising:
creating, based on user input, a target table of a target database;
receiving a call to perform a synthetic data generation procedure with a set of input parameters, the set of input parameters comprising:
a first parameter that specifies a source table of a source database that stores original data; and
a second parameter that specifies a set of join key columns of the source table;
performing the synthetic data generation procedure, the synthetic data generation procedure comprises:
accessing at least a portion of the original data from the source table;
generating synthetic data that comprises new data artificially generated based on the original data and the set of join key columns, the new data being artificially generated such that the new data is different from the original data while preserving statistical similarity to the original data and while preserving referential integrity of the new data among columns of the original data, the generating of the new data comprising:
mapping a set of unique key values, from the set of join key columns of the source table, to a set of unique integer values in a set of corresponding join key columns of an intermediate table;
transforming values in one or more non-join key columns of the source table to float values in one or more corresponding non-join key columns of the intermediate table;
determining a correlation matrix based on one or more statistical properties for one or more columns of the intermediate table;
generating a probabilistic model based on the one or more statistical properties and the correlation matrix; and
sampling a random variable of the probabilistic model to generate the new data; and
storing the synthetic data in the target table of the target database based on the set of join key columns;
using at least a portion of stored synthetic data from the target table to perform a training operation on an artificial intelligence model, the training operation yielding results similar to those obtained using the original data to perform the training operation on the artificial intelligence model; and
computing one or more utility metrics that measure how well the artificial intelligence model trained on the synthetic data compares to another artificial intelligence model trained on the original data.

### Claim 16 (depends on 15)

The machine-storage medium of claim 15, wherein the synthetic data generation procedure comprises:
generating a set of quality metrics for the synthetic data generated based on the original data.

### Claim 17 (depends on 16)

The machine-storage medium of claim 16, wherein the call is received from a client device, and wherein the synthetic data generation procedure comprises:
returning, to the client device, the set of quality metrics as a metric table.

### Claim 18 (depends on 16)

The machine-storage medium of claim 16, wherein the set of metrics comprises a set of fidelity measures to evaluate how well statistics in the synthetic data match statistics in the original data.

### Claim 19 (depends on 16)

The machine-storage medium of claim 16, wherein the set of metrics comprises a set of privacy measures, the set of privacy measures comprising at least one of a Distance to Closest Record (DCR) or a Nearest Neighbor Distance Ratio (NNDR).

### Claim 20 (depends on 15)

The machine-storage medium of claim 15, wherein the generating of the synthetic data comprises artificially generating the new data, and wherein the generating of the new data comprises:
determining a set of unique key values from the set of join key columns of the source table;
mapping the set of unique key values to a set of unique integer values in a set of corresponding join key columns of an intermediate table;
transforming values in one or more non-join key columns of the source table to float values in one or more corresponding non-join key columns of the intermediate table;
determining one or more statistical properties for one or more columns of the intermediate table;
determining a correlation matrix based on the one or more statistical properties;
generating a probabilistic model based on the one or more statistical properties and the correlation matrix; and
sampling a random variable of the probabilistic model to generate the new data.

### Claim 21 (depends on 15)

The machine-storage medium of claim 15, wherein the synthetic data generation procedure comprises:
generating a set of quality metrics for the synthetic data generated based on the original data.

### Claim 22 (depends on 15)

The machine-storage medium of claim 15, wherein the mapping is performed by a function, and wherein the generating of the new data comprises:
generating the function configured to map a select unique key value to a select unique integer.
