Skip to contents

Under no assumptions about selection, the ATE is only partially identified (Manski 1990): with the outcome in \([a, b]\), \(E[Y_1] \in [p \bar y_1 + a(1-p), p \bar y_1 + b(1-p)]\) and \(E[Y_0] \in [(1-p) \bar y_0 + a p, (1-p) \bar y_0 + b p]\), so the bounds always have width \(b - a\). Returns a named list with lower_bound, upper_bound, point_estimate, width.

Usage

manski_bounds(
  outcome_treated,
  outcome_control,
  p_treated,
  outcome_range = NULL
)

Arguments

outcome_treated

Outcomes for treated units.

outcome_control

Outcomes for control units.

p_treated

Proportion treated.

outcome_range

c(min, max) on the outcome. Default c(0, 1).

Value

Named list.

Examples

set.seed(1)
res <- manski_bounds(runif(50), runif(50), p_treated = 0.5)
c(res$lower_bound, res$upper_bound)
#> [1] -0.4852542  0.5147458