{
  "title": "M1-LONG selection funnel + research-only IPW sensitivity (origin\u22642019)",
  "version": "v2.2",
  "pack_id": "wave2b-m1-long-selection-ipw-v2.2",
  "generated_at": "2026-09-10T13:32:04.775654+00:00",
  "research_only": true,
  "label": "RESEARCH_ATTRITION_ADJUSTMENT",
  "score_authorized_M1": false,
  "L1_untouched": true,
  "changelog": [
    {
      "version": "v1-buggy",
      "sha256": "fd25d065aad5b1e6fd2be0e2824b2d4c5eca6c45fa814f376564d8abb34b287b",
      "artifact": "m1long_v2_selection_ipw_sensitivity-v1-buggy.json",
      "hub_docs": "/docs/wave2b-m1-long-selection-ipw-v1-buggy.json",
      "bug": "share_strong_negative_miss incorrectly used (pago-pexp)>=2 on codes {1,3,5}, so strong==any_negative. Correct strong = Better(1)->Worse(5) ONLY = cell[1][5]."
    },
    {
      "version": "v2",
      "fixes": [
        "strong_negative_miss := cell PEXP=1,PAGO=5 only",
        "explicit completers vs IPW-eligible estimands",
        "OPEN notes: postweight categorical SMDs; overlap on retained only; 5pp/trunc exploratory"
      ],
      "response_to_review": "0a6e24af-2c88-450e-9ae0-81f4d2b79cd8"
    },
    {
      "version": "v2.1",
      "adds": [
        "full post-weight continuous+categorical SMDs vs eligible N1 for modeled SEX/EDUC/REGION/PAGO/PEXP (+ AGE/month_index, origin_year/month, METHOD)",
        "full eligible-cohort propensity overlap diagnostics (N1 all / retained / dropped + common-support heuristic)"
      ],
      "response_to_review": [
        "0420513f-89f4-45da-b002-1ad0e945b562",
        "50fd44a2-6e2b-4fdf-8610-445558ed5deb",
        "decf348a / d8bffa5f hub relays"
      ]
    },
    {
      "version": "v2.2",
      "adds": [
        "paired-key joint mask for IDPREV/DATEPR (no independent dropna misalignment)",
        "strict unmatched-weight error (fail-closed; removed default (1,1,1) fallback)",
        "truncation_predeclared renamed to truncation_exploratory (history-preserving)"
      ],
      "preserves": "v2.1 numerical outputs unchanged on successful path; v2.1 artifacts retained",
      "response_to_review": [
        "689c7bc9-0f58-407c-9330-952099feb0f4",
        "e51944ed-d878-4afa-8c93-fbf3bfc35867",
        "astra:8bfe3017-eaba-4e47-a258-91b33f46249d"
      ]
    }
  ],
  "open_review_points": {
    "postweight_balance_AGE_month_only": "ADDRESSED in v2.1 \u2014 post-weight continuous SMDs for AGE/month_index plus full categorical level SMDs for modeled SEX/EDUC/REGION/PAGO/PEXP (and origin_year/month/METHOD) vs eligible N1 are published.",
    "overlap_retained_not_all_eligible": "ADDRESSED in v2.1 \u2014 overlap diagnostics now cover full eligible N1, retained, and dropped propensity summaries plus a common-support heuristic.",
    "estimand_completers_vs_ipw_eligible": "ADDRESSED in v2 wording \u2014 unweighted 3\u00d73 is completers (N3); IPW targets eligible cohort (N1) via observed-covariate attrition adjustment.",
    "five_pp_thresholds_and_truncation": "OPEN/EXPLORATORY \u2014 5pp share-move and 1\u201399/5\u201395 truncation labeled exploratory absent a timestamped predeclared protocol artifact.",
    "independent_replication": "OPEN \u2014 Claude/Codex independent source replication still required; ChatGPT formal /research credential path still blocked (use Claude private channel or James-approved transfer).",
    "missing_covariates_sda": "OPEN \u2014 income/employment/party/HHsize absent from pilot extract; SDA re-extract required; no proxies invented."
  },
  "response_to": [
    "0420513f-89f4-45da-b002-1ad0e945b562",
    "50fd44a2-6e2b-4fdf-8610-445558ed5deb",
    "0a6e24af-2c88-450e-9ae0-81f4d2b79cd8",
    "4d425973-1c56-4f58-955c-199c12fffd2b",
    "452be9e1-e330-459a-9885-e413dc9196fa",
    "astra:8a1b5844-0d4f-4215-a926-432bd572816b",
    "prior_diag:54396241-9636-4773-9f13-ee4ff8a06ee8"
  ],
  "funnel": {
    "label": "authorized_origin_le2019_funnel_v2",
    "target_population_estimand": "TWO DISTINCT research estimands (do not conflate): (A) Completers / retained-pair estimand \u2014 unweighted 3\u00d73 among N3=1424 usable ~12m same-person chains with origin in 201810\u2013201912 (Michigan SCA fresh-cell). (B) IPW eligible-cohort estimand \u2014 RESEARCH_ATTRITION_ADJUSTMENT that reweights retained completers toward the N1 eligible origin cohort (valid PEXP) using observed covariates only. Neither is a US adult population statement.",
    "manageability_definition_note": "5pp absolute share-move and truncation bands (1\u201399 / 5\u201395) are labeled EXPLORATORY unless a timestamped predeclared protocol artifact exists. No such protocol timestamp was located at v2 publish; treat thresholds as exploratory sensitivity flags, not confirmatory gate criteria.",
    "manageability_definition_predeclared": "EXPLORATORY sensitivity flags (not confirmatory): (i) funnel stages reproducible; (ii) IPW ESS / N_retained >= 0.50 under truncation bands; (iii) post-weight |SMD| on modeled covariates mostly <0.20; (iv) 3x3 shares move <5pp absolute under IPW vs unweighted. Manageability \u2260 population validity; unmeasured selection remains possible. See manageability_definition_note.",
    "stages_mutually_exclusive": [
      {
        "stage": "A_source_cohort_invalid_or_missing_origin_PEXP",
        "description": "Fresh SAMPLE in window with PEXP not in {1,3,5} (DK/refusal/other). Preceding source-cohort accounting \u2014 NOT double-counted inside N1=5793.",
        "n": 164,
        "of_base": "fresh_any_in_window",
        "base_n": 5957
      },
      {
        "stage": "B_missing_second_interview_or_reint2_linkage_failure",
        "description": "N1 keys that never appear as (IDPREV,DATEPR) of SAMPLE\u2208{2,4,7}. Do not label all of this 'attrition' alone \u2014 mixes nonresponse, design, linkage.",
        "n": 2983,
        "of_base": "N1",
        "base_n": 5793
      },
      {
        "stage": "C_missing_third_interview_or_unusable_pair",
        "description": "Reached N2 but not in published usable 11\u201313m pairs (linkage/gap/PAGO/chain).",
        "n": 1386,
        "of_base": "N2",
        "base_n": 2810
      },
      {
        "stage": "D_retained_usable_pair_N3",
        "description": "Published v2 authorized pairs (gap 11\u201313).",
        "n": 1424,
        "of_base": "N1",
        "base_n": 5793
      }
    ],
    "cross_check_attr_json": {
      "N_fresh_any": 5957,
      "N_invalid_pexp": 164,
      "N1": 5793,
      "N2": 2810,
      "N3": 1424,
      "attr_file_N1": 5793,
      "attr_file_N2": 2810,
      "attr_file_N3": 1424,
      "N1_plus_invalid_equals_fresh_any": true,
      "B_plus_C_plus_D_equals_N1": true
    },
    "unknown_reasons_flag": "Within B and C, extract lacks disposition codes distinguishing refusal vs unable-to-contact vs design skip vs item loss. Those remain UNKNOWN \u2014 not invented.",
    "idprev2_note": "IDPREV2/DATEPR2 blank in extract; chains use IDPREV/DATEPR only."
  },
  "official_labels": {
    "SEX": {
      "official_labels": {
        "1": "Male",
        "2": "Female",
        "8": "DK (not observed in extract)",
        "9": "NA/refused (not observed in extract)"
      },
      "codes_present_in_extract": [
        "1",
        "2"
      ],
      "dk_refusal_codes_8_9_present": [],
      "note": "Substantive analysis uses {1,3,5} for PEXP/PAGO; 8/9 are DK/refusal \u2014 not midpoints."
    },
    "EDUC": {
      "official_labels": {
        "1": "Grade 0-8 / no HS",
        "2": "High school incomplete",
        "3": "High school graduate",
        "4": "Some college",
        "5": "College degree",
        "6": "Graduate study",
        "8": "DK",
        "9": "NA/refused",
        " ": "Blank/missing in extract"
      },
      "codes_present_in_extract": [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "<blank/NA>"
      ],
      "dk_refusal_codes_8_9_present": [],
      "note": "Substantive analysis uses {1,3,5} for PEXP/PAGO; 8/9 are DK/refusal \u2014 not midpoints."
    },
    "PEXP": {
      "official_labels": {
        "1": "Better a year from now",
        "3": "Same",
        "5": "Worse a year from now",
        "8": "DK",
        "9": "NA/refused"
      },
      "codes_present_in_extract": [
        "1",
        "3",
        "5",
        "8",
        "9"
      ],
      "dk_refusal_codes_8_9_present": [
        "8",
        "9"
      ],
      "note": "Substantive analysis uses {1,3,5} for PEXP/PAGO; 8/9 are DK/refusal \u2014 not midpoints."
    },
    "PAGO": {
      "official_labels": {
        "1": "Better than a year ago",
        "3": "Same",
        "5": "Worse than a year ago",
        "8": "DK",
        "9": "NA/refused"
      },
      "codes_present_in_extract": [
        "1",
        "3",
        "5",
        "8",
        "9"
      ],
      "dk_refusal_codes_8_9_present": [
        "8",
        "9"
      ],
      "note": "Substantive analysis uses {1,3,5} for PEXP/PAGO; 8/9 are DK/refusal \u2014 not midpoints."
    }
  },
  "unavailable_covariates": {
    "income": "NOT in pilot extract \u2014 re-extract from SDA required",
    "employment": "NOT in pilot extract \u2014 re-extract from SDA required",
    "party_id": "NOT in pilot extract \u2014 re-extract from SDA required",
    "household_size": "NOT in pilot extract \u2014 re-extract from SDA required",
    "finance_beyond_PAGO_PEXP": "ICS present but not used as income proxy",
    "note": "No proxies invented. REGION/AGE/SEX/EDUC/PAGO/PEXP/METHOD available."
  },
  "pre_adjustment_balance": {
    "continuous": {
      "AGE": {
        "retained": {
          "n": 1407,
          "missing": 17,
          "mean": 55.3866382373845,
          "std": 16.354615515133332
        },
        "dropped": {
          "n": 4320,
          "missing": 49,
          "mean": 48.12430555555556,
          "std": 16.746355935514206
        },
        "std_diff_retained_minus_dropped": 0.43876803818569093
      },
      "month_index": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "mean": 24233.405898876405,
          "std": 4.066505321547535
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "mean": 24232.764248111696,
          "std": 4.340824803121353
        },
        "std_diff_retained_minus_dropped": 0.15255960420537223
      },
      "YYYYMM_raw_numeric_NOT_interval": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "mean": 201892.92275280898,
          "std": 33.393220418657066
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "mean": 201885.18631265734,
          "std": 39.82207550127374
        },
        "std_diff_retained_minus_dropped": 0.21052395695720677,
        "warning": "YYYYMM as integer is NOT a real time index (201812\u2192201901 jumps +89). Use month_index."
      }
    },
    "categorical": {
      "SEX": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "1": 0.6671348314606742,
            "2": 0.33286516853932585
          },
          "counts": {
            "1": 950,
            "2": 474
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "1": 0.6054016937514305,
            "2": 0.39459830624856945
          },
          "counts": {
            "1": 2645,
            "2": 1724
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 0.6671348314606742,
            "prop_dropped": 0.6054016937514305,
            "diff": 0.06173313770924371,
            "std_diff": 0.12858887892046725,
            "label": "Male"
          },
          "2": {
            "prop_retained": 0.33286516853932585,
            "prop_dropped": 0.39459830624856945,
            "diff": -0.0617331377092436,
            "std_diff": -0.128588878920467,
            "label": "Female"
          }
        }
      },
      "EDUC": {
        "retained": {
          "n": 1422,
          "missing": 2,
          "proportions": {
            "1": 0.009142053445850914,
            "2": 0.013361462728551337,
            "3": 0.12728551336146274,
            "4": 0.270042194092827,
            "5": 0.30168776371308015,
            "6": 0.27848101265822783
          },
          "counts": {
            "1": 13,
            "2": 19,
            "3": 181,
            "4": 384,
            "5": 429,
            "6": 396
          }
        },
        "dropped": {
          "n": 4337,
          "missing": 32,
          "proportions": {
            "1": 0.01660133732995158,
            "2": 0.02813004380908462,
            "3": 0.19114595342402582,
            "4": 0.2819921604795942,
            "5": 0.29006225501498734,
            "6": 0.19206824994235647
          },
          "counts": {
            "1": 72,
            "2": 122,
            "3": 829,
            "4": 1223,
            "5": 1258,
            "6": 833
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 0.009142053445850914,
            "prop_dropped": 0.01660133732995158,
            "diff": -0.0074592838841006665,
            "std_diff": -0.0662110254595153,
            "label": "Grade 0-8 / no HS"
          },
          "2": {
            "prop_retained": 0.013361462728551337,
            "prop_dropped": 0.02813004380908462,
            "diff": -0.014768581080533283,
            "std_diff": -0.10375524405477822,
            "label": "High school incomplete"
          },
          "3": {
            "prop_retained": 0.12728551336146274,
            "prop_dropped": 0.19114595342402582,
            "diff": -0.06386044006256308,
            "std_diff": -0.17520914707245705,
            "label": "High school graduate"
          },
          "4": {
            "prop_retained": 0.270042194092827,
            "prop_dropped": 0.2819921604795942,
            "diff": -0.011949966386767208,
            "std_diff": -0.026734575635908652,
            "label": "Some college"
          },
          "5": {
            "prop_retained": 0.30168776371308015,
            "prop_dropped": 0.29006225501498734,
            "diff": 0.011625508698092812,
            "std_diff": 0.025472300196800635,
            "label": "College degree"
          },
          "6": {
            "prop_retained": 0.27848101265822783,
            "prop_dropped": 0.19206824994235647,
            "diff": 0.08641276271587137,
            "std_diff": 0.2047870093492796,
            "label": "Graduate study"
          }
        }
      },
      "REGION": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "1": 0.2535112359550562,
            "2": 0.26264044943820225,
            "3": 0.13412921348314608,
            "4": 0.3497191011235955
          },
          "counts": {
            "1": 361,
            "2": 374,
            "3": 191,
            "4": 498
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "1": 0.22888532845044632,
            "2": 0.25223163195239184,
            "3": 0.14305333028152895,
            "4": 0.37582970931563286
          },
          "counts": {
            "1": 1000,
            "2": 1102,
            "3": 625,
            "4": 1642
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 0.2535112359550562,
            "prop_dropped": 0.22888532845044632,
            "diff": 0.024625907504609884,
            "std_diff": 0.057586533691510476,
            "label": null
          },
          "2": {
            "prop_retained": 0.26264044943820225,
            "prop_dropped": 0.25223163195239184,
            "diff": 0.010408817485810407,
            "std_diff": 0.02380841895311298,
            "label": null
          },
          "3": {
            "prop_retained": 0.13412921348314608,
            "prop_dropped": 0.14305333028152895,
            "diff": -0.00892411679838287,
            "std_diff": -0.025830266609953103,
            "label": null
          },
          "4": {
            "prop_retained": 0.3497191011235955,
            "prop_dropped": 0.37582970931563286,
            "diff": -0.026110608192037366,
            "std_diff": -0.05432656231658901,
            "label": null
          }
        }
      },
      "PAGO": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "1": 0.5287921348314607,
            "3": 0.28019662921348315,
            "5": 0.19101123595505617
          },
          "counts": {
            "1": 753,
            "3": 399,
            "5": 272
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "1": 0.5518425268940261,
            "3": 0.24834058136873427,
            "5": 0.19844357976653695,
            "8": 0.0011444266422522317,
            "9": 0.00022888532845044633
          },
          "counts": {
            "1": 2411,
            "3": 1085,
            "5": 867,
            "8": 5,
            "9": 1
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 0.5287921348314607,
            "prop_dropped": 0.5518425268940261,
            "diff": -0.023050392062565428,
            "std_diff": -0.04626376395515954,
            "label": "Better than a year ago"
          },
          "3": {
            "prop_retained": 0.28019662921348315,
            "prop_dropped": 0.24834058136873427,
            "diff": 0.03185604784474888,
            "std_diff": 0.07229245826399659,
            "label": "Same"
          },
          "5": {
            "prop_retained": 0.19101123595505617,
            "prop_dropped": 0.19844357976653695,
            "diff": -0.007432343811480779,
            "std_diff": -0.018769811701344997,
            "label": "Worse than a year ago"
          },
          "8": {
            "prop_retained": 0.0,
            "prop_dropped": 0.0011444266422522317,
            "diff": -0.0011444266422522317,
            "std_diff": -0.04786936087266541,
            "label": "DK"
          },
          "9": {
            "prop_retained": 0.0,
            "prop_dropped": 0.00022888532845044633,
            "diff": -0.00022888532845044633,
            "std_diff": -0.021398024625545648,
            "label": "NA/refused"
          }
        }
      },
      "PEXP": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "1": 0.3785112359550562,
            "3": 0.5042134831460674,
            "5": 0.1172752808988764
          },
          "counts": {
            "1": 539,
            "3": 718,
            "5": 167
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "1": 0.44884412909132526,
            "3": 0.4648661020828565,
            "5": 0.08628976882581826
          },
          "counts": {
            "1": 1961,
            "3": 2031,
            "5": 377
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 0.3785112359550562,
            "prop_dropped": 0.44884412909132526,
            "diff": -0.07033289313626906,
            "std_diff": -0.14317566936296086,
            "label": "Better a year from now"
          },
          "3": {
            "prop_retained": 0.5042134831460674,
            "prop_dropped": 0.4648661020828565,
            "diff": 0.039347381063210896,
            "std_diff": 0.0787934847794486,
            "label": "Same"
          },
          "5": {
            "prop_retained": 0.1172752808988764,
            "prop_dropped": 0.08628976882581826,
            "diff": 0.030985512073058136,
            "std_diff": 0.10261295046232334,
            "label": "Worse a year from now"
          }
        }
      },
      "origin_year": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "2018": 0.14185393258426968,
            "2019": 0.8581460674157303
          },
          "counts": {
            "2018": 202,
            "2019": 1222
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "2018": 0.22247653925383382,
            "2019": 0.7775234607461662
          },
          "counts": {
            "2018": 972,
            "2019": 3397
          }
        },
        "level_diffs": {
          "2018": {
            "prop_retained": 0.14185393258426968,
            "prop_dropped": 0.22247653925383382,
            "diff": -0.08062260666956414,
            "std_diff": -0.2100258895486432,
            "label": null
          },
          "2019": {
            "prop_retained": 0.8581460674157303,
            "prop_dropped": 0.7775234607461662,
            "diff": 0.08062260666956411,
            "std_diff": 0.21002588954864312,
            "label": null
          }
        }
      },
      "origin_month": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "1": 0.0702247191011236,
            "2": 0.06811797752808989,
            "3": 0.0800561797752809,
            "4": 0.0723314606741573,
            "5": 0.07654494382022473,
            "6": 0.0723314606741573,
            "7": 0.06741573033707865,
            "8": 0.07654494382022473,
            "9": 0.06952247191011236,
            "10": 0.10112359550561797,
            "11": 0.1151685393258427,
            "12": 0.1306179775280899
          },
          "counts": {
            "1": 100,
            "2": 97,
            "3": 114,
            "4": 103,
            "5": 109,
            "6": 103,
            "7": 96,
            "8": 109,
            "9": 99,
            "10": 144,
            "11": 164,
            "12": 186
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "1": 0.06500343327992676,
            "2": 0.068207827878233,
            "3": 0.06340123598077363,
            "4": 0.0656900892652781,
            "5": 0.06546120393682765,
            "6": 0.06614785992217899,
            "7": 0.06729228656443122,
            "8": 0.06454566262302587,
            "9": 0.0656900892652781,
            "10": 0.14511329823758298,
            "11": 0.13572899977111466,
            "12": 0.12771801327534904
          },
          "counts": {
            "1": 284,
            "2": 298,
            "3": 277,
            "4": 287,
            "5": 286,
            "6": 289,
            "7": 294,
            "8": 282,
            "9": 287,
            "10": 634,
            "11": 593,
            "12": 558
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 0.0702247191011236,
            "prop_dropped": 0.06500343327992676,
            "diff": 0.005221285821196839,
            "std_diff": 0.020796226130621254,
            "label": null
          },
          "2": {
            "prop_retained": 0.06811797752808989,
            "prop_dropped": 0.068207827878233,
            "diff": -8.985035014311138e-05,
            "std_diff": -0.0003565133068070913,
            "label": null
          },
          "3": {
            "prop_retained": 0.0800561797752809,
            "prop_dropped": 0.06340123598077363,
            "diff": 0.01665494379450727,
            "std_diff": 0.06457813285451298,
            "label": null
          },
          "4": {
            "prop_retained": 0.0723314606741573,
            "prop_dropped": 0.0656900892652781,
            "diff": 0.006641371408879201,
            "std_diff": 0.02620379908815534,
            "label": null
          },
          "5": {
            "prop_retained": 0.07654494382022473,
            "prop_dropped": 0.06546120393682765,
            "diff": 0.011083739883397073,
            "std_diff": 0.04316599344614969,
            "label": null
          },
          "6": {
            "prop_retained": 0.0723314606741573,
            "prop_dropped": 0.06614785992217899,
            "diff": 0.00618360075197831,
            "std_diff": 0.02435999833520654,
            "label": null
          },
          "7": {
            "prop_retained": 0.06741573033707865,
            "prop_dropped": 0.06729228656443122,
            "diff": 0.000123443772647433,
            "std_diff": 0.0004925258868241529,
            "label": null
          },
          "8": {
            "prop_retained": 0.07654494382022473,
            "prop_dropped": 0.06454566262302587,
            "diff": 0.011999281197198855,
            "std_diff": 0.046873383864066004,
            "label": null
          },
          "9": {
            "prop_retained": 0.06952247191011236,
            "prop_dropped": 0.0656900892652781,
            "diff": 0.0038323826448342646,
            "std_diff": 0.015264701718180656,
            "label": null
          },
          "10": {
            "prop_retained": 0.10112359550561797,
            "prop_dropped": 0.14511329823758298,
            "diff": -0.04398970273196501,
            "std_diff": -0.13418198935193118,
            "label": null
          },
          "11": {
            "prop_retained": 0.1151685393258427,
            "prop_dropped": 0.13572899977111466,
            "diff": -0.02056046044527196,
            "std_diff": -0.06210352920965606,
            "label": null
          },
          "12": {
            "prop_retained": 0.1306179775280899,
            "prop_dropped": 0.12771801327534904,
            "diff": 0.002899964252740861,
            "std_diff": 0.008646733075747542,
            "label": null
          }
        }
      },
      "METHOD": {
        "retained": {
          "n": 1424,
          "missing": 0,
          "proportions": {
            "1": 1.0
          },
          "counts": {
            "1": 1424
          }
        },
        "dropped": {
          "n": 4369,
          "missing": 0,
          "proportions": {
            "1": 1.0
          },
          "counts": {
            "1": 4369
          }
        },
        "level_diffs": {
          "1": {
            "prop_retained": 1.0,
            "prop_dropped": 1.0,
            "diff": 0.0,
            "std_diff": null,
            "label": null
          }
        }
      }
    }
  },
  "smd_thresholds_note": ".10/.20 are descriptive flags, not universal validity thresholds.",
  "retention_logit_diagnostic": {
    "method": "sklearn LogisticRegression L2 C=1.0 lbfgs",
    "converged": true,
    "n_iter": 36,
    "n": 5793,
    "base_rate": 0.24581391334369065,
    "loglik": -3060.9593059509607,
    "loglik_null": -3230.6944273059044,
    "mcfadden_pseudo_r2": 0.05253827781431086,
    "coefficients": {
      "intercept": -1.5955721382639438,
      "age": 0.432908050397561,
      "month_index": 0.15436156163478107,
      "sex_2": -0.3518195032185103,
      "sex_<NA>": 0.0,
      "educ_2": -0.08863412661343364,
      "educ_3": 0.16296866225073786,
      "educ_4": 0.6028819969614064,
      "educ_5": 0.6586526434655791,
      "educ_6": 0.9144323469129187,
      "educ_<NA>": -0.6581314318325556,
      "region_2": -0.056114671109021776,
      "region_3": -0.22453210938441254,
      "region_4": -0.16805142588145047,
      "region_<NA>": 0.0,
      "pago_3": -0.06887844082285502,
      "pago_5": -0.05326417737949764,
      "pago_8": -0.5191775837644553,
      "pago_9": -0.2263266573214601,
      "pago_<NA>": 0.0,
      "pexp_3": 0.12233650769083239,
      "pexp_5": 0.291974885820027,
      "pexp_<NA>": 0.0
    },
    "predictors": "AGE, month_index (scaled) + SEX/EDUC/REGION/PAGO/PEXP dummies; origin_year omitted (collinear with month_index)",
    "caveat": "Low McFadden R\u00b2 does NOT establish ignorable selection. Observed-covariate IPW is RESEARCH_ATTRITION_ADJUSTMENT only \u2014 never official survey weights / never population inference."
  },
  "ipw_sensitivity": {
    "label": "RESEARCH_ATTRITION_ADJUSTMENT",
    "stabilization": "w = mean(p_retained) / clip(p_hat,0.05,0.95)",
    "truncation_bands": [
      "none(stabilized)",
      "1-99",
      "5-95"
    ],
    "truncation_policy": "EXPLORATORY",
    "truncation_exploratory": [
      "none(stabilized)",
      "1-99",
      "5-95"
    ],
    "truncation_predeclared": false,
    "truncation_predeclared_note": "v2.1 field truncation_predeclared listed band names and contradicted the exploratory disclaimer; v2.2 renames to truncation_exploratory and sets truncation_predeclared=false (history-preserving additive correction).",
    "weight_distributions": {
      "stabilized_raw": {
        "label": "stabilized_raw",
        "n": 1424,
        "min": 0.44267752452493053,
        "p5": 0.6078373431553549,
        "p25": 0.7941624271666521,
        "median": 1.0438371507175086,
        "p75": 1.3831507933714886,
        "p95": 2.1570123999837736,
        "max": 4.5987771606068,
        "mean": 1.171263386793647,
        "std": 0.5340724811412979,
        "ess": 1179.0308729613953,
        "ess_over_n": 0.8279711186526653
      },
      "trunc_1_99": {
        "label": "trunc_1_99",
        "n": 1424,
        "min": 0.5181303404507785,
        "p5": 0.6078373431553549,
        "p25": 0.7941624271666521,
        "median": 1.0438371507175086,
        "p75": 1.3831507933714886,
        "p95": 2.1570123999837736,
        "max": 3.028743984143013,
        "mean": 1.1654597807804226,
        "std": 0.5063931551515553,
        "ess": 1197.9893345072162,
        "ess_over_n": 0.8412846450191125
      },
      "trunc_5_95": {
        "label": "trunc_5_95",
        "n": 1424,
        "min": 0.6078373431553549,
        "p5": 0.6080200741224159,
        "p25": 0.7941624271666521,
        "median": 1.0438371507175086,
        "p75": 1.3831507933714886,
        "p95": 2.1565460541399535,
        "max": 2.1570123999837736,
        "mean": 1.1440196368008353,
        "std": 0.4367375185669864,
        "ess": 1242.9776215480777,
        "ess_over_n": 0.8728775432219646
      }
    },
    "postweight_balance_vs_eligible": {
      "continuous": {
        "AGE": {
          "eligible_mean": 49.908503579535534,
          "eligible_std": 16.9405798049471,
          "retained_unweighted_mean": 55.3866382373845,
          "retained_unweighted_std": 16.354615515133332,
          "retained_ipw_stabilized_mean": 49.92966032025635,
          "retained_ipw_stabilized_std": 17.12431389030376,
          "abs_bias_unweighted_vs_eligible": 5.478134657848969,
          "abs_bias_ipw_vs_eligible": 0.0211567407208193,
          "smd_unweighted_vs_eligible": 0.329013627276379,
          "smd_ipw_vs_eligible": 0.0012421252904327741
        },
        "month_index": {
          "eligible_mean": 24232.92197479717,
          "eligible_std": 4.2835999692067315,
          "retained_unweighted_mean": 24233.405898876405,
          "retained_unweighted_std": 4.066505321547535,
          "retained_ipw_stabilized_mean": 24232.98161665212,
          "retained_ipw_stabilized_std": 4.04431052872487,
          "abs_bias_unweighted_vs_eligible": 0.4839240792352939,
          "abs_bias_ipw_vs_eligible": 0.059641854950314155,
          "smd_unweighted_vs_eligible": 0.11586934322636054,
          "smd_ipw_vs_eligible": 0.014317456880071671
        }
      },
      "categorical": {
        "SEX": {
          "modeled_in_logit": true,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "1": {
              "label": "Male",
              "prop_eligible": 0.6205765579147247,
              "prop_retained_unweighted": 0.6671348314606742,
              "prop_retained_ipw_stabilized": 0.6285323013152145,
              "smd_unweighted_vs_eligible": 0.09734269966293366,
              "smd_ipw_vs_eligible": 0.01642997044784865,
              "abs_smd_unweighted": 0.09734269966293366,
              "abs_smd_ipw": 0.01642997044784865
            },
            "2": {
              "label": "Female",
              "prop_eligible": 0.37942344208527534,
              "prop_retained_unweighted": 0.33286516853932585,
              "prop_retained_ipw_stabilized": 0.3714676986847856,
              "smd_unweighted_vs_eligible": -0.09734269966293353,
              "smd_ipw_vs_eligible": -0.01642997044784842,
              "abs_smd_unweighted": 0.09734269966293353,
              "abs_smd_ipw": 0.01642997044784842
            }
          },
          "max_abs_smd_unweighted": 0.09734269966293366,
          "max_abs_smd_ipw": 0.01642997044784865,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "EDUC": {
          "modeled_in_logit": true,
          "eligible_n": 5759,
          "eligible_missing": 34,
          "retained_n": 1422,
          "retained_missing": 2,
          "levels": {
            "1": {
              "label": "Grade 0-8 / no HS",
              "prop_eligible": 0.014759506858829659,
              "prop_retained_unweighted": 0.009142053445850914,
              "prop_retained_ipw_stabilized": 0.013157494619655926,
              "smd_unweighted_vs_eligible": -0.05171269677495236,
              "smd_ipw_vs_eligible": -0.013655542836018348,
              "abs_smd_unweighted": 0.05171269677495236,
              "abs_smd_ipw": 0.013655542836018348
            },
            "2": {
              "label": "High school incomplete",
              "prop_eligible": 0.02448341725994096,
              "prop_retained_unweighted": 0.013361462728551337,
              "prop_retained_ipw_stabilized": 0.02505356578398823,
              "smd_unweighted_vs_eligible": -0.0816963963941505,
              "smd_ipw_vs_eligible": 0.0036684710321622997,
              "abs_smd_unweighted": 0.0816963963941505,
              "abs_smd_ipw": 0.0036684710321622997
            },
            "3": {
              "label": "High school graduate",
              "prop_eligible": 0.1753776697343289,
              "prop_retained_unweighted": 0.12728551336146274,
              "prop_retained_ipw_stabilized": 0.16750775170871016,
              "smd_unweighted_vs_eligible": -0.13449937668437206,
              "smd_ipw_vs_eligible": -0.02088204830750273,
              "abs_smd_unweighted": 0.13449937668437206,
              "abs_smd_ipw": 0.02088204830750273
            },
            "4": {
              "label": "Some college",
              "prop_eligible": 0.27904150026046187,
              "prop_retained_unweighted": 0.270042194092827,
              "prop_retained_ipw_stabilized": 0.2834808445984199,
              "smd_unweighted_vs_eligible": -0.020166040933563088,
              "smd_ipw_vs_eligible": 0.009873785312227283,
              "abs_smd_unweighted": 0.020166040933563088,
              "abs_smd_ipw": 0.009873785312227283
            },
            "5": {
              "label": "College degree",
              "prop_eligible": 0.29293280083347806,
              "prop_retained_unweighted": 0.30168776371308015,
              "prop_retained_ipw_stabilized": 0.2968410108212415,
              "smd_unweighted_vs_eligible": 0.019155234069325015,
              "smd_ipw_vs_eligible": 0.008570866764818054,
              "abs_smd_unweighted": 0.019155234069325015,
              "abs_smd_ipw": 0.008570866764818054
            },
            "6": {
              "label": "Graduate study",
              "prop_eligible": 0.2134051050529606,
              "prop_retained_unweighted": 0.27848101265822783,
              "prop_retained_ipw_stabilized": 0.2139593324679845,
              "smd_unweighted_vs_eligible": 0.1515458580919811,
              "smd_ipw_vs_eligible": 0.001352087703586974,
              "abs_smd_unweighted": 0.1515458580919811,
              "abs_smd_ipw": 0.001352087703586974
            }
          },
          "max_abs_smd_unweighted": 0.1515458580919811,
          "max_abs_smd_ipw": 0.02088204830750273,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "REGION": {
          "modeled_in_logit": true,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "1": {
              "label": null,
              "prop_eligible": 0.23493871914379424,
              "prop_retained_unweighted": 0.2535112359550562,
              "prop_retained_ipw_stabilized": 0.23038403717715092,
              "smd_unweighted_vs_eligible": 0.043239526300823186,
              "smd_ipw_vs_eligible": -0.010779749992798371,
              "abs_smd_unweighted": 0.043239526300823186,
              "abs_smd_ipw": 0.010779749992798371
            },
            "2": {
              "label": null,
              "prop_eligible": 0.2547902641118591,
              "prop_retained_unweighted": 0.26264044943820225,
              "prop_retained_ipw_stabilized": 0.25214725825312523,
              "smd_unweighted_vs_eligible": 0.017926427484653003,
              "smd_ipw_vs_eligible": -0.006075946148153107,
              "abs_smd_unweighted": 0.017926427484653003,
              "abs_smd_ipw": 0.006075946148153107
            },
            "3": {
              "label": null,
              "prop_eligible": 0.14085965820818228,
              "prop_retained_unweighted": 0.13412921348314608,
              "prop_retained_ipw_stabilized": 0.13816858073939828,
              "smd_unweighted_vs_eligible": -0.019545238979503252,
              "smd_ipw_vs_eligible": -0.007766914412061339,
              "abs_smd_unweighted": 0.019545238979503252,
              "abs_smd_ipw": 0.007766914412061339
            },
            "4": {
              "label": null,
              "prop_eligible": 0.36941135853616436,
              "prop_retained_unweighted": 0.3497191011235955,
              "prop_retained_ipw_stabilized": 0.37930012383032563,
              "smd_unweighted_vs_eligible": -0.04104503649222997,
              "smd_ipw_vs_eligible": 0.02043425248316491,
              "abs_smd_unweighted": 0.04104503649222997,
              "abs_smd_ipw": 0.02043425248316491
            }
          },
          "max_abs_smd_unweighted": 0.043239526300823186,
          "max_abs_smd_ipw": 0.02043425248316491,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "PAGO": {
          "modeled_in_logit": true,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "1": {
              "label": "Better than a year ago",
              "prop_eligible": 0.5461764198170206,
              "prop_retained_unweighted": 0.5287921348314607,
              "prop_retained_ipw_stabilized": 0.5492431296799731,
              "smd_unweighted_vs_eligible": -0.03487198795331613,
              "smd_ipw_vs_eligible": 0.006161563152098117,
              "abs_smd_unweighted": 0.03487198795331613,
              "abs_smd_ipw": 0.006161563152098117
            },
            "3": {
              "label": "Same",
              "prop_eligible": 0.25617124115311585,
              "prop_retained_unweighted": 0.28019662921348315,
              "prop_retained_ipw_stabilized": 0.25068120658071785,
              "smd_unweighted_vs_eligible": 0.05425162891601251,
              "smd_ipw_vs_eligible": -0.01262180847524384,
              "abs_smd_unweighted": 0.05425162891601251,
              "abs_smd_ipw": 0.01262180847524384
            },
            "5": {
              "label": "Worse than a year ago",
              "prop_eligible": 0.1966166062489211,
              "prop_retained_unweighted": 0.19101123595505617,
              "prop_retained_ipw_stabilized": 0.20007566373930907,
              "smd_unweighted_vs_eligible": -0.014180942403100536,
              "smd_ipw_vs_eligible": 0.008674741634875199,
              "abs_smd_unweighted": 0.014180942403100536,
              "abs_smd_ipw": 0.008674741634875199
            },
            "8": {
              "label": "DK",
              "prop_eligible": 0.0008631106507854307,
              "prop_retained_unweighted": 0.0,
              "prop_retained_ipw_stabilized": 0.0,
              "smd_unweighted_vs_eligible": -0.041565761254168825,
              "smd_ipw_vs_eligible": -0.041565761254168825,
              "abs_smd_unweighted": 0.041565761254168825,
              "abs_smd_ipw": 0.041565761254168825
            },
            "9": {
              "label": "NA/refused",
              "prop_eligible": 0.00017262213015708613,
              "prop_retained_unweighted": 0.0,
              "prop_retained_ipw_stabilized": 0.0,
              "smd_unweighted_vs_eligible": -0.018582353656179156,
              "smd_ipw_vs_eligible": -0.018582353656179156,
              "abs_smd_unweighted": 0.018582353656179156,
              "abs_smd_ipw": 0.018582353656179156
            }
          },
          "max_abs_smd_unweighted": 0.05425162891601251,
          "max_abs_smd_ipw": 0.041565761254168825,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "PEXP": {
          "modeled_in_logit": true,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "1": {
              "label": "Better a year from now",
              "prop_eligible": 0.43155532539271535,
              "prop_retained_unweighted": 0.3785112359550562,
              "prop_retained_ipw_stabilized": 0.4395817916163414,
              "smd_unweighted_vs_eligible": -0.10821316061717043,
              "smd_ipw_vs_eligible": 0.016188430621033683,
              "abs_smd_unweighted": 0.10821316061717043,
              "abs_smd_ipw": 0.016188430621033683
            },
            "3": {
              "label": "Same",
              "prop_eligible": 0.4745382358018298,
              "prop_retained_unweighted": 0.5042134831460674,
              "prop_retained_ipw_stabilized": 0.4660917100982404,
              "smd_unweighted_vs_eligible": 0.059390064913176825,
              "smd_ipw_vs_eligible": -0.016923508527139232,
              "abs_smd_unweighted": 0.059390064913176825,
              "abs_smd_ipw": 0.016923508527139232
            },
            "5": {
              "label": "Worse a year from now",
              "prop_eligible": 0.09390643880545486,
              "prop_retained_unweighted": 0.1172752808988764,
              "prop_retained_ipw_stabilized": 0.09432649828541823,
              "smd_unweighted_vs_eligible": 0.07609744129220927,
              "smd_ipw_vs_eligible": 0.0014386061379629697,
              "abs_smd_unweighted": 0.07609744129220927,
              "abs_smd_ipw": 0.0014386061379629697
            }
          },
          "max_abs_smd_unweighted": 0.10821316061717043,
          "max_abs_smd_ipw": 0.016923508527139232,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "origin_year": {
          "modeled_in_logit": false,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "2018": {
              "label": null,
              "prop_eligible": 0.2026583808044191,
              "prop_retained_unweighted": 0.14185393258426968,
              "prop_retained_ipw_stabilized": 0.16623822855075177,
              "smd_unweighted_vs_eligible": -0.1615519582548946,
              "smd_ipw_vs_eligible": -0.09400650163533163,
              "abs_smd_unweighted": 0.1615519582548946,
              "abs_smd_ipw": 0.09400650163533163
            },
            "2019": {
              "label": null,
              "prop_eligible": 0.7973416191955809,
              "prop_retained_unweighted": 0.8581460674157303,
              "prop_retained_ipw_stabilized": 0.8337617714492483,
              "smd_unweighted_vs_eligible": 0.16155195825489455,
              "smd_ipw_vs_eligible": 0.09400650163533192,
              "abs_smd_unweighted": 0.16155195825489455,
              "abs_smd_ipw": 0.09400650163533192
            }
          },
          "max_abs_smd_unweighted": 0.1615519582548946,
          "max_abs_smd_ipw": 0.09400650163533192,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "origin_month": {
          "modeled_in_logit": false,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "1": {
              "label": null,
              "prop_eligible": 0.06628689798032107,
              "prop_retained_unweighted": 0.0702247191011236,
              "prop_retained_ipw_stabilized": 0.0747759501876823,
              "smd_unweighted_vs_eligible": 0.01561532638249752,
              "smd_ipw_vs_eligible": 0.03315967047071835,
              "abs_smd_unweighted": 0.01561532638249752,
              "abs_smd_ipw": 0.03315967047071835
            },
            "2": {
              "label": null,
              "prop_eligible": 0.06818574141204903,
              "prop_retained_unweighted": 0.06811797752808989,
              "prop_retained_ipw_stabilized": 0.07485176486410113,
              "smd_unweighted_vs_eligible": -0.00026889756388431564,
              "smd_ipw_vs_eligible": 0.025870607815381537,
              "abs_smd_unweighted": 0.00026889756388431564,
              "abs_smd_ipw": 0.025870607815381537
            },
            "3": {
              "label": null,
              "prop_eligible": 0.06749525289142068,
              "prop_retained_unweighted": 0.0800561797752809,
              "prop_retained_ipw_stabilized": 0.08040120540935146,
              "smd_unweighted_vs_eligible": 0.04806536781674897,
              "smd_ipw_vs_eligible": 0.04933335171245642,
              "abs_smd_unweighted": 0.04806536781674897,
              "abs_smd_ipw": 0.04933335171245642
            },
            "4": {
              "label": null,
              "prop_eligible": 0.06732263076126359,
              "prop_retained_unweighted": 0.0723314606741573,
              "prop_retained_ipw_stabilized": 0.07751589973308444,
              "smd_unweighted_vs_eligible": 0.019654570893799978,
              "smd_ipw_vs_eligible": 0.03933639457306844,
              "abs_smd_unweighted": 0.019654570893799978,
              "abs_smd_ipw": 0.03933639457306844
            },
            "5": {
              "label": null,
              "prop_eligible": 0.06818574141204903,
              "prop_retained_unweighted": 0.07654494382022473,
              "prop_retained_ipw_stabilized": 0.08402821674275955,
              "smd_unweighted_vs_eligible": 0.03226766676089221,
              "smd_ipw_vs_eligible": 0.059771453138536476,
              "abs_smd_unweighted": 0.03226766676089221,
              "abs_smd_ipw": 0.059771453138536476
            },
            "6": {
              "label": null,
              "prop_eligible": 0.06766787502157777,
              "prop_retained_unweighted": 0.0723314606741573,
              "prop_retained_ipw_stabilized": 0.07074020987927516,
              "smd_unweighted_vs_eligible": 0.018278836718753664,
              "smd_ipw_vs_eligible": 0.012105522167509299,
              "abs_smd_unweighted": 0.018278836718753664,
              "abs_smd_ipw": 0.012105522167509299
            },
            "7": {
              "label": null,
              "prop_eligible": 0.06732263076126359,
              "prop_retained_unweighted": 0.06741573033707865,
              "prop_retained_ipw_stabilized": 0.06342426340643381,
              "smd_unweighted_vs_eligible": 0.00037141735752600937,
              "smd_ipw_vs_eligible": -0.015771627612605806,
              "abs_smd_unweighted": 0.00037141735752600937,
              "abs_smd_ipw": 0.015771627612605806
            },
            "8": {
              "label": null,
              "prop_eligible": 0.06749525289142068,
              "prop_retained_unweighted": 0.07654494382022473,
              "prop_retained_ipw_stabilized": 0.06846539011952457,
              "smd_unweighted_vs_eligible": 0.035010969713124285,
              "smd_ipw_vs_eligible": 0.0038541607898780624,
              "abs_smd_unweighted": 0.035010969713124285,
              "abs_smd_ipw": 0.0038541607898780624
            },
            "9": {
              "label": null,
              "prop_eligible": 0.06663214224063525,
              "prop_retained_unweighted": 0.06952247191011236,
              "prop_retained_ipw_stabilized": 0.0638352145710525,
              "smd_unweighted_vs_eligible": 0.011475282921549328,
              "smd_ipw_vs_eligible": -0.011326630608558716,
              "abs_smd_unweighted": 0.011475282921549328,
              "abs_smd_ipw": 0.011326630608558716
            },
            "10": {
              "label": null,
              "prop_eligible": 0.13430001726221302,
              "prop_retained_unweighted": 0.10112359550561797,
              "prop_retained_ipw_stabilized": 0.10325865642833373,
              "smd_unweighted_vs_eligible": -0.10308379501986505,
              "smd_ipw_vs_eligible": -0.09605683902494595,
              "abs_smd_unweighted": 0.10308379501986505,
              "abs_smd_ipw": 0.09605683902494595
            },
            "11": {
              "label": null,
              "prop_eligible": 0.1306749525289142,
              "prop_retained_unweighted": 0.1151685393258427,
              "prop_retained_ipw_stabilized": 0.10708884746374653,
              "smd_unweighted_vs_eligible": -0.04723880777601361,
              "smd_ipw_vs_eligible": -0.0729238851563168,
              "abs_smd_unweighted": 0.04723880777601361,
              "abs_smd_ipw": 0.0729238851563168
            },
            "12": {
              "label": null,
              "prop_eligible": 0.12843086483687208,
              "prop_retained_unweighted": 0.1306179775280899,
              "prop_retained_ipw_stabilized": 0.13161438119465485,
              "smd_unweighted_vs_eligible": 0.006513573798324204,
              "smd_ipw_vs_eligible": 0.009465607857050851,
              "abs_smd_unweighted": 0.006513573798324204,
              "abs_smd_ipw": 0.009465607857050851
            }
          },
          "max_abs_smd_unweighted": 0.10308379501986505,
          "max_abs_smd_ipw": 0.09605683902494595,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        },
        "METHOD": {
          "modeled_in_logit": false,
          "eligible_n": 5793,
          "eligible_missing": 0,
          "retained_n": 1424,
          "retained_missing": 0,
          "levels": {
            "1": {
              "label": null,
              "prop_eligible": 1.0,
              "prop_retained_unweighted": 1.0,
              "prop_retained_ipw_stabilized": 1.0,
              "smd_unweighted_vs_eligible": null,
              "smd_ipw_vs_eligible": null,
              "abs_smd_unweighted": null,
              "abs_smd_ipw": null
            }
          },
          "max_abs_smd_unweighted": null,
          "max_abs_smd_ipw": null,
          "n_levels_abs_smd_ipw_ge_0_10": 0,
          "n_levels_abs_smd_ipw_ge_0_20": 0
        }
      },
      "summary": {
        "comparison": "retained (unweighted and IPW-stabilized) vs full eligible N1",
        "smd_thresholds_note": ".10/.20 descriptive flags only \u2014 not confirmatory validity gates",
        "continuous_max_abs_smd_ipw": 0.014317456880071671,
        "modeled_categorical_max_abs_smd_ipw": 0.041565761254168825,
        "modeled_categorical_n_levels_abs_smd_ipw_ge_0_10": 0,
        "modeled_categorical_n_levels_abs_smd_ipw_ge_0_20": 0,
        "exploratory_flag_mostly_under_0_20": true
      }
    },
    "overlap_full_eligible": {
      "scope": "full_eligible_N1_plus_retained_and_dropped_splits",
      "propensity_clip_used_for_weights": [
        0.05,
        0.95
      ],
      "eligible_all": {
        "label": "eligible_N1",
        "n": 5793,
        "min": 0.031017024092055524,
        "p1": 0.06716982004897987,
        "p5": 0.10066391941557765,
        "p25": 0.16953274937915724,
        "median": 0.23083757707832803,
        "p75": 0.30956319956855954,
        "p95": 0.43819519495501735,
        "p99": 0.5193757427806686,
        "max": 0.6536126888991768,
        "mean": 0.2458149065360928,
        "std": 0.10331206304670121,
        "share_below_0_05": 0.0017262213015708614,
        "share_below_0_10": 0.04867944070429829,
        "share_above_0_90": 0.0
      },
      "retained": {
        "label": "retained_N3",
        "n": 1424,
        "min": 0.06291664871228361,
        "p1": 0.09553134767703628,
        "p5": 0.13413912378166387,
        "p25": 0.20918900376039676,
        "median": 0.2771884961870045,
        "p75": 0.3643335571979578,
        "p95": 0.4760152615361055,
        "p99": 0.5584354899676034,
        "max": 0.6536126888991768,
        "mean": 0.2893396471199711,
        "std": 0.10653046645280266,
        "share_below_0_05": 0.0,
        "share_below_0_10": 0.012640449438202247,
        "share_above_0_90": 0.0
      },
      "dropped": {
        "label": "dropped_N1_minus_N3",
        "n": 4369,
        "min": 0.031017024092055524,
        "p1": 0.06474134020738548,
        "p5": 0.09431568960769285,
        "p25": 0.16005222274106473,
        "median": 0.21634984850160208,
        "p75": 0.29067705181319226,
        "p95": 0.41532234125972983,
        "p99": 0.5023444096160001,
        "max": 0.6003811890588057,
        "mean": 0.23162876998506446,
        "std": 0.09816785158776384,
        "share_below_0_05": 0.0022888532845044634,
        "share_below_0_10": 0.06042572671091783,
        "share_above_0_90": 0.0
      },
      "common_support": {
        "retained_p_range": [
          0.06291664871228361,
          0.6536126888991768
        ],
        "share_eligible_inside_retained_range": 0.9936129811841878,
        "share_dropped_inside_retained_range": 0.9915312428473335,
        "share_eligible_outside_retained_range": 0.006387018815812187,
        "note": "Common-support heuristic only: fraction of eligible propensity scores falling inside the observed retained min\u2013max. Not a proof of ignorable selection."
      },
      "histogram_eligible_10bins": {
        "edges": [
          0.0,
          0.1,
          0.2,
          0.3,
          0.4,
          0.5,
          0.6,
          0.7,
          0.8,
          0.9,
          1.0
        ],
        "counts": [
          282,
          1907,
          2009,
          1075,
          428,
          88,
          4,
          0,
          0,
          0
        ]
      }
    },
    "overlap_note": "ADDRESSED v2.1: full eligible N1 p_hat min=0.0310 max=0.6536 mean=0.2458; retained min=0.0629 max=0.6536 mean=0.2893; share_eligible_inside_retained_range=0.9936.",
    "postweight_balance_scope": "ADDRESSED v2.1: continuous AGE/month_index SMDs + full categorical level SMDs for modeled SEX/EDUC/REGION/PAGO/PEXP (plus origin_year/month/METHOD) vs eligible N1."
  },
  "three_by_three_pexp_pago": {
    "unweighted": {
      "label": "unweighted",
      "share_match": 0.46558988764044945,
      "share_any_negative_miss": 0.26825842696629215,
      "share_strong_negative_miss": 0.07373595505617977,
      "share_strong_negative_miss_definition": "Better(1)->Worse(5) ONLY; equals cell shares[1][5]",
      "share_favorable_surprise": 0.2661516853932584,
      "detail": {
        "counts": {
          "1": {
            "1": 342,
            "3": 92,
            "5": 105
          },
          "3": {
            "1": 288,
            "3": 245,
            "5": 185
          },
          "5": {
            "1": 35,
            "3": 56,
            "5": 76
          }
        },
        "shares": {
          "1": {
            "1": 0.2401685393258427,
            "3": 0.06460674157303371,
            "5": 0.07373595505617977
          },
          "3": {
            "1": 0.20224719101123595,
            "3": 0.1720505617977528,
            "5": 0.12991573033707865
          },
          "5": {
            "1": 0.02457865168539326,
            "3": 0.03932584269662921,
            "5": 0.05337078651685393
          }
        },
        "n": 1424
      }
    },
    "ipw_stabilized": {
      "label": "ipw_stabilized_RESEARCH_ATTRITION_ADJUSTMENT",
      "share_match": 0.47550803034110256,
      "share_any_negative_miss": 0.277778018826743,
      "share_strong_negative_miss": 0.08653530665223409,
      "share_strong_negative_miss_definition": "Better(1)->Worse(5) ONLY; equals cell shares[1][5]",
      "share_favorable_surprise": 0.2467139508321543,
      "detail": {
        "weighted_mass": {
          "1": {
            "1": 472.60547147488035,
            "3": 116.23336898982518,
            "5": 144.3304261577329
          },
          "3": {
            "1": 327.1576935583366,
            "3": 247.49056449843403,
            "5": 202.7363465580068
          },
          "5": {
            "1": 35.59072282222521,
            "3": 48.740616711614685,
            "5": 72.99385202309783
          }
        },
        "shares": {
          "1": {
            "1": 0.2833571582121409,
            "3": 0.06968932675196635,
            "5": 0.08653530665223409
          },
          "3": {
            "1": 0.19615192783238009,
            "3": 0.14838639684331767,
            "5": 0.12155338542254254
          },
          "5": {
            "1": 0.02133891096552349,
            "3": 0.029223112034250744,
            "5": 0.043764475285644006
          }
        },
        "n_effective_mass": 1667.8790627941537
      }
    },
    "ipw_trunc_1_99": {
      "label": "ipw_trunc_1_99_RESEARCH_ATTRITION_ADJUSTMENT",
      "share_match": 0.4755898076424303,
      "share_any_negative_miss": 0.2775835039974027,
      "share_strong_negative_miss": 0.08643800303592616,
      "share_strong_negative_miss_definition": "Better(1)->Worse(5) ONLY; equals cell shares[1][5]",
      "share_favorable_surprise": 0.24682668836016677,
      "detail": {
        "weighted_mass": {
          "1": {
            "1": 468.6721362615422,
            "3": 115.95334016033927,
            "5": 143.4537828827516
          },
          "3": {
            "1": 325.1682763090988,
            "3": 247.5490261432091,
            "5": 201.27454839402336
          },
          "5": {
            "1": 35.601662604952466,
            "3": 48.86726831031349,
            "5": 73.07468676509156
          }
        },
        "shares": {
          "1": {
            "1": 0.2823981544644237,
            "3": 0.06986762542886062,
            "5": 0.08643800303592616
          },
          "3": {
            "1": 0.19592997751593094,
            "3": 0.14916053828149034,
            "5": 0.12127787553261593
          },
          "5": {
            "1": 0.02145176347734298,
            "3": 0.029444947366892855,
            "5": 0.04403111489651629
          }
        },
        "n_effective_mass": 1659.6147278313222
      }
    },
    "ipw_trunc_5_95": {
      "label": "ipw_trunc_5_95_RESEARCH_ATTRITION_ADJUSTMENT",
      "share_match": 0.47294101390412163,
      "share_any_negative_miss": 0.2781229713153588,
      "share_strong_negative_miss": 0.08582489254911367,
      "share_strong_negative_miss_definition": "Better(1)->Worse(5) ONLY; equals cell shares[1][5]",
      "share_favorable_surprise": 0.2489360147805195,
      "detail": {
        "weighted_mass": {
          "1": {
            "1": 450.5790051919295,
            "3": 113.05237323911224,
            "5": 139.81595606117102
          },
          "3": {
            "1": 320.69577775616807,
            "3": 246.76742266212898,
            "5": 200.21734295707296
          },
          "5": {
            "1": 35.691369607657045,
            "3": 49.15052207955572,
            "5": 73.11419324959381
          }
        },
        "shares": {
          "1": {
            "1": 0.2765842740335369,
            "3": 0.0693962839364633,
            "5": 0.08582489254911367
          },
          "3": {
            "1": 0.19685650652659162,
            "3": 0.1514761843443175,
            "5": 0.1229017948297818
          },
          "5": {
            "1": 0.021908858243387327,
            "3": 0.030170650010540565,
            "5": 0.0448805555262672
          }
        },
        "n_effective_mass": 1629.0839628043896
      }
    }
  },
  "replication_artifacts": {
    "raw_extract": "data/raw/michigan_sca/microdata/sca_micro_2015_2023_pilot.csv",
    "raw_sha256": "8f74769178d2918818906ac41a99d795131af4592b17beefa4b1d2ef05771dcf",
    "pairs_v2": "data/m1/v2/m1long_pairs_origin_le2019.csv",
    "scripts": [
      "srp/m1/build_m1_long_pilot.py",
      "srp/m1/build_m1_long_v2.py",
      "srp/m1/build_m1_long_selection_diag.py",
      "srp/m1/build_m1_long_selection_ipw_v2.py"
    ],
    "private_transfer": "Raw microdata stays on private box; Hub publishes hashes+scripts+JSON only. Claude/Codex can replicate from SDA download recipe in PROVENANCE.md + these scripts. ChatGPT formal /research still blocked on consumer credential \u2014 use Claude private channel or James-approved private transfer; do not publish secrets.",
    "source_urls": [
      "https://sda.umsurvey.org/",
      "https://sda.umsurvey.org/sca/Doc/sca0001.htm"
    ]
  },
  "research_verdict": {
    "status": "RESEARCH_IN_PROGRESS",
    "proposed_criteria_from_astra": {
      "PASS": "reproducible and selection manageable with stable sensitivity",
      "CONDITIONAL": "selected estimates/weights unstable",
      "FAIL": "linkage fails or inference unsupported"
    },
    "codex_qualification": "Stability under one observed-variable adjustment is NOT proof of population validity; unmeasured selection remains possible.",
    "this_tick": {
      "funnel_reproducible_crosscheck": true,
      "mcfadden_pseudo_r2": 0.05253827781431086,
      "age_smd_pre": 0.43876803818569093,
      "ipw_ess_over_n_stabilized": 0.8279711186526653,
      "ipw_ess_over_n_trunc_5_95": 0.8728775432219646,
      "3x3_match_unweighted": 0.46558988764044945,
      "3x3_match_ipw_stab": 0.47550803034110256,
      "3x3_match_delta_pp": 0.991814270065311,
      "decision_now": "CONDITIONAL_RESEARCH \u2014 v2.2 source hardening only (joint mask + fail-closed weights + exploratory metadata); numerical path unchanged; independent methods adjudication pending; no production adoption; M1 UNKNOWN score_authorized=0"
    },
    "model_change": false,
    "score_authorized_M1": false,
    "L1_untouched": true
  }
}
