Skip to content

Commit 5dc6ba0

Browse files
igerberclaude
andcommitted
Address PR igerber#344 CI review R3 P3: clarify rank_control_units synthetic_weight docstring
Docstring at prep.py:841 now states synthetic_weight is an informational heuristic from a single-pass uncentered Frank-Wolfe solve, does NOT factor into quality_score ranking, and is NOT the canonical SDID unit weight. Directs users who want canonical SDID weights to SyntheticDiD.fit(). Aligns the public contract with the implementation notes already added in the prior round. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3e63058 commit 5dc6ba0

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

diff_diff/prep.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -838,7 +838,10 @@ def rank_control_units(
838838
- quality_score: Combined quality score (0-1, higher is better)
839839
- outcome_trend_score: Pre-treatment outcome trend similarity
840840
- covariate_score: Covariate match score (NaN if no covariates)
841-
- synthetic_weight: Weight from synthetic control optimization
841+
- synthetic_weight: Informational heuristic weight from a single-pass
842+
uncentered Frank-Wolfe solve; does NOT factor into ``quality_score``
843+
(ranking) and is NOT the canonical SDID unit weight. For canonical
844+
SDID weights use ``SyntheticDiD.fit()``.
842845
- pre_trend_rmse: RMSE of pre-treatment outcome vs treated mean
843846
- is_required: Whether unit was in require_units
844847

0 commit comments

Comments
 (0)