In May we put a data quality framework in front of the warehouse. Three months later the warehouse is 10× cleaner — and bad data is stopped before it lands.
Before
After — live since 21 May 2026
ntb-dq-framework, a Python package
built in-house and published on PyPI — with its own AI assistant for rule
authoring.Is anything missing?
Required fields that arrive empty, expected date partitions that never landed, and row counts that suddenly drop against their baseline.
Does it agree with itself?
References that point to nothing, values that disagree between systems, and business logic that must always hold — an end date can never come before its start date.
Is anything counted twice?
Duplicate keys that would silently double-count loans, customers, or payments in every report built on top.
Is every value well-formed?
ID cards that must be exactly 13 digits, values outside an allowed list or a sane range, and data of the wrong type.
Is the data fresh?
Hours of delay since a feed last updated, and alerts when a late feed breaches its agreed SLA.
Does it match the source of truth?
Row-level and total reconciliation against the core bank — the next dimension we switch on.
Quarantine is reviewed jointly: the data engineer diagnoses the pipeline side; the data owner rules on the business side.
cleaner warehouse in three months
Duplicate loan contracts, broken loads, malformed ID cards — every one caught the same day, with the evidence saved.
Trust in every number.
Built in-house by the Data Engineering team · เงินเทอร์โบ