Fix time-dependent gains reference ownership - #370
Merged
Conversation
Contributor
|
uriahf
marked this pull request as ready for review
August 21, 2026 14:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Finish the production-semantic parity stage by aligning time-dependent gains with the stable population-based reference ownership introduced in #368.
Problem
create_gains_curve_times()still used a gains-specific reference replacement path that inferred whether there were multiple populations from horizon-specific event-risk data. Distinct keyed populations with equal event risk could therefore collapse to one perfect-model reference at that horizon.Change
Route the public time-dependent gains path through the shared population-aware time reference helper already used by ROC, precision-recall, lift, decision curves, and interventions avoided.
This preserves the existing gains formulas and public API while making reference ownership depend on stable population identity rather than numerical event-risk equality.
Tests
Add public regression coverage verifying that:
Scope
Python only. No statistical formula changes, no public API changes, no R changes, and no
rtichoke_vizchanges.CI note
The initial run stopped at Ruff because the refactor left four stale imports in
gains.py; those are cleanup-only and do not affect the semantic change.