Generation Settings
Once the variables, distributions, and relationships are configured, the final step before generation is setting the sample size and reviewing the predictions that tell you how faithfully each effect size can be reproduced at that size.
Sample size
The most important generation setting is the target sample size -- how many synthetic rows to produce. The default is 1,000 rows.
| Property | Value |
|---|---|
| Default | 1,000 rows |
| Practical range | A few hundred to over 100,000 rows in a single run |
| Speed | Most datasets generate in seconds; very large datasets may take longer |
A key strength of synthetic data is that the output size is independent of the input size. You can take a small pilot dataset (or just its summary statistics) and generate a much larger synthetic dataset that preserves the same statistical structure -- useful for power analysis, machine-learning training-set augmentation, and simulation studies.
Sample-size predictions
Because the precision of an effect size depends on sample size, the module includes a prediction system that estimates how closely each effect size will be reproduced at different sample sizes -- before you generate. This lets you choose a sample size that achieves the precision you need.
Prediction sample sizes
The module computes predictions at a standard ladder of sample sizes:
100, 500, 1,000, 5,000, 10,000, 50,000, 100,000
For each effect size and each candidate sample size, it estimates the expected value and a confidence interval (expected min/max) for the reproduced effect.
Standard errors by effect-size type
The width of each prediction interval is driven by the standard error of that effect size at the target sample size:
| Effect size | Standard error formula |
|---|---|
| Correlation | SE = sqrt((1 - r^2) / (n - 2)), returns 0.5 if n <= 3 |
| Cohen's d | SE = sqrt((n1 + n2)/(n1*n2) + d^2/(2(n1 + n2))), where n1 and n2 are scaled to target n by original group proportions |
| Odds Ratio | Based on contingency-table cell counts scaled to target n (defaults to 0.5 if no table) |
| Cramer's V | Based on V and n (returns 0.3 if n <= 10) |
| Hazard Ratio | Based on per-group event counts scaled to target n (defaults to 0.4 if group sizes unknown) |
The pattern these formulas share: larger samples give smaller standard errors and tighter prediction intervals.
Target-N prediction
For your chosen target sample size, the module reports for each effect size:
- The expected value
- The expected min and max (confidence interval)
- The standard error
This appears alongside each entry in the effect-size matrix, so you can see at a glance how reliably each relationship will be reproduced.
Overall prediction accuracy
The module produces an overall accuracy rating across all effect sizes, based on the average relative deviation of the predicted intervals:
| Average relative deviation | Overall accuracy |
|---|---|
| < 0.10 | High |
| 0.10 -- 0.25 | Medium |
| >= 0.25 | Low |
A low rating signals that some effect sizes are likely to be reproduced imprecisely -- increasing the sample size usually improves this.
Bounds mode (recap)
The bounds mode controls how tightly the engine reproduces each effect size:
| Mode | Behaviour |
|---|---|
| Flexible (default) | Effect sizes reproduced within approximately +/-15% tolerance band |
| Strict | Effect sizes reproduced as exactly as possible |
The bounds mode and the sample size together determine how faithfully the generated data hits its targets. A larger sample in flexible mode is generally the most reliable combination.
Generating the dataset
When the configuration is ready, you start generation. The module shows a generation status display while the engine runs through its phases. The process reports progress messages and, on completion, a summary:
- Number of rows generated
- Number of variables
- The distributions used
On completion, you move to the validation report and the download options.
What the summary confirms
The post-generation summary confirms the shape of the output ("Generated N samples across M variables") so you can immediately verify you got the dataset you configured. If anything looks wrong, you can adjust the configuration and regenerate.
Regenerating
Generation is non-destructive and repeatable. Because each run draws fresh random values (subject to the configured structure), regenerating produces a new dataset with the same statistical properties but different individual rows. You can:
- Regenerate with the same settings to get a different synthetic sample
- Adjust the sample size, bounds mode, distributions, or relationships and regenerate
- Reset the whole configuration and start from a new data source
This makes it easy to produce multiple independent synthetic datasets from the same source -- for cross-validation, simulation replicates, or robustness checks.