# did.estimation.lpdid

    did.estimation.lpdid(
        data,
        yname,
        idname,
        tname,
        gname,
        vcov=None,
        pre_window=None,
        post_window=None,
        never_treated=0,
        att=True,
        xfml=None,
    )

Local projections approach to estimation.

Estimate a Difference-in-Differences / Event Study Model via the Local Projections Approach.

## Parameters

Name | Type | Description | Default
--- | --- | --- | ---
data | DataFrame | The DataFrame containing all variables. | required
yname | str | The name of the dependent variable. | required
idname | str | The name of the id variable. | required
tname | str | Variable name for calendar period. | required
gname | str | Unit-specific time of initial treatment. | required
vcov | (str, dict) | The type of inference to employ. Defaults to {“CRV1”: idname}. Options include “iid”, “hetero”, or a dictionary like {“CRV1”: idname}. | `None`
pre_window | int | The number of periods before the treatment to include in the estimation. Default is the minimum relative year in the data. | `None`
post_window | int | The number of periods after the treatment to include in the estimation. Default is the maximum relative year in the data. | `None`
never_treated | int | Value in gname indicating units never treated. Default is 0. | `0`
att | bool | If True, estimates the pooled average treatment effect on the treated (ATT). Default is False. | `True`
xfml | str | Formula for the covariates. Not yet supported. | `None`

## Returns

Name | Type | Description
--- | --- | ---
| DataFrame | A DataFrame with the estimated coefficients.

## Examples

    import pandas as pd
    import pyfixest as pf

    url = "https://raw.githubusercontent.com/py-econometrics/pyfixest/master/pyfixest/did/data/df_het.csv"
    df_het = pd.read_csv(url)

    fit = pf.lpdid(
        df_het,
        yname="dep_var",
        idname="unit",
        tname="year",
        gname="g",
        vcov={"CRV1": "state"},
        pre_window=-20,
        post_window=20,
        att=False
    )

    fit.tidy().head()
    fit.iplot(figsize= [1200, 400], coord_flip=False).show()

To get the ATT, set `att=True`:

    fit = pf.lpdid(
        df_het,
        yname="dep_var",
        idname="unit",
        tname="year",
        gname="g",
        vcov={"CRV1": "state"},
        pre_window=-20,
        post_window=20,
        att=True
    )
    fit.tidy()

| Estimate | Std. Error | t value | Pr(>|t|) | 2.5% | 97.5% | N
--- | --- | --- | --- | --- | --- | --- | ---
treat_diff | 2.506746 | 0.071357 | 35.129648 | 0.0 | 2.362413 | 2.65108 | 5716.0