Data Quality Gates for Planning Inputs

From WFM Labs

Data quality gates for planning inputs are the checks, enforced in the files a planning model reads rather than in a policy, that refuse any number lacking the five things a planning input must carry: a definition cited by id and version from The Definitions Register, a source cited by id from the Source of Truth Register, a grade from Human Gates and Number Grades, a refresh date within the source's stated cadence, and an owner seat. A number that fails the gate is not corrected, estimated or dropped silently; it is quarantined, with an owner and a date, and the model either runs without it on a recorded substitution or does not run. The gate is part of the Workforce Data Definitions Framework and sits before the gates of the grades page, the planner gate for a forecast or the plan signature for a capacity plan: the data gate refuses a file, a person signs a version, and the two are different acts by different seats.

The gate takes its form from two findings in the data-quality literature. The first is that quality is a property a consumer judges on several dimensions at once, accuracy among them but also completeness, timeliness, believability and interpretability, and that a value correct on one dimension and unknown on the others is not usable.[1] The second is that the cost of a bad number is paid downstream, where the decision is made, by people who cannot see the defect,[2] which is why the gate is placed at the model's door and not at the report that reads the model.

The five fields

Field What it must hold What its absence means
Definition An RG id and version, currently adopted The number's name is known; its meaning is not. Two numbers with the same name and no RG citation cannot be compared, which is the two-definitions trap of The Definitions Register
Source An ST id, with the number taken by that row's extraction path The number came from somewhere; the register does not say where. A second source for a registered metric is a conflict, not an input
Grade [M], [C], [E] or [A], with what the grade requires: the ledger version for [M], the formula and input grades for [C], the range and assumption for [E], the source and date for [A] The number's reliability is unstated and the model's output grade cannot be computed
Refresh date The date the number was last refreshed, within the ST row's cadence plus its latency The number may be stale; a stale measured number is not [M] for the period it is applied to
Owner The seat that answers for the number Nobody can be asked why it is what it is

The five fields are the planning-input form of the general requirement that a data element be registered with its definition, its value domain and its responsible organization before it is exchanged.[3]

The checks

The gate runs five checks on every input file, in order, and stops at the first failure for each number.

  1. Completeness. Are all five fields present on every row? A row with a blank field is refused.
  2. Currency. Is the refresh date within the ST row's cadence plus latency for the period the model is being run for? A number past its cadence is refused as stale, not carried.
  3. Consistency. Does the RG version cited equal the version currently adopted, and does the ST id match the RG id's registered source? A number citing a superseded definition is refused; a number from a source other than the registered one is a conflict and is refused.
  4. Admissibility. Does the grade permit the use? An [A] number is admitted only beside an [E] range or as a non-load-bearing comparison; a figure labelled [E] without a range is treated as [A]; a number whose ST row is graded implied or unattributed is refused whatever its number grade.
  5. Reconciliation. Have the tests the model's lineage card names on Reconciliation Tests for Time Accounting passed for the period? A failed test does not refuse the input; it re-grades it, and the gate then re-runs admissibility on the re-graded value. A failed T-01 sum-to-paid sets every ledger ratio for the period to [E] with the residual as its range, which is admitted and propagates through the lineage card; a failed T-05 item-count against time sends the channel's handling time back for re-measurement, and the figure is carried as [A] until then.

The checks are enforced where Human Gates and Number Grades places every gate: in the format. The model's input file has the five fields as columns, the loader refuses a file with a blank, and the refusal is logged with the row, the check and the date. No configuration flag skips the check. Integration Agents gives the same mechanism at a system boundary, a field mapping to no definition rejected at load, and the data gate is its planning-side counterpart.

Quarantine

A refused number goes to quarantine, a register of its own with one row per refused input: the number, the model that asked for it, the check it failed, the owner who must cure it, the date by which, and what the model ran on in the meantime. Quarantine is not a waiting room where numbers are forgotten. Its rows, the quarantine register, are the function's measurement backlog, read weekly by the register's owner, and a row that passes its cure date without a cure is escalated to the function head, because a model running for a second cycle on a substitution is a plan being signed on a number nobody owns.

A quarantined number may do three things and may not do a fourth. It may inform a proposal, with its quarantine row cited. It may be released when its owner supplies the missing field, cites a newly adopted RG or ST row through GP-606, or supplies an [E] range for an [A] figure. It may be retired when the model no longer needs it. It may not be loaded into a model by any path that bypasses the gate, including a manual edit of the model's workbook, which is why the model reads only from gated files.

What the model does when an input is refused

The gate refuses a number; it does not decide what the model does next. That decision is taken at the planner gate for a forecast or the plan signature for a capacity plan, and it is one of three, each recorded on the model's lineage card for the run.

  • Substitute an [E] range supplied by the input's owner, with the assumption stated and the last admitted value as a point inside it; the output is [E] on that range. This is the usual choice.
  • Carry the last admitted value as an [A] exception, recorded at the admissibility check with the date it was last current and the reason. An [A] exception may inform a proposal and cannot carry a plan version alone; a capacity plan built on it waits for the first option or the third.
  • Hold the run until the input is cured; the plan of record is not refreshed, and the hold is reported.

A function usually prefers the second option because it is silent, which is the reason the gate records it as loudly as the third. The exception propagates through the lineage card to the signature, so that the signing seat sees the carried input named and the requirement at [A], and cannot sign it until an [E] range is supplied or the run is held.

Worked example

On Thu 16 Oct 2026 a weekly email handling-time figure of 7.1 minutes per item arrives from a newly installed work-item timer in the case tool, graded [M] by its author. The gate refuses it at the completeness check: the figure cites AHT-02 v0, which is adopted, but its source field is blank, because the register's source for the definition is still ST-007 v0, the quarterly sample, and the timer has no ST row. The number is quarantined with the data and analytics lead as owner and a cure date two weeks out [A]. The planner runs the model on the sample's [E] range of 6.5 to 8.5 minutes [E] as before, records the choice, and the data and analytics lead proposes through GP-606 that the timer, reconciled to the sample, become ST-007 v1 after one cycle of parallel measurement. The 7.1 figure enters no plan until that version is adopted; it informs the proposal.

Maturity Model Position

Four scales on this wiki use the word level; the launch page states which is which. On the WFM Labs Maturity Model™ a checklist a planner runs by hand before loading inputs is Level 2 work. A gate enforced in the input file format, with a quarantine register and logged refusals, is the Level 3 form and the condition an agent team's loader meets before it reads a ledger. At Level 4 the admissibility check reads ranges rather than points, because the plan is expressed in them.

See Also

References

  1. ↑ Wang, R. Y., & Strong, D. M. (1996). "Beyond Accuracy: What Data Quality Means to Data Consumers". Journal of Management Information Systems 12(4), 5–33. doi:10.1080/07421222.1996.11518099.
  2. ↑ Redman, T. C. (2013). "Data's Credibility Problem". Harvard Business Review 91(12), 84–88. hbr.org.
  3. ↑ International Organization for Standardization / International Electrotechnical Commission (2023). ISO/IEC 11179-1:2023 Information technology — Metadata registries (MDR) — Part 1: Framework.