Zero-valued targets should still receive nonzero calibration loss weight.
Why:
- A zero target can be meaningful, especially at small geography levels or sparse breakdowns.
- If a state or local target is zero but the dataset estimates a positive value, the optimizer should see that error instead of silently ignoring the row.
- This also makes target diagnostics easier to reason about when expanding the target surface.
Current context:
- The current fiscal refresh loss weighting appears to use
max(abs(target), 1.0) before applying sqrt target-value weights, so zero targets are not literally zero-weighted today.
- We should make that behavior explicit and protected by tests/diagnostics, not incidental.
Acceptance criteria:
- Zero-valued amount and count targets get a finite positive loss weight.
- A regression test covers zero-valued targets under the active amount/count 50/50 target-weighting scheme.
- The target-weight explorer or calibration diagnostics exposes the number of zero-valued targets and their assigned weight range.
- Document the intended zero-target treatment near the loss-weighting code.
Zero-valued targets should still receive nonzero calibration loss weight.
Why:
Current context:
max(abs(target), 1.0)before applying sqrt target-value weights, so zero targets are not literally zero-weighted today.Acceptance criteria: