Skip to main content

Validation Result

SetupArrowConnect to DataArrowCreate ExpectationsArrowValidate Data



A Validation Result is an object generated when data is validated against an ExpectationA verifiable assertion about data. or Expectation SuiteA collection of verifiable assertions about data..

Features and promises​

Validation Results can be saved for every time that a CheckpointThe primary means for validating data in a production deployment of Great Expectations. ValidatesThe act of applying an Expectation Suite to a Batch. data, permitting you to maintain records of your data's adherence to Expectations and track trends in the quality of the validated data. Validation Results are also among the information passed to ActionsA Python class with a run method that takes a Validation Result and does something with it when a Checkpoint is run. This allows them to be used for any purpose that an Action can be created to handle.

Relationship to other objects​

Validation Results are generated by a Checkpoint when a ValidatorUsed to run an Expectation Suite against data. runs an Expectation Suite against its paired Batch RequestProvided to a Datasource in order to create a Batch.. The Validation Result will be passed to the Checkpoint's action_list where it will be available to any Actions that may need it. The StoreValidationResultAction subclass of ValidationAction will save Validation Results to the Validation Result StoreA connector to store and retrieve information about objects generated when data is Validated against an Expectation Suite. if it is present in a Checkpoint's action_list.

Use cases​


Create Expectations

A Validation Result is generated when you use the interactive workflow to create Expectations and the newly created Expectation is run against the sample BatchA selection of records from a Data Asset. of data you are working with. These individual Validation Results will be created as ExpectationValidationResult instances.


Validate Data

Validation Results are generated when you run Checkpoints to Validate data. Because Checkpoints operate on Expectation Suites rather than individual Expectations, the Validation Results generated by Checkpoints will be created as ExpectationSuiteValidationResult instances. The difference between an ExpectationValidationResult instance and an ExpectationSuiteValidationResult instance is much like the difference between an Expectation and an Expectation Suite: One contains more of the other, along with some additional metadata.

Specifically, an ExpectationSuiteValidationResult will contain additional information pertaining to the Expectation Suite that was Validated, and will contain the data of an ExpectationValidationResult for each Expectation in the Expectation Suite. These ExpectationValidationResult instances will be in a list accessed by the results attribute of the ExpectationSuiteValidationResult instance.

The Validation Results generated as ExpectationSuiteValidationResult instances can be saved in JSON format in a Validation Result Store, and rendered in Data DocsHuman readable documentation generated from Great Expectations metadata detailing Expectations, Validation Results, etc.. Both of these activities are handled by Actions in the Checkpoint's action_list. In most cases, when you see "Validation Results" in Great Expectations, it will be in reference to the output generated as an ExpectationSuiteValidationResult when a Checkpoint is run.


Saved Validation Results allow you to track trends in how well your data adheres to Expectations. This can help you determine if failed Expectations are due to outliers in new data, or a more systemic problem.

Actions and documentation​

Because Validation Results are passed to Actions in a Checkpoint's action_list you can create Actions that have behaviour conditional to the Validation Results. Examples of this might be sending a Slack or email notification if the Validation fails, only launching a secondary process if the Validation Results report that Validation passed, or updating your Data Docs with specific information pulled from the Validation Results.

API basics​

How to access​

Inside of Actions, Validation Results are a parameter that is passed to the Action when it is run. The other place where you can access your Validation Results is in your Validation Result Store. In both of these cases, you will be working with an ExpectationSuiteValidationResult instance, or the serialization of such an instance into a JSON file.

Outside of Actions and your Validation Result Store, you will generally only encounter Validation Results when validating a single expectation against some sample data in the interactive workflow for creating Expectations. When an individual Validation Result is generated, it is generated as an ExpectationValidationResult instance.

How to create​

Validation Results are created automatically when data is Validated in Great Expectations. You will not need to manually create them; they are a product of the Validation process.

A single Validation Result is created when an Expectation is created with the interactive workflow and the newly created Expectation validates itself against the sample data that is used in that process. This is generated as an ExpectationValidationResult object.

A Validation Result is also created for each Expectation in an Expectation Suite when a Checkpoint is run. These are generated as values in the results list of an ExpectationSuiteValidationResult object.


Expectation Validation Results​

ExpectationValidationResult instances represent the Validation Result of a single Expectation. If you are accessing the instance itself (rather than the serialized JSON of an instance found in your Validation Results Store) you will find that the instance provides information about the Expectation and the outcome of its Validation through the following attributes:

  • success: A true or false indicator of whether the Expectation passed.
  • expectation_config: The config used by the Expectation, including such things as type of Expectation and key word arguments that were passed to the Expectation.
  • result: The observed values generated when the Expectation was run.
  • meta: Provides additional information about the Validation Result of some Expectations.
  • exception_info: This is a dictionary with three keys.
    • raised_exception indicates if an exception was raised during the Validation.
    • exception_traceback contains the traceback of the raised exception, if an exception was raised.
    • exception_message contains the message associated with the raised exception, if an exception was raised.

Expectation Suite Validation Results​

ExpectationSuiteValidationResult instances are generated when an Expectation Suite is validated. These instances contain a list of Validation Results for individual Expectations in the Expectation Suite, as well as some additional information. This information can be accessed through the following attributes:

  • success: A true or false indicator of whether all the Expectations in the Expectation Suite passed.
  • evaluation_parameters: The Evaluation Parameters and their values at the time when the Expectation Suite was Validated.
  • results: A list of ExpectationValidationResult results for each Expectation in the Expectation Suite.
  • meta: Additional information about the Validation Results, such as the name of the Expectation Suite that was run, information about the Batch that was Validated, when the Validation took place, and what version of Great Expectations was used to run the Validation.
  • statistics: Some statistics to summarize the results list, including things like the number of evaluated Expectations and the percentage of those Expectations that passed successfully.

The attributes described above for ExpectationValidationResult and ExpectationSuiteValidationResult also correspond to the keys that you will find in the serialized JSON that is created when Validation Results in the form of an ExpectationSuiteValidationResult instance are saved to the Validation Results Store.