Build a useful investigation brief
Build an uneven fixture
Create rows whose values produce different weighted and unweighted results. Record entity, group, value, weight, period, and expected inclusion for each row. Add a case with a missing or zero weight only when the report contract specifies how it should behave.
Reconstruct the pipeline
Capture rows after filters and joins, grouped values, weighted contributions, unweighted inputs, denominator candidates, and final formatting. Compare the independently calculated result with the card, chart, table, and export. Mark the first stage that drops or duplicates weight.
Discriminate the explanation
Change one factor at a time: group membership, weight field, zero-weight policy, or aggregation level. Rerun the fixture and compare the delta. Treat a disagreement about the desired average as a policy hypothesis until the metric owner states which population the decision uses.
What to carry forward
The investigation is ready when the brief names the uneven fixture, numerator, denominator, first divergent stage, affected surfaces, and definition alternative. Recommend a scoped measure or label change. Keep the case unresolved when weights are descriptive fields rather than agreed statistical inputs.
Technical background: PostgreSQL documentation.
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