**[TE] eteffects** -- Endogenous treatment-effects estimation

__Syntax__

**eteffects** **(***ovar* *omvarlist* [**,** *omodel* __nocons__**tant**]**)** **(***tvar* *tmvarlist* [**,**
__nocons__**tant**]**)** [*if*] [*in*] [*weight*] [**,** *stat* *options*]

*ovar* is the *depvar* of the outcome model.

*omvarlist* is the list of exogenous *indepvars* in the outcome model.

*tvar* is the binary treatment variable.

*tmvarlist* is the list of covariates that predict treatment assignment.

*omodel* Description
-------------------------------------------------------------------------
Model
**linear** linear outcome model; the default
**fractional** fractional probit outcome model
**probit** probit outcome model
**exponential** exponential-mean outcome model
-------------------------------------------------------------------------

*stat* Description
-------------------------------------------------------------------------
Model
**ate** estimate average treatment effect in population;
the default
**atet** estimate average treatment effect on the treated
__pom__**eans** estimate potential-outcome means
-------------------------------------------------------------------------

*options* Description
-------------------------------------------------------------------------
Model
__nocons__**tant** suppress constant term

SE/Robust
**vce(***vcetype***)** *vcetype* may be __r__**obust**, __cl__**uster** *clustvar*, __boot__**strap**,
or __jack__**knife**

Reporting
__l__**evel(***#***)** set confidence level; default is **level(95)**
__aeq__**uations** display auxiliary-equation results
*display_options* control columns and column formats, row spacing,
line width, display of omitted variables and base
and empty cells, and factor-variable labeling

Maximization
*maximize_options* control the maximization process; seldom used

Advanced
__pstol__**erance(***#***)** set tolerance for overlap assumption
__os__**ample(***newvar***)** generate *newvar* to mark observations that violate
the overlap assumption

__coefl__**egend** display legend instead of statistics
-------------------------------------------------------------------------
*omvarlist* and *tmvarlist* may contain factor variables; see fvvarlists.
**bootstrap**, **by**, **jackknife**, and **statsby** are allowed; see prefix.
Weights are not allowed with the **bootstrap** prefix.
**fweight**s, **iweight**s, and **pweight**s are allowed; see weight.
**coeflegend** does not appear in the dialog box.
See **[TE] eteffects postestimation** for features available after
estimation.

__Menu__

**Statistics > Treatment effects > Endogenous treatment >** **Control function**
**estimator > Continuous outcomes**

**Statistics > Treatment effects > Endogenous treatment >** **Control function**
**estimator > Binary outcomes**

**Statistics > Treatment effects > Endogenous treatment >** **Control function**
**estimator > Count outcomes**

**Statistics > Treatment effects > Endogenous treatment >** **Control function**
**estimator > Fractional outcomes**

**Statistics > Treatment effects > Endogenous treatment >** **Control function**
**estimator > Nonnegative outcomes**

__Description__

**eteffects** estimates the average treatment effect (ATE), the average
treatment effect on the treated (ATET), and the potential-outcome means
(POMs) from observational data when treatment assignment is correlated
with the potential outcomes. It allows for continuous, binary, count,
fractional, and nonnegative outcomes and requires a binary treatment. To
control for the endogeneity of the treatment assignment, the estimator
includes residuals from the treatment model in the models for the
potential outcomes, known as a control-function approach.

__Options__

+-------+
----+ Model +------------------------------------------------------------

**noconstant**; see **[R] estimation options**.

*stat* is one of three statistics: **ate**, **atet**, or **pomeans**. **ate** is the
default.

**ate** specifies that the average treatment effect be estimated.

**atet** specifies that the average treatment effect on the treated be
estimated.

**pomeans** specifies that the potential-outcome means for each treatment
level be estimated.

+-----------+
----+ SE/Robust +--------------------------------------------------------

**vce(***vcetype***)** specifies the type of standard error reported, which
includes types that are robust to some kinds of misspecification
(**robust**), that allow for intragroup correlation (**cluster** *clustvar*),
and that use bootstrap or jackknife methods (**bootstrap**, **jackknife**);
see **[R] ***vce_option*.

+-----------+
----+ Reporting +--------------------------------------------------------

**level(***#***)**; see **[R] estimation options**.

**aequations** specifies that the results for the outcome-model or the
treatment-model parameters be displayed. By default, the results for
these auxiliary parameters are not displayed.

*display_options*: **noci**, __nopv__**alues**, __noomit__**ted**, **vsquish**, __noempty__**cells**,
__base__**levels**, __allbase__**levels**, __nofvlab__**el**, **fvwrap(***#***)**, **fvwrapon(***style***)**,
**cformat(***%fmt***)**, **pformat(%***fmt***)**, **sformat(%***fmt***)**, and **nolstretch**; see **[R]**
**estimation options**.

+--------------+
----+ Maximization +-----------------------------------------------------

*maximize_options*: __iter__**ate(***#***)**, [__no__]__lo__**g**, and **from(***init_specs***)**; see **[R]**
**maximize**. These options are seldom used.

*init_specs* is one of

*matname* [**, skip copy**]

*#* [**,** *#* ...]**, copy**

+----------+
----+ Advanced +---------------------------------------------------------

**pstolerance(***#***)** specifies the tolerance used to check the overlap
assumption. The default value is **pstolerance(1e-5)**. **eteffects** will
exit with an error if an observation has an estimated propensity
score smaller than that specified by **pstolerance()**.

**osample(***newvar***)** specifies that indicator variable *newvar* be created to
identify observations that violate the overlap assumption.

The following option is available with **eteffects** but is not shown in the
dialog box:

**coeflegend**; see **[R] estimation options**.

__Examples__

---------------------------------------------------------------------------
Setup
**. webuse cattaneo2**

Estimate the ATE of smoking status on baby's birthweight
**. eteffects (bweight i.prenatal1 i.mmarried mage i.fbaby)** **(mbsmoke**
**i.mmarried mage i.fbaby medu fedu)**

Same as above, but estimate the ATET
**. eteffects (bweight i.prenatal1 i.mmarried mage i.fbaby)** **(mbsmoke**
**i.mmarried mage i.fbaby medu fedu), atet**

Display auxiliary parameters used to compute ATET
**. eteffects, aeq**

---------------------------------------------------------------------------
Setup
**. webuse nlsy80**

Estimate the ATE of living in an urban area on monthly earnings, assuming
that earnings, conditional on covariates, follow an exponential mean
**. eteffects (wage exper iq i.college, exponential nocons)** **(urban**
**i.college fcollege)**

---------------------------------------------------------------------------

__Stored results__

**eteffects** stores the following in **e()**:

Scalars
**e(N)** number of observations
**e(n***j***)** number of observations for treatment level *j*
**e(k_eq)** number of equations in **e(b)**
**e(k_levels)** number of levels in treatment variable
**e(rank)** rank of **e(V)**
**e(converged)** **1** if converged, **0** otherwise

Macros
**e(cmd)** **eteffects**
**e(cmdline)** command as typed
**e(depvar)** name of outcome variable
**e(tvar)** name of treatment variable
**e(omodel)** **fractional**, **linear**, **probit**, or **exponential**
**e(stat)** statistic estimated, **ate**, **atet**, or **pomeans**
**e(wtype)** weight type
**e(wexp)** weight expression
**e(title)** title in estimation output
**e(tlevels)** levels of treatment variable
**e(vce)** *vcetype* specified in **vce()**
**e(vcetype)** title used to label Std. Err.
**e(properties)** **b V**
**e(estat_cmd)** program used to implement **estat**
**e(predict)** program used to implement **predict**
**e(marginsnotok)** predictions disallowed by **margins**
**e(asbalanced)** factor variables **fvset** as **asbalanced**
**e(asobserved)** factor variables **fvset** as **asobserved**

Matrices
**e(b)** coefficient vector
**e(V)** variance-covariance matrix of the estimators

Functions
**e(sample)** marks estimation sample