KeyUniqueness

This metric measures whether the keys in a particular dataset are unique. We expect that certain types of keys, such as primary keys, are always unique in order to be valid.

Data Compatibility

  • Primary Key: This metric validates that the primary key values are unique. There may be multiple columns in the primary key, as in the case of a composite key.

Score

(best) 1.0: All of the key values in the synthetic data are unique

(worst) 0.0: None of the key values in the synthetic data are unique

How does it work?

This metric measures how many values in the synthetic data, s, are duplicates, meaning that there is another value that is exactly the same. Call this set Ds. The score is the proportion of values that are not duplicates.

score=1Dssscore = 1 - \frac{|D_s|}{|s|}

If the primary key is composite, meaning that multiple columns together make up the primary key, then the metric looks at the overall combinations of column values when determining duplicates.

Usage

circle-check

To manually run this metric, access the single_column module and use the compute method.

Parameters

  • (required) real_data: A pandas.DataFrame object with the column of real data. For a composite key, provide multiple columns in the pandas.DataFrame object.

  • (required) synthetic_data: A pandas.DataFrame object with the column of synthetic data. For a composite key, provide multiple columns in the pandas.DataFrame object.

FAQ

chevron-rightShould the score always be 1?hashtag

If you are running this score on a primary key, then the score should always be 1. Primary keys are expected to be unique.

If you are running this score on a foreign key, then the score may not be 1, as foreign keys are allowed to repeat. For foreign keys, we recommend using the ReferentialIntegrity metric instead.

chevron-rightDoes this metric use the real data?hashtag

This metric checks to see if the real data also has unique values and alerts you if this is not the case. However, the final score is only based on the synthetic data.

Last updated