Arte SheetsLearn. Try. Understand.

Econometrics & Omitted-Variable Sensitivity

Cinelli-Hazlett Partial R-Squared and Robustness Value (RV) Formula

Convert any regression t-statistic and degrees of freedom into partial R^2_{Y~D|X} and Cinelli & Hazlett’s (2020) omitted-variable Robustness Value RV_q.

Compute omitted-variable sensitivity directly from published t-statistics and df

Even when you only have a published regression table reporting a treatment slope’s t-statistic t_obs and residual degrees of freedom df, Cinelli and Hazlett (2020) showed that you can compute exact omitted-variable sensitivity metrics! First, partial R^2 of treatment D with outcome Y given controls X is R^2_{Y~D|X} = t_obs^2 / (t_obs^2 + df), with Cohen’s partial f = |t_obs| / SQRT(df).

Second, to reduce the point estimate by fraction q_red = 1 (all the way to zero, or to bring |t| down to critical threshold t_crit = 1.96 via f_q = MAX(0, (|t_obs| - t_crit) / SQRT(df))), an unobserved confounder Z must explain at least Robustness Value RV_q = 0.5 * (SQRT(f_q^4 + 4 * f_q^2) - f_q^2) of the residual variance of BOTH treatment D and outcome Y! Verify by hand for t_obs = 4.00 (B2) and df = 84 (B3): partial R^2 = 16 / (16 + 84) = 0.1600 (exact!), f_1 = 4 / SQRT(84) -> f_1^2 = 16 / 84 = 4 / 21, and point-zero RV_1 = 0.5 * (SQRT(16/441 + 16/21) - 4/21) = 0.3515 (35.15% residual variance in BOTH D and Y!).

Cinelli-Hazlett Metric (t=4, df=84)Exact Algebraic FormulaSample Output
Partial R^2_{Y~D|X} (Extreme Bound)t_obs^2 / (t_obs^2 + df) = 16 / 1000.1600 (16.00%)
Point-Zero Robustness Value RV_{q=1}0.5 * (SQRT(f^4 + 4*f^2) - f^2)0.3515 (35.15% in D & Y)
Adjusted f_{alpha=0.05} vs Hurdle 1.96MAX(0, (|t_obs| - 1.96) / SQRT(df))0.2226
Alpha-0.05 Significance RV_{q,a=0.05}0.5 * (SQRT(f_a^4 + 4*f_a^2) - f_a^2)0.1992 (19.92% to lose p<0.05)

Exact Partial R-Squared R^2_{Y~D|X} from t-Statistic Formula

Notice that R^2_{Y~D|X} = t^2 / (t^2 + df) simultaneously serves as Cinelli and Hazlett’s "extreme scenario" bound if an omitted confounder explained 100% of remaining outcome variance!

=IF(B3 < 1, "Invalid Degrees of Freedom", ROUND((B2^2) / ((B2^2) + B3), 4))

Robustness Value RV_q (Point-Zero & Critical-t Significance) Formula

Pass t_crit = 0 to compute point-zero RV_{q=1}, or pass t_crit = 1.96 in B4 to compute RV_{q=1, alpha=0.05}. If |t_obs| <= t_crit initially (test setting B2 = 1.50 with B4 = 1.96), f_q = 0 and RV_alpha = 0 cleanly because statistical significance is already absent!

=LET(t_val, ABS(B2), df_v, B3, t_cr, B4, IF(OR(df_v < 1, t_cr < 0), "Invalid Degrees of Freedom", IF(t_val <= t_cr, 0, LET(fq_sq, ((t_val - t_cr)^2) / df_v, ROUND(0.5 * (SQRT((fq_sq^2) + 4 * fq_sq) - fq_sq), 4)))))

Try the example

Use the original values or change them to test your understanding.

Further reading