
Data Contract
A data contract is a binding agreement about what data must look like when one team passes it on to another. It defines fields, formats, meanings, and responsibilities so that downstream programs don't break unnoticed.
In large companies, one team produces data while other teams work with it further. A shop, for example, records every purchase, and accounting uses this to calculate revenue. A data contract is a written agreement between these two sides. It specifies exactly which pieces of information will be delivered, in what form they exist, and what they mean. For example: there is a field “purchase amount,” it always contains a number, always in euros, and it may never be empty. The contract is not a document for lawyers, but a description that a computer can also read and automatically check.
What goes wrong without a fixed agreement
Data mishaps rarely arise from bad intent. Usually someone simply changes something in their own system. A developer renames a field because the new name sounds nicer. Or they suddenly start storing amounts in cents instead of euros. For their own program, everything keeps working.
Downstream, something then breaks, often only days later. A report shows revenues that are a hundred times too high. Worse still: sometimes nothing visibly breaks at all, the numbers are just silently wrong. Such errors sometimes go unnoticed for weeks and end up feeding into management decisions.
A data contract moves the problem upstream. The change is already noticed at the supplier’s end, not only at the recipient’s. Furthermore, it becomes clear afterward who is responsible. Without a contract, two teams argue over who caused the error, and nobody feels accountable.
What such a contract records
The core is the schema, that is, the list of fields with their data types. A data type states what kind of value is allowed: number, text, or date. Added to this are rules, so-called constraints. Examples: a customer number must not occur twice. An age must lie between 0 and 120.
A good data contract also describes things that aren’t found in the numbers themselves. How often is the data updated, every hour or once a night? By what time is it ready in the morning? Who is the responsible contact person? And what does a field actually mean in substance: does “revenue” include VAT or not?
Technically, the contract usually exists as a text file in a fixed format alongside the program code. With every change to the software, an automated test checks whether the contract is still being honored. If it doesn’t match, the change is blocked. You can think of it like a customs check: only data matching the agreed-upon papers gets through.
Data contracts in AI projects and job postings
Data contracts are especially important in machine learning, that is, in programs that derive rules from example data. Such a model learns precisely the data shape it saw during training. If a unit or a value range later changes secretly, the model keeps producing results. They are then just quietly wrong, and that is hard to notice.
In reports about companies like Snowflake, Databricks, or dbt, the English term “data contract” often appears. It belongs to a larger trend of treating data management like software development: with versions, tests, and clear responsibilities. A related term is data governance, which refers to the rules for handling data across the whole company. The data contract is a concrete, technical piece of that.
A common misconception: a data contract does not guarantee correct content. It checks the form, not the truth. If a salesperson accidentally types in a wrong price, that is still a valid number in the correct format. The contract lets it through. Additional checks are needed to catch content that doesn’t make sense.