Constraint-Augmented Generation (CAG)
Do you have business rules in your dataset? These are deterministic rules that every single row in your data must follow in order to be considered valid. By default, SDV synthesizers are probabilistic so they may not learn to match your rule 100% of the time.
The good news is that you can input your business rules into your synthesizer using constraints. Constraint-augmented generation ensures that your synthetic data meets the constraint — 100% of the time.
Auto-detect business rules or add them in yourself. SDV automatically detects common business rules that your datasets may have. You inspect what SDV has detected, and modify those constraints.
Constraint Example
One example of a business rule is when the values in one column always have to be greater than values in another column. This is true for every single row of data.

checkout_date must be greater than the checkin_date for all rows.❖ Auto-detect constraints. SDV automatically detects a constraint that corresponds to this business rule (Inequality constraint). You can add it to your synthesizer to ensure that the synthetic data follows the rule. The auto-detection feature is available in the CAG bundle.
Add constraints directly. You can also create the constraint yourself and supply it to your synthesizer.
Predefined Constraint Classes
Predefined constraints apply logic within a single table or between multiple tables. Predefined constraints represent common business rules that may appear in your dataset. SDV is able to auto-detect predefined constraint classes, and you are also able to create and apply them yourself.
Browse the predefined constraints to learn more. We also recommend going through our tutorial.
Programmable Constraints
If your logic cannot be described by any of the predefined constraints, please reach out to us with the details of your dataset. We will track this as a feature request.
Have you purchased the CAG bundle? For our SDV Enterprise customers who have purchased the CAG bundle, our team is able to provide additional support for constraints. After you reach out to us, we will be able to provide you with some specially programmed constraints for you to test.
Constraints API
Detect, create, and add constraint objects to your synthesizer. For more details, see the API Reference.
FAQs
Last updated