A data contract is an explicit agreement between Data Producers and Data Consumers that clearly defines the following for the data provided:

  • expectations;
  • schema;
  • format;
  • quality requirements;
  • frequency;
  • ownership; and
  • rules

In other words, a data contract answers these critical questions:

  • What data is being provided?
  • Who owns and is responsible for maintaining the data?
  • How frequently and when will the data be refreshed?
  • What schema or format is expected (fields, data types, structure)?
  • What are the quality expectations (accuracy, completeness, consistency)?
  • How are schema or data changes communicated and handled?
  • Where and how is the data accessed?

Example

AspectExample Contract Specification
Data OwnerMarketing Team (responsible for Excel files in SharePoint)
Data ConsumerAnalytics Team (ingesting to Snowflake via Matillion)
Format/SchemaExcel files following a predefined standard column layout and naming conventions.
Refresh FrequencyMonthly, by the 27th of each month
Quality ExpectationNo null values in critical fields; dates must follow consistent format (YYYY-MM-DD)
Change Notification7-day advance notification before changing schema structure, formats, or delivery schedule