Demonstration only. Corollary is a non-commercial research demo — no warranty, no support, not for commercial use or clinical decisions. Read the disclaimer

All use cases

Literature and study design · What you can do here

Generate individual-level synthetic data from a summary table

Generate an individual-level synthetic cohort matching summary statistics from a baseline table or dataset. You get a downloadable CSV and an itemised moment-by-moment verification report.

What this involves

Published baseline tables (such as Table 1 in clinical trials) and summary statistics present marginal summaries—means, standard deviations, medians, interquartile ranges, and category counts—without revealing individual-level rows. Generating an individual-level synthetic dataset involves specifying these statistical parameters and sampling rows from defined distributions that replicate the source values. The agent executes this directly on its platform without requiring local package installations.

Synthetic datasets generated from summaries serve specific methodological functions: testing analytical pipelines on realistic data structures, demonstrating statistical techniques, flag conflicting source targets, and conducting power or sample-size simulations against an explicitly declared effect. Because rows are generated without underlying subject identifiers, they can be shared safely as stand-in data that match source marginals. However, they provide no mathematical differential-privacy guarantee.

A synthetic cohort only contains properties explicitly defined in its configuration. Standard summary tables contain no dependence structure, meaning unlisted variable pairs are generated as independent by default. Treatment effects, subgroup interactions, and non-linear dependencies do not arise spontaneously; testing synthetic rows for novel biological or clinical discoveries merely evaluates the specification you provided rather than the real world.

How it goes

  1. 1Source table extractionExtract the exact table text, footnotes, and sample sizes from paper PDFs or pasted text using read_paper, or derive marginal values from an existing dataset using dataset_column_stats or df.describe() in run_python.
  2. 2Specification draftingRun draft_synthetic_spec on the extracted table text to automatically parse central tendencies, spreads, group sizes, and categorical counts into a preliminary configuration.
  3. 3Manual specification refinementReview the draft notes to correct standard errors mistaken for standard deviations, set positive bounds (min: 0) for skewed variables, designate integer types, assign missing data rates, and explicitly add known correlation coefficients (r).
  4. 4Cohort generation and verificationExecute generate_synthetic_data to draw individual rows, applying a Gaussian copula for declared correlations, and evaluate the verification report comparing target versus achieved moments.
  5. 5Downstream analysisInspect and model the resulting CSV file directly in the execution environment using run_python or run_r.

Start it here

Ask in plain language. The agent works on a Linux machine of its own — it installs and runs what the job needs, keeps every file, and reads the results back with the numbers explained. Nothing to set up, and a long run continues after you close the page.

What to watch for

  • Mistaking a standard error (SE) for a standard deviation (SD) causes the generated sample spread to be incorrectly narrowed by a factor of the square root of n.
  • Unspecified variable correlations default to zero, which represents an active assumption of statistical independence rather than a feature recovered from the source.
  • Executing statistical hypothesis tests or regressions on synthetic rows reflects the initial specification parameters rather than real-world biological discoveries.
  • Gaussian copulas only calibrate pairs of normal, lognormal, or boolean variables to Pearson targets; non-linear relations, mixtures, or threshold effects must be constructed explicitly.
  • Severe bounds, integer rounding, or mathematical incompatibilities between target moments will trigger a warning and cause generated distributions to deviate from target values.
  • Generating an arm with a small sample size (such as n = 12) may yield exact moment matching without providing meaningful distributional information.

Questions

Do I need to install anything to generate individual-level synthetic data from a summary table?

No. The research agent does this work on a Linux machine of its own — it installs what the job needs, keeps the files, and reads the results back to you. Long runs continue if you close the page.

Can I use synthetic data to discover new treatment effects or interactions?

No. Synthetic cohorts generated from marginal summaries only contain the differences and correlations explicitly declared in the specification. Calculating p-values or testing regression coefficients evaluates the model parameters you entered, not actual patient outcomes.

How are variable correlations handled if the source table does not report them?

The generator treats unlisted variable pairs as independent with a correlation of zero. If correlations are known from external domain evidence or source text, you must supply them explicitly using Pearson r values, which are approximated within groups via a Gaussian copula.

How can I ensure the synthetic dataset is reproducible?

The platform records a seed parameter alongside the complete data specification. Re-running generate_synthetic_data with the exact configuration and seed reproduces identical individual records, making the dataset citable.

What happens if a variable is bounded at zero but has a large standard deviation?

If you set a lower bound of min: 0 for non-negative continuous variables (such as laboratory measurements or clinical counts), the generator switches to a lognormal distribution to avoid generating impossible negative numbers.

Written from the method the research agent follows for this work and the documentation of the tools listed above. Statements citing a figure that does not appear there are removed before publication. Corollary is a non-commercial research demonstration; results are not for clinical use.