Statistical & Psychometrics
Breslow-Day / Woolf Homogeneity of Odds Ratios Test (Effect Modification Q)
Test whether stratified log-odds ratios share a common true effect BEFORE pooling Mantel-Haenszel or Woolf estimates using Q = Σ w_i * (y_i - y_bar)^2 against χ²(k - 1).
Never pool Mantel-Haenszel odds ratios when effect modification reverses risk across strata!
Stratified epidemiology distinguishes CONFOUNDING (stratum odds ratios are homogeneous and should be pooled) from EFFECT MODIFICATION / INTERACTION (treatment helps young patients y_1 > 0 but harms older patients y_3 < 0—making a single pooled OR clinically misleading)! Norman E. Breslow and Nicholas E. Day (Statistical Methods in Cancer Research, 1980) and Barnet Woolf (1955) test homogeneity via weighted squared log-OR deviations Q = SUM(w_i * (y_i - y_bar)^2) on k - 1 degrees of freedom (critical χ^2_{2, 0.05} = 5.9915 for k = 3 strata)!
Audit three hospital age strata with log-ORs y = [1.10, 1.05, 0.95] and inverse-variance weights w = [4.5, 5.2, 4.3]: Q = 0.0512 << 5.9915 confirms homogeneity (safe to pool!). Flip Stratum 3 to opposite-sign y_3 = -0.45: Q jumps to 6.9183 > 5.9915—flagging statistically significant effect modification (p < 0.05, report stratum-specific ORs separately)!
| 3-Stratum Log-OR Profile (df = 2, Cutoff 5.9915) | Homogeneity Statistic Q | Epidemiological Decision |
|---|---|---|
| y = [1.10, 1.05, 0.95] (Consistent Direction) | Q = 0.0512 (< 5.9915) | Homogeneous Odds Ratios — Safe to Pool OR |
| y = [1.10, 1.05, -0.45] (Qualitative Interaction) | Q = 6.9183 (>= 5.9915) | Significant Effect Modification — Do Not Pool! |
| Non-Positive Weight w_i <= 0 | "Invalid Stratum Weights" | Precision Guard |
Stratified Log-Odds Homogeneity Chi-Square Statistic Q (df = k - 1)
Computes Σ w_i * (y_i - y_bar)^2 across stratum log-odds ratios B2:B4 and inverse-variance weights C2:C4, where pooled log-OR y_bar = SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4).
=IF(MIN(C2:C4) <= 0, "Invalid Stratum Weights", ROUND(C2 * ((B2 - (SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4))) ^ 2) + C3 * ((B3 - (SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4))) ^ 2) + C4 * ((B4 - (SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4))) ^ 2), 4))5%-Level Homogeneity vs. Effect-Modification Decision Rule (df = 2)
Compares Q against the exact 2-df chi-square α = 0.05 critical threshold 5.9915.
=IF(MIN(C2:C4) <= 0, "Invalid Stratum Weights", IF(C2 * ((B2 - (SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4))) ^ 2) + C3 * ((B3 - (SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4))) ^ 2) + C4 * ((B4 - (SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4))) ^ 2) >= 5.9915, "Significant Effect Modification (p < 0.05 — Report Strata Separately)", "Homogeneous Odds Ratios (Safe to Pool)"))Try the example
Use the original values or change them to test your understanding.