Aglet

Triage Mismatched Counts Between Data Views

A count mismatch is meaningful only when both sides describe the same population and time. Triage should write each counting definition, capture the query or report context, and compare identifiers at the boundary. Separate timing, filtering, duplication, and aggregation differences before assigning a cause.

Establish what is happening

  1. Define each population

    Record the source table or event set, inclusion filters, time zone, timestamp field, status rules, joins, and distinctness requirement for every count. Note whether a side counts rows, entities, events, or groups. Preserve the exact parameters and observation time.

  2. Compare identifiers

    Export or inspect a bounded set of included and excluded identifiers from both views. Classify missing, extra, duplicated, and differently grouped records. Check whether records crossed a time, status, tenant, or processing boundary between the two observations.

  3. Bound the discrepancy

    Recalculate counts by source, date window, status, entity type, and processing revision. Identify the smallest cohort that still reproduces the difference. Record whether the mismatch is stable, growing, or tied to a refresh, and preserve both query outputs.

What to carry forward

Deliver a count-reconciliation brief naming both populations, their boundaries, identifier differences, smallest reproducing cohort, and evidence quality. Triage stops when the mismatch can be rerun with the same parameters. Keep the comparison open if either side's definition or observation time is unknown.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow