# Repeated-outcome longitudinal TMLE This study validates `LTMLE` with `outcome=Repeated(["Y1", "Y2", "Y3"])`. A repeated outcome is measured at every node and is not absorbing. The parameter is the mean $E[Y_h^d]$ for each plan $d$ and horizon $h$. The section [repeated outcomes](../longitudinal-tmle.md#repeated-outcomes) states the estimator and its exact-law evidence. The declared comparator is R [`ltmle`](https://www.jstatsoft.org/article/view/v081i01) 1.3-0 with `survivalOutcome = FALSE`. Its runs are pending as TRACKER Study queue item 14(c). This page holds Python property evidence, with comparator runs pending. The study reports each unique parameter once. The dynamic plan equals the always-treated plan at the first node, so its mean and contrast at $t = 1$ duplicate those of `always`. A fast test checks that identity. The duplicates are not cells of this study. ## What was compared The R column states the declared design of the pending comparator runs. | setting | `cleverly` | R `ltmle` | | --- | --- | --- | | datasets | 2,400 censored panels of 3,000 rows from `make_longitudinal_repeated`, with three nodes | the identical rows | | fit | one fit with `outcome=Repeated(["Y1", "Y2", "Y3"])` | one fit of the prefix through $Y_h$ for each horizon $h$. The earlier $Y_s$ are covariates | | plans | `never`, `always`, and a rule that treats at node 1 and then treats exactly when the previous outcome was positive | the same three plans | | reported parameters | the mean of each plan at $t = 1, 2, 3$, and the contrasts of the other two plans against `never` | the same, 13 unique cells | | mechanism | the generating treatment and censoring probabilities, read through a declared design width, with `g_bounds` from the study constant | a numeric `gform` with the same probabilities and bounds | | sequential regressions | follower-stratified quasibinomial regressions on the history at each node | the same family, with a main-terms `Qform` on the same history at each block | | fitting | in sample, `n_folds = 1` | in sample | | intervals | pointwise 95% Wald from the influence curve | `variance.method = "ic"` | | initial estimate | not published. A single-fold fit exposes no untargeted plug-in | a second call with `gcomp = TRUE`, the sequential regression with no fluctuation | The `cleverly` rows publish no initial estimate. The first node's regression of the targeted chain is a different quantity from the R column. The R plug-in is the value a targeting step must move away from. Each truth is an exact enumeration of the binary law (`cleverly.datasets.repeated_truth`). `tests/studies/ltmle_repeated_law.py` repeats the enumeration on the observed-data law. The baseline covariate $W$ takes the values 0, 1 and 2. The law has depth two. The treatment, censoring and outcome at node $t$ read $Y_{t-2}$. The covariate $L_t$ reads $L_{t-1}$, and the outcome $Y_t$ also reads $L_{t-1}$. These terms act at $t = 3$ only. The first node's regression on $W$ has one design column for three cells, so its fluctuation is not zero. At $t = 3$ the smallest cumulative mechanism product among the units that follow a plan is 0.025, for the rule. Every plan keeps at least 11% of the units to the last node. At most 2.2% of the followers have a cumulative product below 0.05. ## Accuracy against known truth | law | estimand | what was tested | implementation | bias (99% interval) | coverage | SE ratio | result | | --- | --- | --- | --- | --- | --- | --- | --- | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ate_regimen[always vs never @ t=1]` | difference in the mean of the repeated outcome between the plans "treat at every time" against "treat at no time" at horizon t = 1 | `cleverly` | -0.000963 to 0.000622 | 0.9442 | 0.9791 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ate_regimen[always vs never @ t=2]` | difference in the mean of the repeated outcome between the plans "treat at every time" against "treat at no time" at horizon t = 2 | `cleverly` | -0.0012 to 0.000960 | 0.9529 | 1.0090 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ate_regimen[always vs never @ t=3]` | difference in the mean of the repeated outcome between the plans "treat at every time" against "treat at no time" at horizon t = 3 | `cleverly` | -0.0012 to 0.0021 | 0.9483 | 0.9930 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ate_regimen[treat then treat after an outcome vs never @ t=2]` | difference in the mean of the repeated outcome between the plans "treat at the first time, then treat at each later time after an outcome of one" against "treat at no time" at horizon t = 2 | `cleverly` | -0.0013 to 0.000903 | 0.9567 | 1.0266 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ate_regimen[treat then treat after an outcome vs never @ t=3]` | difference in the mean of the repeated outcome between the plans "treat at the first time, then treat at each later time after an outcome of one" against "treat at no time" at horizon t = 3 | `cleverly` | -0.0018 to 0.0018 | 0.9387 | 0.9625 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[always @ t=1]` | mean of the repeated outcome under the plan treat at every time at horizon t = 1 | `cleverly` | -0.000482 to 0.000368 | 0.9496 | 0.9964 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[always @ t=2]` | mean of the repeated outcome under the plan treat at every time at horizon t = 2 | `cleverly` | -0.0011 to 0.000149 | 0.9454 | 0.9993 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[always @ t=3]` | mean of the repeated outcome under the plan treat at every time at horizon t = 3 | `cleverly` | -0.000869 to 0.0012 | 0.9387 | 0.9786 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[never @ t=1]` | mean of the repeated outcome under the plan treat at no time at horizon t = 1 | `cleverly` | -0.000552 to 0.000779 | 0.9508 | 0.9786 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[never @ t=2]` | mean of the repeated outcome under the plan treat at no time at horizon t = 2 | `cleverly` | -0.0012 to 0.000485 | 0.9433 | 1.0014 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[never @ t=3]` | mean of the repeated outcome under the plan treat at no time at horizon t = 3 | `cleverly` | -0.0015 to 0.0010 | 0.9529 | 0.9863 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[treat then treat after an outcome @ t=2]` | mean of the repeated outcome under the plan treat at the first time, then treat at each later time after an outcome of one at horizon t = 2 | `cleverly` | -0.0013 to 0.000135 | 0.9475 | 1.0089 | pass | | three-time-point law with a three-valued baseline covariate, a repeated binary outcome that reads the two previous nodes, and monotone censoring | `ey_regimen[treat then treat after an outcome @ t=3]` | mean of the repeated outcome under the plan treat at the first time, then treat at each later time after an outcome of one at horizon t = 3 | `cleverly` | -0.0014 to 0.000993 | 0.9325 | 0.9647 | pass | ## Agreement with the canonical implementation Python property evidence, with comparator runs pending. The R `ltmle` 1.3-0 runs have not run on the declared draws, so this study publishes no paired verdict. The change that registers them adds the paired verdicts and the parity gate `test_cleverly_reproduces_r_targeting_move_in_every_cell`. ## Theory properties | property | cell | role | what was tested | what must hold | measured | result | | --- | --- | --- | --- | --- | --- | --- | | `double_robustness` | `always_t3__both_wrong` | control | mean under always at horizon t = 3, repeated binary outcome: outcome regression of cell means on the baseline covariate alone, and intercept-only treatment and censoring mechanisms | bias interval must fall entirely outside the margin, and inside it around the exact limit of that fit, with the reported standard error still on the scale of the empirical spread | bias 0.0223 to 0.0260, margin 0.0068, SE ratio 1.2594, bias around its limit -0.0023 to 0.0014, margin 0.0068 | pass | | `double_robustness` | `always_t3__mechanism_correct` | positive | mean under always at horizon t = 3, repeated binary outcome: only the treatment and censoring mechanisms are correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0024 to 0.0011, margin 0.0062, SE ratio 0.9739 | pass | | `double_robustness` | `always_t3__outcome_correct` | positive | mean under always at horizon t = 3, repeated binary outcome: only the outcome regression is correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0031 to 0.000245, margin 0.0061, SE ratio 1.1849 | pass | | `double_robustness` | `always_vs_never_t3__both_wrong` | control | contrast of always against never at horizon t = 3, repeated binary outcome: outcome regression of cell means on the baseline covariate alone, and intercept-only treatment and censoring mechanisms | bias interval must fall entirely outside the margin, and inside it around the exact limit of that fit, with the reported standard error still on the scale of the empirical spread | bias 0.0747 to 0.0801, margin 0.0099, SE ratio 1.1883, bias around its limit -0.0043 to 0.0012, margin 0.0099 | pass | | `double_robustness` | `always_vs_never_t3__mechanism_correct` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: only the treatment and censoring mechanisms are correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0028 to 0.0028, margin 0.0101, SE ratio 1.0117 | pass | | `double_robustness` | `always_vs_never_t3__outcome_correct` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: only the outcome regression is correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0045 to 0.000955, margin 0.0099, SE ratio 1.0961 | pass | | `double_robustness` | `never_t3__both_wrong` | control | mean under never at horizon t = 3, repeated binary outcome: outcome regression of cell means on the baseline covariate alone, and intercept-only treatment and censoring mechanisms | bias interval must fall entirely outside the margin, and inside it around the exact limit of that fit, with the reported standard error still on the scale of the empirical spread | bias -0.0553 to -0.0513, margin 0.0072, SE ratio 1.1182, bias around its limit -0.000913 to 0.0031, margin 0.0072 | pass | | `double_robustness` | `never_t3__mechanism_correct` | positive | mean under never at horizon t = 3, repeated binary outcome: only the treatment and censoring mechanisms are correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0029 to 0.0016, margin 0.0080, SE ratio 1.0258 | pass | | `double_robustness` | `never_t3__outcome_correct` | positive | mean under never at horizon t = 3, repeated binary outcome: only the outcome regression is correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0019 to 0.0025, margin 0.0079, SE ratio 1.0069 | pass | | `double_robustness` | `rule_t3__both_wrong` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: outcome regression of cell means on the baseline covariate alone, and intercept-only treatment and censoring mechanisms | bias interval must fall entirely outside the margin, and inside it around the exact limit of that fit, with the reported standard error still on the scale of the empirical spread | bias -0.0224 to -0.0190, margin 0.0063, SE ratio 0.9095, bias around its limit -0.0019 to 0.0016, margin 0.0063 | pass | | `double_robustness` | `rule_t3__mechanism_correct` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: only the treatment and censoring mechanisms are correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0024 to 0.0019, margin 0.0079, SE ratio 0.9913 | pass | | `double_robustness` | `rule_t3__outcome_correct` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: only the outcome regression is correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0021 to 0.0019, margin 0.0073, SE ratio 0.7386 | pass | | `double_robustness` | `rule_vs_never_t3__both_wrong` | control | contrast of the rule against never at horizon t = 3, repeated binary outcome: outcome regression of cell means on the baseline covariate alone, and intercept-only treatment and censoring mechanisms | bias interval must fall entirely outside the margin, and inside it around the exact limit of that fit, with the reported standard error still on the scale of the empirical spread | bias 0.0299 to 0.0352, margin 0.0096, SE ratio 1.0343, bias around its limit -0.0038 to 0.0014, margin 0.0096 | pass | | `double_robustness` | `rule_vs_never_t3__mechanism_correct` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: only the treatment and censoring mechanisms are correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0026 to 0.0035, margin 0.0111, SE ratio 1.0223 | pass | | `double_robustness` | `rule_vs_never_t3__outcome_correct` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: only the outcome regression is correctly specified | bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread | bias -0.0034 to 0.0026, margin 0.0109, SE ratio 0.8856 | pass | | `full_history_necessity` | `always_t3__full_history` | positive | mean under always at horizon t = 3, repeated binary outcome: an outcome regression of cell means on the full history, with intercept-only mechanisms, so the regression alone carries the estimate | bias interval inside the equivalence margin | bias -0.000845 to 0.000921, margin 0.0030 | pass | | `full_history_necessity` | `always_t3__markov_history` | control | mean under always at horizon t = 3, repeated binary outcome: the same fit with the outcome regression on the previous node only, [W, Y_{t-1}, L_t], and the same intercept-only mechanisms | bias interval outside the margin, and inside it around the exact limit of the previous-node fit | bias 0.0204 to 0.0223, margin 0.0032, bias around its limit -0.0010 to 0.000904, margin 0.0032 | pass | | `full_history_necessity` | `always_vs_never_t3__full_history` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: an outcome regression of cell means on the full history, with intercept-only mechanisms, so the regression alone carries the estimate | bias interval inside the equivalence margin | bias -0.0011 to 0.0018, margin 0.0048 | pass | | `full_history_necessity` | `always_vs_never_t3__markov_history` | control | contrast of always against never at horizon t = 3, repeated binary outcome: the same fit with the outcome regression on the previous node only, [W, Y_{t-1}, L_t], and the same intercept-only mechanisms | bias interval outside the margin, and inside it around the exact limit of the previous-node fit | bias 0.0693 to 0.0722, margin 0.0049, bias around its limit -0.0011 to 0.0018, margin 0.0049 | pass | | `full_history_necessity` | `never_t3__full_history` | positive | mean under never at horizon t = 3, repeated binary outcome: an outcome regression of cell means on the full history, with intercept-only mechanisms, so the regression alone carries the estimate | bias interval inside the equivalence margin | bias -0.0014 to 0.000824, margin 0.0038 | pass | | `full_history_necessity` | `never_t3__markov_history` | control | mean under never at horizon t = 3, repeated binary outcome: the same fit with the outcome regression on the previous node only, [W, Y_{t-1}, L_t], and the same intercept-only mechanisms | bias interval outside the margin, and inside it around the exact limit of the previous-node fit | bias -0.0505 to -0.0484, margin 0.0035, bias around its limit -0.0014 to 0.000680, margin 0.0035 | pass | | `full_history_necessity` | `rule_t3__full_history` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: an outcome regression of cell means on the full history, with intercept-only mechanisms, so the regression alone carries the estimate | bias interval inside the equivalence margin | bias -0.000663 to 0.0015, margin 0.0037 | pass | | `full_history_necessity` | `rule_t3__markov_history` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the same fit with the outcome regression on the previous node only, [W, Y_{t-1}, L_t], and the same intercept-only mechanisms | bias interval outside the margin, and inside it around the exact limit of the previous-node fit | bias -0.0270 to -0.0251, margin 0.0032, bias around its limit -0.000623 to 0.0013, margin 0.0032 | pass | | `full_history_necessity` | `rule_vs_never_t3__full_history` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: an outcome regression of cell means on the full history, with intercept-only mechanisms, so the regression alone carries the estimate | bias interval inside the equivalence margin | bias -0.000855 to 0.0023, margin 0.0053 | pass | | `full_history_necessity` | `rule_vs_never_t3__markov_history` | control | contrast of the rule against never at horizon t = 3, repeated binary outcome: the same fit with the outcome regression on the previous node only, [W, Y_{t-1}, L_t], and the same intercept-only mechanisms | bias interval outside the margin, and inside it around the exact limit of the previous-node fit | bias 0.0220 to 0.0248, margin 0.0047, bias around its limit -0.000710 to 0.0021, margin 0.0047 | pass | | `interval_calibration` | `always_t1__estimated_mechanisms` | positive | mean under always at horizon t = 1, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9433 to 0.9560, SE ratio 0.9852 to 1.0279 | pass | | `interval_calibration` | `always_t2__estimated_mechanisms` | positive | always-treat risk at horizon two: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9414 to 0.9543, SE ratio 0.9757 to 1.0168 | pass | | `interval_calibration` | `always_t3__continuous_gaussian` | positive | mean under always at horizon t = 3, repeated binary outcome: n = 8,000, the three-value outcome law, least-squares outcome regressions, main-terms logistic mechanisms estimated | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9393 to 0.9524, SE ratio 0.9738 to 1.0138 | pass | | `interval_calibration` | `always_t3__crossfit_boosted` | positive | mean under always at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, a depth-2 booster of 50 rounds with an L2 penalty for both outcome learners | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9406 to 0.9536, SE ratio 0.9811 to 1.0218 | pass | | `interval_calibration` | `always_t3__crossfit_glm` | positive | mean under always at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9372 to 0.9505, SE ratio 0.9800 to 1.0222 | pass | | `interval_calibration` | `always_t3__estimated_mechanisms` | positive | mean under always at horizon t = 3, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9396 to 0.9527, SE ratio 0.9744 to 1.0143 | pass | | `interval_calibration` | `always_t3__noise_control` | control | mean under always at horizon t = 3, repeated binary outcome: a declared scale of independent noise is added to each estimate | the SE-ratio interval must fall below the calibration band | coverage 0.8230 to 0.8446, SE ratio 0.6879 to 0.7162 | pass | | `interval_calibration` | `always_t3__shrunken_se_control` | control | mean under always at horizon t = 3, repeated binary outcome: the reported standard errors are multiplied by a declared factor below one | the SE-ratio interval must fall below the calibration band | coverage 0.8153 to 0.8373, SE ratio 0.6821 to 0.7106 | pass | | `interval_calibration` | `always_vs_never_t1__estimated_mechanisms` | positive | contrast of always against never at horizon t = 1, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9361 to 0.9496, SE ratio 0.9616 to 1.0010 | pass | | `interval_calibration` | `always_vs_never_t2__estimated_mechanisms` | positive | contrast of always against never at horizon t = 2, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9426 to 0.9554, SE ratio 0.9803 to 1.0200 | pass | | `interval_calibration` | `always_vs_never_t3__continuous_gaussian` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: n = 8,000, the three-value outcome law, least-squares outcome regressions, main-terms logistic mechanisms estimated | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9414 to 0.9543, SE ratio 0.9796 to 1.0200 | pass | | `interval_calibration` | `always_vs_never_t3__crossfit_boosted` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, a depth-2 booster of 50 rounds with an L2 penalty for both outcome learners | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9402 to 0.9532, SE ratio 0.9821 to 1.0225 | pass | | `interval_calibration` | `always_vs_never_t3__crossfit_glm` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9417 to 0.9545, SE ratio 0.9747 to 1.0145 | pass | | `interval_calibration` | `always_vs_never_t3__estimated_mechanisms` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9435 to 0.9562, SE ratio 0.9808 to 1.0221 | pass | | `interval_calibration` | `always_vs_never_t3__noise_control` | control | contrast of always against never at horizon t = 3, repeated binary outcome: a declared scale of independent noise is added to each estimate | the SE-ratio interval must fall below the calibration band | coverage 0.8264 to 0.8477, SE ratio 0.6960 to 0.7257 | pass | | `interval_calibration` | `always_vs_never_t3__shrunken_se_control` | control | contrast of always against never at horizon t = 3, repeated binary outcome: the reported standard errors are multiplied by a declared factor below one | the SE-ratio interval must fall below the calibration band | coverage 0.8146 to 0.8365, SE ratio 0.6868 to 0.7153 | pass | | `interval_calibration` | `never_t1__estimated_mechanisms` | positive | mean under never at horizon t = 1, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9373 to 0.9507, SE ratio 0.9601 to 1.0001 | pass | | `interval_calibration` | `never_t2__estimated_mechanisms` | positive | mean under never at horizon t = 2, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9419 to 0.9548, SE ratio 0.9841 to 1.0251 | pass | | `interval_calibration` | `never_t3__continuous_gaussian` | positive | mean under never at horizon t = 3, repeated binary outcome: n = 8,000, the three-value outcome law, least-squares outcome regressions, main-terms logistic mechanisms estimated | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9459 to 0.9583, SE ratio 0.9864 to 1.0274 | pass | | `interval_calibration` | `never_t3__crossfit_boosted` | positive | mean under never at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, a depth-2 booster of 50 rounds with an L2 penalty for both outcome learners | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9441 to 0.9567, SE ratio 0.9877 to 1.0297 | pass | | `interval_calibration` | `never_t3__crossfit_glm` | positive | mean under never at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9422 to 0.9550, SE ratio 0.9726 to 1.0129 | pass | | `interval_calibration` | `never_t3__estimated_mechanisms` | positive | mean under never at horizon t = 3, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9458 to 0.9582, SE ratio 0.9768 to 1.0176 | pass | | `interval_calibration` | `never_t3__noise_control` | control | mean under never at horizon t = 3, repeated binary outcome: a declared scale of independent noise is added to each estimate | the SE-ratio interval must fall below the calibration band | coverage 0.8165 to 0.8384, SE ratio 0.6824 to 0.7105 | pass | | `interval_calibration` | `never_t3__shrunken_se_control` | control | mean under never at horizon t = 3, repeated binary outcome: the reported standard errors are multiplied by a declared factor below one | the SE-ratio interval must fall below the calibration band | coverage 0.8157 to 0.8376, SE ratio 0.6837 to 0.7121 | pass | | `interval_calibration` | `rule_t2__estimated_mechanisms` | positive | mean under the rule that treats after an outcome at horizon t = 2, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9418 to 0.9547, SE ratio 0.9909 to 1.0329 | pass | | `interval_calibration` | `rule_t3__continuous_gaussian` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: n = 8,000, the three-value outcome law, least-squares outcome regressions, main-terms logistic mechanisms estimated | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9396 to 0.9527, SE ratio 0.9666 to 1.0077 | pass | | `interval_calibration` | `rule_t3__crossfit_boosted` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, a depth-2 booster of 50 rounds with an L2 penalty for both outcome learners | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9396 to 0.9527, SE ratio 0.9885 to 1.0307 | pass | | `interval_calibration` | `rule_t3__crossfit_glm` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9409 to 0.9538, SE ratio 0.9794 to 1.0214 | pass | | `interval_calibration` | `rule_t3__estimated_mechanisms` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9370 to 0.9504, SE ratio 0.9642 to 1.0039 | pass | | `interval_calibration` | `rule_t3__noise_control` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: a declared scale of independent noise is added to each estimate | the SE-ratio interval must fall below the calibration band | coverage 0.8173 to 0.8391, SE ratio 0.6858 to 0.7153 | pass | | `interval_calibration` | `rule_t3__shrunken_se_control` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the reported standard errors are multiplied by a declared factor below one | the SE-ratio interval must fall below the calibration band | coverage 0.8125 to 0.8346, SE ratio 0.6748 to 0.7025 | pass | | `interval_calibration` | `rule_vs_never_t2__estimated_mechanisms` | positive | contrast of the rule against never at horizon t = 2, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9466 to 0.9589, SE ratio 0.9877 to 1.0282 | pass | | `interval_calibration` | `rule_vs_never_t3__continuous_gaussian` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: n = 8,000, the three-value outcome law, least-squares outcome regressions, main-terms logistic mechanisms estimated | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9425 to 0.9552, SE ratio 0.9862 to 1.0270 | pass | | `interval_calibration` | `rule_vs_never_t3__crossfit_boosted` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, a depth-2 booster of 50 rounds with an L2 penalty for both outcome learners | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9437 to 0.9563, SE ratio 0.9875 to 1.0286 | pass | | `interval_calibration` | `rule_vs_never_t3__crossfit_glm` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: n = 8,000, five folds, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9431 to 0.9558, SE ratio 0.9793 to 1.0201 | pass | | `interval_calibration` | `rule_vs_never_t3__estimated_mechanisms` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: n = 8,000, in sample, main-terms logistic mechanisms estimated, quasibinomial GLM outcome regressions, every horizon | SE-ratio and coverage intervals inside the calibration bands | coverage 0.9421 to 0.9549, SE ratio 0.9741 to 1.0141 | pass | | `interval_calibration` | `rule_vs_never_t3__noise_control` | control | contrast of the rule against never at horizon t = 3, repeated binary outcome: a declared scale of independent noise is added to each estimate | the SE-ratio interval must fall below the calibration band | coverage 0.8255 to 0.8469, SE ratio 0.6952 to 0.7249 | pass | | `interval_calibration` | `rule_vs_never_t3__shrunken_se_control` | control | contrast of the rule against never at horizon t = 3, repeated binary outcome: the reported standard errors are multiplied by a declared factor below one | the SE-ratio interval must fall below the calibration band | coverage 0.8182 to 0.8400, SE ratio 0.6821 to 0.7102 | pass | | `outcome_history_necessity` | `always_t3__history_free` | control | mean under always at horizon t = 3, repeated binary outcome: an end-of-study fit with no earlier outcome in any history, cell-mean outcome regressions: the earlier outcomes are confounders, and the fit leaves them out of the outcome regression and both mechanisms | bias interval outside the margin, and inside it around the coarse g-formula | bias 0.0163 to 0.0201, margin 0.0065, bias around its limit -0.000997 to 0.0029, margin 0.0065 | pass | | `outcome_history_necessity` | `always_t3__repeated` | positive | mean under always at horizon t = 3, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000740 to 0.0028, margin 0.0059 | pass | | `outcome_history_necessity` | `always_vs_never_t3__history_free` | control | contrast of always against never at horizon t = 3, repeated binary outcome: an end-of-study fit with no earlier outcome in any history, cell-mean outcome regressions: the earlier outcomes are confounders, and the fit leaves them out of the outcome regression and both mechanisms | bias interval outside the margin, and inside it around the coarse g-formula | bias 0.0570 to 0.0627, margin 0.0095, bias around its limit -0.0028 to 0.0029, margin 0.0095 | pass | | `outcome_history_necessity` | `always_vs_never_t3__repeated` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.0021 to 0.0034, margin 0.0093 | pass | | `outcome_history_necessity` | `never_t3__history_free` | control | mean under never at horizon t = 3, repeated binary outcome: an end-of-study fit with no earlier outcome in any history, cell-mean outcome regressions: the earlier outcomes are confounders, and the fit leaves them out of the outcome regression and both mechanisms | bias interval outside the margin, and inside it around the coarse g-formula | bias -0.0438 to -0.0395, margin 0.0073, bias around its limit -0.0013 to 0.0030, margin 0.0073 | pass | | `outcome_history_necessity` | `never_t3__repeated` | positive | mean under never at horizon t = 3, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.0018 to 0.0026, margin 0.0073 | pass | | `repeated_outcome_necessity` | `always_t2__absorbing_reading` | control | always-treat risk at horizon two: an end-of-study fit of the maximum of the outcomes through the horizon, cell means with a GLM on an unseen cell | bias interval outside the margin, and inside it around the maximum's own truth | bias 0.1123 to 0.1131, margin 0.0020, bias around its limit -0.000626 to 0.000169, margin 0.0020 | pass | | `repeated_outcome_necessity` | `always_t2__repeated` | positive | always-treat risk at horizon two: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000606 to 0.000107, margin 0.0018 | pass | | `repeated_outcome_necessity` | `always_t3__absorbing_reading` | control | mean under always at horizon t = 3, repeated binary outcome: an end-of-study fit of the maximum of the outcomes through the horizon, cell means with a GLM on an unseen cell | bias interval outside the margin, and inside it around the maximum's own truth | bias 0.1648 to 0.1660, margin 0.0032, bias around its limit -0.000676 to 0.000586, margin 0.0032 | pass | | `repeated_outcome_necessity` | `always_t3__repeated` | positive | mean under always at horizon t = 3, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000343 to 0.000828, margin 0.0030 | pass | | `repeated_outcome_necessity` | `never_t2__absorbing_reading` | control | mean under never at horizon t = 2, repeated binary outcome: an end-of-study fit of the maximum of the outcomes through the horizon, cell means with a GLM on an unseen cell | bias interval outside the margin, and inside it around the maximum's own truth | bias 0.1406 to 0.1416, margin 0.0025, bias around its limit -0.000640 to 0.000349, margin 0.0025 | pass | | `repeated_outcome_necessity` | `never_t2__repeated` | positive | mean under never at horizon t = 2, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000646 to 0.000323, margin 0.0025 | pass | | `repeated_outcome_necessity` | `never_t3__absorbing_reading` | control | mean under never at horizon t = 3, repeated binary outcome: an end-of-study fit of the maximum of the outcomes through the horizon, cell means with a GLM on an unseen cell | bias interval outside the margin, and inside it around the maximum's own truth | bias 0.1769 to 0.1781, margin 0.0030, bias around its limit -0.000798 to 0.000386, margin 0.0030 | pass | | `repeated_outcome_necessity` | `never_t3__repeated` | positive | mean under never at horizon t = 3, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000917 to 0.000528, margin 0.0037 | pass | | `repeated_outcome_necessity` | `rule_t2__absorbing_reading` | control | mean under the rule that treats after an outcome at horizon t = 2, repeated binary outcome: an end-of-study fit of the maximum of the outcomes through the horizon, cell means with a GLM on an unseen cell | bias interval outside the margin, and inside it around the maximum's own truth | bias 0.1123 to 0.1132, margin 0.0022, bias around its limit -0.000590 to 0.000257, margin 0.0022 | pass | | `repeated_outcome_necessity` | `rule_t2__repeated` | positive | mean under the rule that treats after an outcome at horizon t = 2, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000592 to 0.000214, margin 0.0021 | pass | | `repeated_outcome_necessity` | `rule_t3__absorbing_reading` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: an end-of-study fit of the maximum of the outcomes through the horizon, cell means with a GLM on an unseen cell | bias interval outside the margin, and inside it around the maximum's own truth | bias 0.2234 to 0.2245, margin 0.0028, bias around its limit -0.000733 to 0.000354, margin 0.0028 | pass | | `repeated_outcome_necessity` | `rule_t3__repeated` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the repeated-outcome fit, mechanisms estimated, GLM outcome regressions | bias interval inside the equivalence margin | bias -0.000594 to 0.000724, margin 0.0034 | pass | | `rule_necessity` | `rule_t2__declared` | positive | mean under the rule that treats after an outcome at horizon t = 2, repeated binary outcome: the declared covariate-dependent rule assigns both treatment arms | bias interval inside the equivalence margin | bias -0.0011 to 0.000817, margin 0.0042 | pass | | `rule_necessity` | `rule_t2__reversed_rule` | control | mean under the rule that treats after an outcome at horizon t = 2, repeated binary outcome: the same fit treats after a zero outcome instead of after an outcome of one | bias interval must fall entirely outside the margin, and inside it around the reversed rule's own truth | bias -0.0570 to -0.0551, margin 0.0040, bias around its limit -0.000339 to 0.0015, margin 0.0040 | pass | | `rule_necessity` | `rule_t3__declared` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the declared covariate-dependent rule assigns both treatment arms | bias interval inside the equivalence margin | bias -0.0017 to 0.0017, margin 0.0073 | pass | | `rule_necessity` | `rule_t3__reversed_rule` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the same fit treats after a zero outcome instead of after an outcome of one | bias interval must fall entirely outside the margin, and inside it around the reversed rule's own truth | bias -0.0608 to -0.0578, margin 0.0064, bias around its limit -0.0014 to 0.0015, margin 0.0064 | pass | | `simultaneous_coverage` | `all_reported__pointwise_joint_control` | control | every parameter the calibration fit reports: the pointwise 95% intervals of the same fits, read jointly | joint coverage upper endpoint must fall below the nominal rate | joint coverage 0.5830 to 0.6114 | pass | | `simultaneous_coverage` | `all_reported__simultaneous_band` | positive | every parameter the calibration fit reports: the max-t multiplier band over every estimand the law reports, from the same-row centered influence curves | joint coverage interval inside the calibration coverage band | joint coverage 0.9339 to 0.9476 | pass | | `small_sample_calibration` | `always_t3__continuous_gaussian` | diagnostic | mean under always at horizon t = 3, repeated binary outcome: the in-sample continuous calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.8986 to 0.9744 | reported | | `small_sample_calibration` | `always_t3__estimated_mechanisms` | diagnostic | mean under always at horizon t = 3, repeated binary outcome: the in-sample binary calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9470 to 1.0289 | reported | | `small_sample_calibration` | `always_vs_never_t3__continuous_gaussian` | diagnostic | contrast of always against never at horizon t = 3, repeated binary outcome: the in-sample continuous calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9102 to 0.9898 | reported | | `small_sample_calibration` | `always_vs_never_t3__estimated_mechanisms` | diagnostic | contrast of always against never at horizon t = 3, repeated binary outcome: the in-sample binary calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9254 to 1.0030 | reported | | `small_sample_calibration` | `never_t3__continuous_gaussian` | diagnostic | mean under never at horizon t = 3, repeated binary outcome: the in-sample continuous calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9200 to 0.9998 | reported | | `small_sample_calibration` | `never_t3__estimated_mechanisms` | diagnostic | mean under never at horizon t = 3, repeated binary outcome: the in-sample binary calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9088 to 0.9852 | reported | | `small_sample_calibration` | `rule_t3__continuous_gaussian` | diagnostic | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the in-sample continuous calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9261 to 1.0087 | reported | | `small_sample_calibration` | `rule_t3__estimated_mechanisms` | diagnostic | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the in-sample binary calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9789 to 1.0658 | reported | | `small_sample_calibration` | `rule_vs_never_t3__continuous_gaussian` | diagnostic | contrast of the rule against never at horizon t = 3, repeated binary outcome: the in-sample continuous calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9162 to 1.0025 | reported | | `small_sample_calibration` | `rule_vs_never_t3__estimated_mechanisms` | diagnostic | contrast of the rule against never at horizon t = 3, repeated binary outcome: the in-sample binary calibration arm at n = 2,000 | reported, no verdict | SE ratio 0.9588 to 1.0429 | reported | | `targeting_necessity` | `always_t3__targeted` | positive | mean under always at horizon t = 3, repeated binary outcome: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting | bias interval inside the equivalence margin | bias 0.000520 to 0.0037, margin 0.0062 | pass | | `targeting_necessity` | `always_t3__untargeted` | control | mean under always at horizon t = 3, repeated binary outcome: the iterated cell means on the baseline covariate among the units that followed the plan, with no fluctuation step | bias interval must fall entirely outside the margin, and inside it around the baseline-only plug-in limit | bias 0.0247 to 0.0282, margin 0.0068, bias around its limit 0.000122 to 0.0036, margin 0.0068 | pass | | `targeting_necessity` | `always_vs_never_t3__targeted` | positive | contrast of always against never at horizon t = 3, repeated binary outcome: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting | bias interval inside the equivalence margin | bias -0.000067 to 0.0051, margin 0.0101 | pass | | `targeting_necessity` | `always_vs_never_t3__untargeted` | control | contrast of always against never at horizon t = 3, repeated binary outcome: the iterated cell means on the baseline covariate among the units that followed the plan, with no fluctuation step | bias interval must fall entirely outside the margin, and inside it around the baseline-only plug-in limit | bias 0.0779 to 0.0831, margin 0.0100, bias around its limit -0.0010 to 0.0041, margin 0.0100 | pass | | `targeting_necessity` | `never_t3__targeted` | positive | mean under never at horizon t = 3, repeated binary outcome: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting | bias interval inside the equivalence margin | bias -0.0024 to 0.0016, margin 0.0078 | pass | | `targeting_necessity` | `never_t3__untargeted` | control | mean under never at horizon t = 3, repeated binary outcome: the iterated cell means on the baseline covariate among the units that followed the plan, with no fluctuation step | bias interval must fall entirely outside the margin, and inside it around the baseline-only plug-in limit | bias -0.0558 to -0.0522, margin 0.0070, bias around its limit -0.0015 to 0.0021, margin 0.0070 | pass | | `targeting_necessity` | `rule_t3__targeted` | positive | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting | bias interval inside the equivalence margin | bias -0.000839 to 0.0031, margin 0.0076 | pass | | `targeting_necessity` | `rule_t3__untargeted` | control | mean under the rule that treats after an outcome at horizon t = 3, repeated binary outcome: the iterated cell means on the baseline covariate among the units that followed the plan, with no fluctuation step | bias interval must fall entirely outside the margin, and inside it around the baseline-only plug-in limit | bias -0.0224 to -0.0193, margin 0.0059, bias around its limit -0.000531 to 0.0025, margin 0.0059 | pass | | `targeting_necessity` | `rule_vs_never_t3__targeted` | positive | contrast of the rule against never at horizon t = 3, repeated binary outcome: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting | bias interval inside the equivalence margin | bias -0.0013 to 0.0043, margin 0.0109 | pass | | `targeting_necessity` | `rule_vs_never_t3__untargeted` | control | contrast of the rule against never at horizon t = 3, repeated binary outcome: the iterated cell means on the baseline covariate among the units that followed the plan, with no fluctuation step | bias interval must fall entirely outside the margin, and inside it around the baseline-only plug-in limit | bias 0.0308 to 0.0355, margin 0.0090, bias around its limit -0.0016 to 0.0030, margin 0.0090 | pass | The property families draw from their own streams of `make_longitudinal_repeated`. Their draws differ from the primary draws. The table above lists every cell. This section states what each family tests. | family | what it tests | size | | --- | --- | --- | | `interval_calibration` | pointwise coverage and SE ratio inside the calibration bands. The cells are in-sample with estimated mechanisms, cross-fitted GLM, cross-fitted boosted trees, and a continuous outcome. The in-sample cells cover every horizon, $t = 1, 2, 3$. A shrunken-SE control and a noise control must fail the same bands | $n$ = 8,000, 8,000 replications | | `small_sample_calibration` | the in-sample and continuous arms refitted at $n$ = 2,000. The role is `diagnostic`. The table reports these cells and no rule gates them | $n$ = 2,000, 2,000 replications | | `double_robustness` | `mechanism_correct`: bias inside the margin when the outcome regression reads $W$ alone and the mechanisms are correct. `outcome_correct`: bias inside the margin when the outcome regression reads the full history and the mechanisms read $W$ alone. `both_wrong`: the control with a $W$ regression and intercept-only mechanisms must miss the truth and reach its exact limit. A static plan has no fluctuation in this fit. The rule has one, and it moves the limit by 0.046 empirical standard deviations of the rule's mean at $t = 3$ (0.031 for its contrast). Replications cannot separate that move from the plug-in limit, because the 99% bias interval at 1,400 replications is 0.069 standard deviations wide on each side. The claim that the rule's fluctuation moves the fit rests on `test_the_limit_functional_reproduces_cleverly_on_a_sample`, which matches a fit to the limit functional on one sample to $10^{-10}$ | $n$ = 2,000, 1,400 replications | | `targeting_necessity` | the targeted fit against a plug-in with no fluctuation. The plug-in must move the estimate by 0.25 empirical standard deviations of the targeted arm and reach the exact $W$-only g-formula | $n$ = 2,000, 1,600 replications | | `simultaneous_coverage` | the default band over all 15 reported parameters, against its pointwise control | $n$ = 8,000, 8,000 replications | | `rule_necessity` | the declared rule against its reverse, which treats after a zero outcome. The reversed rule must miss the declared rule's truth and reach the truth of the reversed rule | $n$ = 2,000, 2,000 replications | | `repeated_outcome_necessity` (N1) | an absorbing reading of the outcome, which fits $\max_{s \le h} Y_s$. The control must miss the truth and reach the cumulative-maximum limit. Its outcome learner is a cell-means regression with a GLM fallback on an unseen cell | $n$ = 8,000, 2,800 replications | | `outcome_history_necessity` (N2) | a fit that leaves every $Y_s$ out of the history, so the earlier outcomes act as confounders. The control must miss the truth and reach the coarse g-formula limit | $n$ = 2,000, 1,200 replications | | `full_history_necessity` (N3) | an outcome regression on the full history against one on $[W, Y_{t-1}, L_t]$, both with intercept-only mechanisms. The control must miss the truth and reach the exact limit of the single-fold fit | $n$ = 8,000, 1,200 replications | The in-sample cells use $n$ = 8,000. At $n$ = 2,000 the standard error runs a few percent below the sampling spread for the rule. The ratio moves toward 1 at the $1/n$ rate of in-sample fitting. The module `tests/studies/ltmle_repeated_properties.py` records the pilots behind these sizes. The `small_sample_calibration` cells report the shortfall at $n$ = 2,000. The calibration budget is the smallest multiple of 400 replications at which the 28 gated cells pass together with probability 0.95. The probability pools the cells of each arm. It takes the arm mean from the pilot and adds the noise of that mean. It sets the spread between cells at its 80% upper bound of 0.0059. The probability is 0.952 at 8,000 replications. The sizes of the other families come from their bias checks. Each family has its own mean. The spread between cells is at its 80% upper bound of 0.0325. Each family takes the smallest multiple of 200 replications at which it passes with probability 0.991, the sixth root of 0.95. The six families then pass together with probability 0.961. A reading that gives every family one mean gives 0.994 at these sizes. ## Measured values Names beginning `margin:` are thresholds declared before the run. Everything else is measured from the committed results and checked at the precision printed. | quantity | value | source | | --- | --- | --- | | `replicates` | 2400 | primary replications per scenario | | `n` | 3000 | observations per primary replication | | `independent_tests_total` | 13 | implementation-estimand tests against the truth | | `independent_tests_passed` | 13 | of those, passing | | `paired_tests_total` | 0 | paired comparisons with R `ltmle` | | `paired_tests_passed` | 0 | of those, passing | | `property_cells_total` | 97 | repeated-sampling property cells, reported cells excluded | | `property_cells_passed` | 97 | cells whose own and family verdicts pass | | `property_cells_reported` | 10 | cells reported and not gated, as the `small_sample_calibration` diagnostics | | `max_standardized_bias` | 0.0426 | largest absolute primary bias in empirical standard deviations | | `min_coverage` | 0.9325 | lowest measured primary-study coverage | | `min_se_ratio_ci_lower` | 0.9286 | lowest bootstrap primary SE-ratio endpoint | | `max_se_ratio_ci_upper` | 1.0674 | highest bootstrap primary SE-ratio endpoint | | `margin:alpha` | 0.0500 | nominal size of the reported intervals, and the family level of the rule | | `margin:bootstrap_replicates` | 10000 | resamples behind every bootstrap interval | | `margin:calibration_coverage_lower` | 0.9200 | calibration-cell coverage band, lower limit | | `margin:calibration_coverage_upper` | 0.9800 | calibration-cell coverage band, upper limit | | `margin:calibration_noninferiority` | 0.0500 | largest external-comparison calibration excess bound | | `margin:calibration_se_ratio_lower` | 0.9300 | calibration-cell SE-ratio band, lower limit | | `margin:calibration_se_ratio_upper` | 1.0700 | calibration-cell SE-ratio band, upper limit | | `margin:confidence_level` | 0.9900 | confidence level of every Monte Carlo interval | | `margin:coverage_floor` | 0.9000 | validity floor the coverage lower endpoint must clear | | `margin:coverage_noninferiority` | -0.0250 | smallest external-comparison coverage difference bound | | `margin:excluded_slope` | -0.2500 | slower rate a root-n interval must exclude. No cell of this study reads it | | `margin:minimum_power` | 0.8000 | rejection lower bound a power cell must clear. No cell of this study reads it | | `margin:nominal_coverage` | 0.9500 | nominal coverage those intervals claim | | `margin:over_coverage_ceiling` | 0.9900 | above this, coverage is conservative rather than invalid | | `margin:paired_difference` | 0.1500 | paired similarity margin, in pooled empirical standard deviations | | `margin:rmse_noninferiority` | 1.1000 | largest external-comparison RMSE ratio bound | | `margin:root_n_slope` | -0.5000 | contraction rate root-n asymptotics predict. No cell of this study reads it | | `margin:root_n_slope_lower` | -0.6250 | accepted root-n slope band, lower limit. No cell of this study reads it | | `margin:root_n_slope_upper` | -0.3750 | accepted root-n slope band, upper limit. No cell of this study reads it | | `margin:se_ratio_sanity_lower` | 0.8000 | SE-ratio screen, lower limit | | `margin:se_ratio_sanity_upper` | 1.2000 | SE-ratio screen, upper limit | | `margin:standardized_bias` | 0.2500 | bias equivalence margin, in empirical standard deviations | | `margin:type_i_ceiling` | 0.1000 | the rate a positive cell must bound and a control must exceed. No cell of this study reads it | | `margin:union_model_se_lower` | 0.1000 | union-model SE-ratio screen, lower limit | | `margin:union_model_se_upper` | 10 | union-model SE-ratio screen, upper limit | | `margin:shrunken_se_factor` | 0.7000 | factor the shrunken-SE control multiplies the standard error by | | `margin:necessity_displacement` | 0.2500 | smallest paired displacement of a necessity control, in empirical standard deviations | | `margin:targeting_displacement` | 0.2500 | smallest displacement of the untargeted plug-in from the targeted fit, in empirical standard deviations of the targeted arm | ## Limitations | limit | what it means for use | | --- | --- | | one law with three nodes and a binary outcome | the continuous outcome has one calibration arm, and the rate in $n$ is not measured | | the comparator runs are pending | the `targeting_necessity` family carries the claim that targeting moves the estimate. The pending parity gate `test_cleverly_reproduces_r_targeting_move_in_every_cell` adds a check against R. In each cell the root-mean-square difference from R must stay below 1% of R's root-mean-square targeting move. No replication may differ from R by more than 1% of R's mean standard error | | the declared comparison fixes the mechanisms | the paired margins alone cannot separate an untargeted plug-in from the targeted fit, because the plug-in is nearly unbiased on this law. The comparison does not claim parity for learned treatment or censoring models | | the in-sample interval is mildly anticonservative at $n$ = 2,000 | the `small_sample_calibration` cells report the shortfall and no rule gates them. The gated calibration cells draw $n$ = 8,000. The primary cells draw $n$ = 3,000 and answer to the coverage floor | | the cross-fitted learners are one GLM and one shallow booster | the study does not cover a larger learner library or a different fold count | | the absorbing, history-free and Markov controls read exact limits of this law | they show that the repeated reading, the earlier outcomes and the depth of the outcome regression matter here. They do not bound the difference on another law | | positivity is bounded away from zero, not absent | at $t = 3$ the smallest cumulative mechanism product among followers is 0.025, and at most 2.2% of the followers fall below 0.05. No cell validates active truncation or near-positivity behavior | | the second-order dependence acts at node 3 only | the law has three nodes, so the depth-two terms act at the last node. No cell reads a longer history | | no recurrent-event or truncation-by-death law | the parameter is the mean in a population where censoring is prevented | The causal interpretation requires consistency, sequential exchangeability, longitudinal positivity, and conditionally independent censoring. ## Reproduction The [fixture README](https://github.com/esbraun/cleverly-tmle/blob/main/tests/canonical/ltmle_repeated/README.md) gives the regeneration commands. The [manifest](https://github.com/esbraun/cleverly-tmle/blob/main/tests/canonical/ltmle_repeated/manifest.json) records the pending comparator, the declared R sources, the seeds and the artifact hashes. The [replications](https://github.com/esbraun/cleverly-tmle/blob/main/tests/canonical/ltmle_repeated/replicates.csv.gz) and [property results](https://github.com/esbraun/cleverly-tmle/blob/main/tests/canonical/ltmle_repeated/properties.csv) carry every published row.