# Compare Features

Compare the features available across SDV Community and SDV Enterprise. SDV Enterprise users also have the option of purchasing [**SDV Bundles**](https://docs.sdv.dev/sdv/explore/sdv-bundles), which are optional add-on packages for targeted needs.

### AI-Based Synthesizers

These synthesizers use AI to learn patterns from your data and use them to recreate synthetic data.

<table><thead><tr><th width="400"></th><th width="160" align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td><a href="../../single-table-data/modeling/synthesizers/gaussiancopulasynthesizer"><strong>GaussianCopula</strong></a> <em>statistical AI</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../single-table-data/modeling/synthesizers/ctgansynthesizer"><strong>CTGAN</strong></a>, <a href="../../single-table-data/modeling/synthesizers/tvaesynthesizer"><strong>TVAE</strong></a>, <a href="../../single-table-data/modeling/synthesizers/copulagansynthesizer"><strong>CopulaGAN</strong></a> <em>neural networks</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../single-table-data/modeling/synthesizers/xgcsynthesizer"><strong>XGC</strong></a> <em>advanced Copula modeling with flexible shapes, faster runtime and more</em></td><td align="center">❌</td><td align="center">💠<a href="../sdv-bundles/xsynthesizers"> XSynthesizers bundle</a></td></tr><tr><td><a href="../../single-table-data/modeling/synthesizers/segmentsynthesizer"><strong>SegmentSynthesizer</strong></a> <em>for separately modeling highly segmented data</em></td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/xsynthesizers">XSynthesizers bundle</a></td></tr><tr><td><a href="../../single-table-data/modeling/synthesizers/bootstrapsynthesizer"><strong>BootstrapSynthesizer</strong></a> <em>for modeling data with a few rows</em></td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/xsynthesizers">XSynthesizers bundle</a></td></tr><tr><td><a href="../../single-table-data/modeling/synthesizers/dpgcsynthesizer"><strong>DPGC</strong></a>, and <a href="../../single-table-data/modeling/synthesizers/dpgcflexsynthesizer"><strong>DPGCFlex</strong></a> Synthesizers <em>for creating synthetic data with differential privacy guarantees</em></td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/differential-privacy">Differential Privacy bundle</a></td></tr><tr><td><a href="../../sequential-data/modeling/parsynthesizer"><strong>PAR</strong></a> <em>for sequential data</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/modeling/synthesizers/hmasynthesizer"><strong>HMA</strong></a> <em>multi-table for limited tables (&#x3C;5)</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/modeling/synthesizers/hsasynthesizer"><strong>HSA</strong></a> <em>multi-table for unlimited tables</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/modeling/synthesizers/independentsynthesizer"><strong>Independent</strong></a> <em>multi-table for unlimited tables</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/modeling/performance-estimates"><strong>Performance estimates</strong></a> <em>for multi-table synthesizers with various dataset sizes</em></td><td align="center">❌</td><td align="center">✅</td></tr></tbody></table>

### Test Data Synthesizers

These synthesizers create random test data based on metadata alone. They do not use AI so you do not need to input any training data.

<table><thead><tr><th width="400"></th><th align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td><a href="../../single-table-data/modeling/synthesizers/dayzsynthesizer"><strong>DayZSynthesizer</strong></a> <em>single table</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/modeling/synthesizers/dayzsynthesizer"><strong>DayZSynthesizer</strong></a> <em>multi table</em></td><td align="center">❌</td><td align="center">✅</td></tr></tbody></table>

### Synthetic Data Creation

Create synthetic data that matches the patterns in your real data — as well as other specifications that you have for your project.

<table><thead><tr><th width="400"></th><th align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td><a href="../../multi-table-data/sampling"><strong>Sample realistic data</strong></a> that matches the patterns in your real data, and scale it up.</td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../single-table-data/sampling/conditional-sampling"><strong>Single-table conditional sampling</strong></a> for fixed values in single-table and sequential datasets</td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/sampling/conditional-sampling"><strong>Multi-table conditional sampling</strong></a> for fixed values in multi-table datasets.</td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/targeted-sampling">Targeted Sampling bundle</a></td></tr></tbody></table>

### Data Integrations

These features make it easy to integrate the SDV into your application and pipeline.

<table><thead><tr><th width="400"></th><th width="163" align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td><a href="../../../multi-table-data/data-preparation/creating-metadata#creation-api"><strong>Auto-detect metadata</strong></a> using data CSVs or DataFrames</td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../../multi-table-data/data-preparation/creating-metadata#creation-api"><strong>Auto-detect metadata</strong></a>. Advanced algorithms that use data to detect primary and foreign keys more accurately.</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="../../../concepts/metadata/metadata-api#set_primary_key"><strong>Specify composite keys</strong></a>. Specify primary and foreign keys that consist of 2 or more columns combined.</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="../../multi-table-data/data-preparation/loading-data"><strong>Auto-detect metadata</strong></a> based on your database</td><td align="center">❌</td><td align="center">💠  <a href="../sdv-bundles/ai-connectors">AI Connectors bundle</a></td></tr><tr><td>Directly connect to a database for <a href="../../../multi-table-data/data-preparation/loading-data#connect-to-a-database"><strong>importing real data</strong></a> and creating metadata</td><td align="center">❌</td><td align="center">💠  <a href="../sdv-bundles/ai-connectors">AI Connectors bundle</a></td></tr><tr><td>Connect to a database for <a href="../../../multi-table-data/data-preparation/loading-data#connect-to-a-database"><strong>exporting synthetic data</strong></a></td><td align="center">❌</td><td align="center">💠<a href="../sdv-bundles/ai-connectors">  AI Connectors bundle</a></td></tr></tbody></table>

### Pre-Process Statistical Information&#x20;

Transformers are used to pre-process your data, which can improve data quality. SDV synthesizers select transformers by default, but you can always customize these to your dataset.

<table><thead><tr><th width="400"></th><th width="158" align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/floatformatter"><strong>FloatFormatter</strong></a> <em>for missing value imputation, numerical columns</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/clusterbasednormalizer"><strong>ClusterBasedNormalizer</strong></a> and <a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/gaussiannormalizer"><strong>GaussianNormalizer</strong></a> <em>statistical transforms</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/xgaussiannormalizer"><strong>XGaussianNormalizer</strong></a> <em>with support for 100+ statistical distributions</em></td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/xsynthesizers">XSynthesizers bundle</a></td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/ecdfnormalizer"><strong>ECDFNormalizer</strong></a> <em>to normalize any distribution with high fidelity</em></td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/xsynthesizers">XSynthesizers bundle</a></td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/categorical/uniformencoder"><strong>Uniform</strong></a>, <a href="https://docs.sdv.dev/rdt/transformers-glossary/categorical/labelencoder"><strong>Label</strong></a>, and <a href="https://docs.sdv.dev/rdt/transformers-glossary/categorical/onehotencoder"><strong>OneHot</strong></a> Encoding <em>for discrete variables (</em><a data-footnote-ref href="#user-content-fn-1"><em>nominal</em></a> <em>and</em> <a data-footnote-ref href="#user-content-fn-2"><em>ordinal</em></a><em>)</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/datetime"><strong>Datetime</strong></a> Encoding <em>including datetime format parsing, and converting timezones</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/datetime/unixtimestampencoder#examples"><strong>Learning timezones</strong></a> <em>that are attached to your datetime column</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/outlierencoder"><strong>OutlierEncoder</strong></a> <em>for numerical outliers</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/dplaplacenoiser"><strong>DPLaplaceNoiser</strong></a>, <a href="https://docs.sdv.dev/rdt/transformers-glossary/datetime/dptimestamplaplacenoiser"><strong>DPTimestampLaplaceNoiser</strong></a>, <a href="https://docs.sdv.dev/rdt/transformers-glossary/categorical/dpresponserandomizer"><strong>DPResponseRandomizer</strong></a>, <a href="https://docs.sdv.dev/rdt/transformers-glossary/categorical/dpweightedresponserandomizer"><strong>DPWeightedResponseRandomizer</strong></a> <em>for adding noise to a column to guarantee differential privacy</em></td><td align="center">❌</td><td align="center">💠<a href="../sdv-bundles/differential-privacy"> Differential Privacy bundle</a></td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/numerical/dpecdfnormalizer"><strong>DPECDFNormalizer</strong></a>, <a href="https://docs.sdv.dev/rdt/transformers-glossary/categorical/dpdiscreteecdfnormalizer"><strong>DPDiscreteECDFNormalizer</strong></a> <em>for normalizing a column while guaranteeing differential privacy</em></td><td align="center">❌</td><td align="center">💠<a href="../sdv-bundles/differential-privacy"> Differential Privacy bundle</a></td></tr></tbody></table>

### Understand & Anonymize Real-World Concepts

Transformers are used to pre-process your data, which can improve data quality. SDV synthesizers select transformers by default, but you can always customize these to your dataset.

These transformers are geared towards columns that correspond to industry or domain-specific concepts. Their structure may be human-created.

<table><thead><tr><th width="400"></th><th width="169" align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/text-id/regexgenerator"><strong>RegexGenerator</strong></a>, <a href="https://docs.sdv.dev/rdt/transformers-glossary/text-id/idgenerator"><strong>IDGenerator</strong></a> <em>for keys and IDs</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/pii/anonymizedfaker"><strong>AnonymizedFaker</strong> </a><em>general-purpose anonymization</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/pii/pseudoanonymizedfaker"><strong>PsuedoAnonymizedFaker</strong></a> <em>for general pseudo-anonymization with a mapping</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/deep-data-understanding/email"><strong>Emails</strong></a> <em>understanding domains</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/deep-data-understanding/address"><strong>Addresses</strong></a> <em>understanding locations</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/deep-data-understanding/phone-number"><strong>Phone Numbers</strong></a> <em>understanding country and area codes</em></td><td align="center">❌</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/rdt/transformers-glossary/deep-data-understanding/gps-coordinates"><strong>GPS Coordinates</strong> </a><em>understanding  geographical areas and distances</em> </td><td align="center">❌</td><td align="center">✅</td></tr></tbody></table>

### Constraint-Augmented Generation

Input business rules into your synthesizer using constraints. This ensures high-quality, valid synthetic data, 100% of the time.

<table><thead><tr><th width="400"></th><th width="167" align="center">SDV Community</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td>Predefined logic for individual tables: <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/fixedincrements"><strong>FixedIncrements</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/fixedcombinations"><strong>FixedCombinations</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/inequality"><strong>Inequality</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/onehotencoding"><strong>OneHotEncoding</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/range"><strong>Range</strong></a></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../concepts/constraint-augmented-generation-cag/program-your-own-constraint"><strong>Program your own constraint</strong></a> for single tables</td><td align="center">✅</td><td align="center">✅</td></tr><tr><td>Advanced predefined logic for individual tables: <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/fixednullcombinations"><strong>FixedNullCombinations</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/mixedscales"><strong>MixedScales</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/chainedinequality"><strong>ChainedInequality</strong></a></td><td align="center">❌</td><td align="center">💠<a href="../sdv-bundles/cag"> CAG bundle</a></td></tr><tr><td>Advanced, predefined logic for multi-table tables: <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/carryovercolumns"><strong>CarryOverColumns</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/denormalizedtable"><strong>DenormalizedTable</strong></a>, <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints/polymorphic-relationship"><strong>PolymorphicRelationship</strong></a>, and <a href="../../concepts/constraint-augmented-generation-cag/predefined-constraints"><strong>more</strong></a>.</td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/cag">CAG bundle</a></td></tr><tr><td>Automatically <a href="../../concepts/constraint-augmented-generation-cag/auto-detect-constraints"><strong>detect predefined constraint logic</strong></a> and apply it to your synthesizer.</td><td align="center">❌</td><td align="center">💠 <a href="../sdv-bundles/cag">CAG bundle</a></td></tr><tr><td><a href="../../concepts/constraint-augmented-generation-cag/program-your-own-constraint"><strong>Program your own constraint</strong></a> for multi-table</td><td align="center">✅</td><td align="center">✅</td></tr><tr><td>Support for programming your constraint and additional predefined logic </td><td align="center">❌</td><td align="center">✅</td></tr></tbody></table>

### Synthetic Data Evaluation

Evaluate your synthetic data by comparing it against the real data.

<table><thead><tr><th width="400"></th><th width="165" align="center">Public SDV</th><th align="center">SDV Enterprise</th></tr></thead><tbody><tr><td>Access to <a href="https://docs.sdv.dev/sdmetrics/"><strong>SDMetrics</strong></a> library <em>vendor-agnostic, open source</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/sdmetrics/reports/diagnostic-report"><strong>Diagnostic Report</strong></a> <em>basic data validity checks , single and multi-table</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="https://docs.sdv.dev/sdmetrics/reports/quality-report"><strong>Quality Report</strong> </a><em>statistical similarity, single and multi-table</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td>Measure the privacy of your data: <a href="https://docs.sdv.dev/sdmetrics/metrics/metrics-glossary/disclosureprotection"><strong>DisclosureProtection</strong></a> and <a href="https://docs.sdv.dev/sdmetrics/metrics/metrics-glossary/disclosureprotection/disclosureprotectionestimate"><strong>DisclosureProtectionEstimate</strong></a></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td><a href="../../single-table-data/evaluation/privacy/empirical-differential-privacy"><strong>Verify the differential privacy</strong></a> <em>of any synthesizer algorithm</em></td><td align="center">❌</td><td align="center">💠<a href="../sdv-bundles/differential-privacy"> Differential Privacy bundle</a></td></tr><tr><td><a href="https://docs.sdv.dev/sdmetrics/reports/visualization-utilities"><strong>Visualization</strong></a> <em>1D and 2D bars, scatterplots, heatmaps and more</em></td><td align="center">✅</td><td align="center">✅</td></tr><tr><td>Use case-specific metrics: <a href="https://docs.sdv.dev/sdmetrics/metrics/metrics-in-beta/outliercoverage"><strong>OutlierCoverage</strong></a>, <a href="https://docs.sdv.dev/sdmetrics/metrics/metrics-in-beta/smoothnesssimilarity"><strong>SmoothnessSimilarity</strong></a></td><td align="center">❌</td><td align="center">✅</td></tr></tbody></table>

[^1]: Categories without any order, such as ice cream flavor or gender

[^2]: Categories with an order such as school grades ("C+", "B-", "B", etc.)&#x20;
