Seorang analis menduga hal yang masuk akal: perusahaan yang lebih banyak belanja iklan tumbuh lebih cepat. Ia kumpulkan data lima perusahaan selama tiga tahun, jalankan satu regresi yang menggabung semua baris jadi satu tumpukan, dan hasilnya mengejutkan — slope-nya negatif. Seolah-olah makin banyak iklan, penjualan justru makin lesu.
Sebelum percaya pada hasil yang janggal itu, ia berhenti dan memandang datanya lagi. Ternyata perusahaan-perusahaan besar yang mapan memang berbelanja iklan paling banyak, tetapi mereka sudah jenuh sehingga tumbuh pelan. Perusahaan kecil belanja iklan sedikit, tetapi tumbuh kencang dari basis yang rendah. Saat semua perusahaan dicampur jadi satu tumpukan, perbedaan bawaan antar-perusahaan inilah yang menyetir hasil — dan menutupi pola yang sebenarnya terjadi di dalam tiap perusahaan: ketika satu perusahaan menaikkan belanja iklannya dari tahun ke tahun, penjualannya memang ikut naik.
Cara membersihkan perbedaan bawaan antar-unit itu, supaya yang tersisa hanyalah pola di dalam tiap unit, adalah inti Fixed Effect Model (FEM, model efek tetap) — estimator yang dipakai hampir semua riset panel di jurnal bereputasi.
Intuisi: Membersihkan “Bawaan” Tiap Unit
Bayangkan tiap perusahaan punya semacam “kepribadian” yang tidak berubah dari tahun ke tahun: reputasi merek, budaya kerja, kualitas manajemen warisan, lokasi, jaringan. Semua itu memengaruhi penjualan, tetapi sulit diukur sebagai angka — dan yang penting, tidak berubah selama periode pengamatan. Dalam data panel, bawaan inilah biang masalah: ia bisa terkait dengan variabel yang kita amati (misalnya belanja iklan), sehingga regresi biasa salah menyalahkan iklan atas sesuatu yang sebenarnya disebabkan oleh kepribadian perusahaan.
FEM menyelesaikannya dengan trik sederhana namun ampuh. Alih-alih membandingkan perusahaan A dengan perusahaan B (yang kepribadiannya beda), FEM hanya membandingkan tiap perusahaan dengan dirinya sendiri di waktu berbeda. Karena kepribadian satu perusahaan sama di semua tahunnya, ia otomatis tersaring habis ketika kita melihat hanya perubahan di dalam perusahaan itu. Yang tersisa: hubungan murni antara perubahan iklan dan perubahan penjualan, bebas dari bias bawaan.
Inilah dua sumber variasi dalam data panel, dan FEM sengaja hanya memakai yang pertama:
Model Efek Tetap
FEM memberi tiap unit intercept-nya sendiri:
$$Y_{it} = \alpha_i + \beta\, X_{it} + \varepsilon_{it}$$Tiap lambang, polos:
- $Y_{it}$ = nilai variabel terikat untuk unit $i$ pada waktu $t$ (misalnya pertumbuhan penjualan perusahaan A tahun 2021).
- $X_{it}$ = variabel bebas unit $i$ waktu $t$ (belanja iklannya tahun itu).
- $\beta$ = slope — berapa unit $Y$ berubah saat $X$ naik satu satuan. Inilah angka yang kita kejar, dan ia sama untuk semua unit.
- $\varepsilon_{it}$ = galat: selisih nilai aktual dengan yang dijelaskan model, polosnya $\varepsilon = Y - (\alpha_i + \beta X)$.
- $\alpha_i$ = efek tetap unit — intercept khusus unit $i$. Perhatikan subskrip $i$: tidak ada satu $\alpha$ untuk semua, melainkan satu $\alpha$ per unit.
Kunci seluruh materi ada di $\alpha_i$. Ia menyerap semua “kepribadian” tadi — segala faktor yang khas unit $i$ dan tetap antar-waktu, entah teramati atau tidak. Untuk lima perusahaan kita: $\alpha_{\text{BBCA}}$ menampung reputasi dan basis nasabah BBCA, $\alpha_{\text{TLKM}}$ menampung warisan infrastruktur dan status BUMN-nya, dan seterusnya. Karena $\alpha_i$ tetap, begitu kita hanya melihat perubahan di dalam satu unit, $\alpha_i$ lenyap dengan sendirinya — itulah yang akan kita lakukan.
Istilah “tetap” (fixed) di sini berarti FEM memperlakukan $\alpha_i$ sebagai bilangan tetap yang diestimasi, bukan variabel acak. Inilah yang membedakannya dari Random Effect Model (efek acak), yang memperlakukan $\alpha_i$ sebagai tarikan acak dari suatu distribusi. Perbedaan itu menentukan asumsi yang dibutuhkan masing-masing — dibahas di pemilihan metode panel.
Transformasi Within: Menyaring $\alpha_i$
Bagaimana cara membuat $\alpha_i$ lenyap tanpa harus tahu nilainya? Kuncinya: rata-ratakan tiap unit lebih dulu, lalu kurangkan.
Untuk tiap unit $i$, hitung rata-rata $Y$ dan $X$ sepanjang waktu unit itu:
$$\bar{Y}_i = \frac{1}{T}\sum_{t=1}^{T} Y_{it}, \qquad \bar{X}_i = \frac{1}{T}\sum_{t=1}^{T} X_{it}$$Di sini $T$ = banyak periode waktu, dan $\sum_{t=1}^{T}$ artinya “jumlahkan sepanjang waktu unit itu, dari periode ke-1 sampai ke-$T$”. Jadi $\bar{Y}_i$ sekadar rata-rata $Y$ milik unit $i$ sendiri — misalnya rata-rata pertumbuhan BBCA selama tiga tahunnya.
Lalu kurangkan rata-rata unit dari tiap nilai. Hasilnya disebut variabel within (dalam-unit), ditandai tilde:
$$\tilde{Y}_{it} = Y_{it} - \bar{Y}_i, \qquad \tilde{X}_{it} = X_{it} - \bar{X}_i$$Bacalah polos: $\tilde{Y}_{it}$ = simpangan nilai dari rata-rata unitnya sendiri. Kalau pertumbuhan BBCA tahun 2022 adalah 13 dan rata-rata tiga tahunnya 11,33, maka $\tilde{Y} = 13 - 11{,}33 = 1{,}67$ (1,67 di atas kebiasaan BBCA). Gagasan ini persis sama dengan simpangan dari rata-rata yang Anda kenal di variabilitas, hanya saja di sini rata-ratanya dihitung per unit.
Sekarang lihat keajaibannya. Terapkan transformasi ini pada model. Karena $\alpha_i$ sama di semua waktu unit $i$, rata-ratanya juga $\alpha_i$, sehingga $\alpha_i - \alpha_i = 0$:
$$\tilde{Y}_{it} = \beta\, \tilde{X}_{it} + \tilde{\varepsilon}_{it}$$Intercept dan $\alpha_i$ sama-sama hilang. Tinggal regresi sederhana tanpa intercept dari $\tilde{Y}$ pada $\tilde{X}$. Slope-nya didapat dengan rumus kuadrat terkecil baku (sama logikanya dengan regresi sederhana, hanya tanpa intercept):
$$\hat{\beta}_{\text{within}} = \frac{\sum_{i}\sum_{t} \tilde{X}_{it}\,\tilde{Y}_{it}}{\sum_{i}\sum_{t} \tilde{X}_{it}^{2}}$$Tiap lambang: pembilang $\sum\sum \tilde{X}\tilde{Y}$ menjumlahkan hasil kali simpangan-within $X$ dan $Y$ untuk semua pasangan unit-waktu; penyebut $\sum\sum \tilde{X}^2$ menjumlahkan kuadrat simpangan-within $X$. Estimator inilah yang disebut within estimator — jantung FEM.
Contoh Hitung dari Nol
Mari kerjakan kasus pembuka sampai tuntas dengan angka nyata. Lima perusahaan, $X$ = belanja iklan (miliar rupiah), $Y$ = pertumbuhan penjualan (%), tiga tahun.
Data mentah:
| Perusahaan | Tahun | $X$ (iklan) | $Y$ (tumbuh %) |
|---|---|---|---|
| BBCA | 2020 | 2 | 10 |
| BBCA | 2021 | 3 | 11 |
| BBCA | 2022 | 4 | 13 |
| BBRI | 2020 | 4 | 8 |
| BBRI | 2021 | 5 | 9 |
| BBRI | 2022 | 6 | 11 |
| TLKM | 2020 | 6 | 6 |
| TLKM | 2021 | 7 | 7 |
| TLKM | 2022 | 8 | 9 |
| UNVR | 2020 | 8 | 4 |
| UNVR | 2021 | 9 | 5 |
| UNVR | 2022 | 10 | 7 |
| ASII | 2020 | 10 | 2 |
| ASII | 2021 | 11 | 3 |
| ASII | 2022 | 12 | 5 |
Lihat dulu pola antar-perusahaan. Perusahaan dengan iklan tinggi (ASII, iklan 10–12) justru tumbuh paling pelan (2–5%); yang iklannya rendah (BBCA, 2–4) tumbuh paling kencang (10–13%). Kalau semua 15 baris ini dicampur dan diregresikan tanpa memandang perusahaan — itulah Common Effect Model — slope-nya keluar −0,808: menyesatkan, seolah iklan menurunkan pertumbuhan.
Sekarang lihat di dalam tiap perusahaan. Di setiap perusahaan, saat iklan naik dari tahun ke tahun, pertumbuhan ikut naik. Itulah pola yang FEM tangkap. Untuk menyederhanakan tangan, kerjakan dulu pada dua perusahaan (BBCA dan BBRI, 6 baris); polanya identik di semua perusahaan.
Langkah 1 — rata-rata tiap perusahaan.
- BBCA: $\bar{X} = (2+3+4)/3 = 3$, $\bar{Y} = (10+11+13)/3 = 11{,}33$
- BBRI: $\bar{X} = (4+5+6)/3 = 5$, $\bar{Y} = (8+9+11)/3 = 9{,}33$
Langkah 2 — transformasi within (kurangi rata-rata perusahaan masing-masing).
| Perusahaan | Tahun | $\tilde{X} = X-\bar{X}_i$ | $\tilde{Y} = Y-\bar{Y}_i$ | $\tilde{X}\tilde{Y}$ | $\tilde{X}^2$ |
|---|---|---|---|---|---|
| BBCA | 2020 | −1 | −1,33 | 1,33 | 1 |
| BBCA | 2021 | 0 | −0,33 | 0,00 | 0 |
| BBCA | 2022 | 1 | 1,67 | 1,67 | 1 |
| BBRI | 2020 | −1 | −1,33 | 1,33 | 1 |
| BBRI | 2021 | 0 | −0,33 | 0,00 | 0 |
| BBRI | 2022 | 1 | 1,67 | 1,67 | 1 |
| Σ | 0 | 0 | 6,00 | 4,00 |
Perhatikan kolom $\tilde{X}$ dan $\tilde{Y}$ berjumlah nol per perusahaan — sifat yang selalu berlaku setelah demean, persis seperti simpangan dari rata-rata. Yang kita butuhkan dua kolom terakhir.
Langkah 3 — slope within.
$$\hat{\beta}_{\text{within}} = \frac{\sum \tilde{X}\tilde{Y}}{\sum \tilde{X}^2} = \frac{6{,}00}{4{,}00} = 1{,}5$$Hasilnya POSITIF: $\hat{\beta}_{\text{within}} = +1{,}5$. Tiap tambahan satu miliar belanja iklan dikaitkan dengan kenaikan pertumbuhan penjualan sekitar 1,5 poin persen — di dalam perusahaan yang sama. Bila Anda kerjakan kelima perusahaan sekaligus (15 baris), hasilnya tetap persis +1,5.
Bandingkan dua angka itu berdampingan:
| Metode | Slope iklan → pertumbuhan | Yang dibandingkan |
|---|---|---|
| CEM (semua baris dicampur) | −0,808 | Antar-perusahaan yang beda kepribadian |
| FEM (within) | +1,5 | Tiap perusahaan dengan dirinya sendiri |
Tandanya berbalik total. Inilah seluruh alasan keberadaan FEM: dengan menyaring $\alpha_i$, ia mengoreksi bias yang membuat CEM salah tanda. (Pembalikan tanda akibat pengelompokan seperti ini disebut paradoks Simpson.)
Pendekatan LSDV: Cara Kedua, Jawaban Sama
Ada cara lain mengestimasi FEM yang menghasilkan slope persis sama: masukkan sebuah variabel dummy (penanda 0/1) untuk tiap unit. Pendekatan ini bernama LSDV (Least Squares Dummy Variable).
$$Y_{it} = \alpha + \beta\, X_{it} + \gamma_2 D_{2,i} + \gamma_3 D_{3,i} + \cdots + \gamma_N D_{N,i} + \varepsilon_{it}$$Di sini $D_{j,i} = 1$ jika observasi milik unit $j$, dan $0$ jika bukan. Satu unit dijadikan acuan (tanpa dummy); tiap $\gamma_j$ menjadi selisih intercept unit $j$ dari unit acuan. Dijalankan sebagai regresi OLS biasa dengan dummy-dummy itu.
Pada data lima perusahaan kita, LSDV mengembalikan slope iklan +1,5 — identik dengan within estimator. Bukan kebetulan: kedua metode setara secara matematis. Teorema Frisch-Waugh-Lovell menjelaskan kenapa — meregresikan $Y$ pada dummy unit lebih dulu lalu mengambil residualnya menghasilkan persis $Y - \bar{Y}_i$, yaitu transformasi within. Jadi LSDV dan within hanyalah dua jalan menuju angka yang sama.
Lalu kapan pakai yang mana?
- Within lebih cepat dan praktis untuk banyak unit. Bayangkan 1.000 perusahaan: LSDV butuh 999 kolom dummy, berat dihitung; within tidak perlu satu pun.
- LSDV berguna saat Anda memang ingin intercept tiap unit ($\alpha_i$). Dari hasil within, intercept tiap unit bisa direkonstruksi sebagai $\hat{\alpha}_i = \bar{Y}_i - \hat{\beta}\,\bar{X}_i$. Untuk data kita: BBCA 6,83 · BBRI 1,83 · TLKM −3,17 · UNVR −8,17 · ASII −13,17.
Software panel modern memakai within sebagai bawaan.
Bereksperimen Sendiri
Lihat data mentah berubah menjadi bentuk within: geser parameter dan perhatikan bagaimana transformasi within menggeser tiap unit ke pusat yang sama, menyaring heterogenitas antar-unit, sehingga yang tersisa hanyalah pola di dalam unit.
Two-Way FE: Menyaring Guncangan Bersama
Efek tetap unit ($\alpha_i$) menyaring bawaan tiap unit. Tetapi ada sumber bias kedua: guncangan bersama yang menimpa semua unit di tahun yang sama — krisis 2008, pandemi 2020, kenaikan suku bunga BI, perubahan tarif PPh Badan. Kalau satu tahun buruk untuk semua perusahaan sekaligus, efek waktu itu bisa mengotori estimasi $\beta$.
Solusinya: tambahkan efek tetap waktu ($\gamma_t$) — satu intercept untuk tiap periode. Model menjadi two-way fixed effects (2WFE, efek tetap dua-arah):
$$Y_{it} = \alpha_i + \gamma_t + \beta\, X_{it} + \varepsilon_{it}$$Di sini $\gamma_t$ menyerap apa pun yang sama-sama dialami semua unit di waktu $t$. Caranya: demean dua kali — kurangi rata-rata unit dan rata-rata waktu (lalu tambahkan kembali rata-rata keseluruhan agar tidak terkurang dua kali):
$$\tilde{Y}_{it} = Y_{it} - \bar{Y}_i - \bar{Y}_t + \bar{\bar{Y}}$$dengan $\bar{Y}_t$ = rata-rata $Y$ semua unit di waktu $t$, dan $\bar{\bar{Y}}$ = rata-rata keseluruhan.
Seberapa penting ini? Pada sebuah panel uji di mana slope sebenarnya $\beta = 2$ dan ada guncangan bersama pada satu tahun, FEM satu-arah (hanya unit) menghasilkan slope bias 2,37; setelah ditambah efek waktu, two-way FE memulihkan 2,00 yang benar. Karena guncangan bersama hampir selalu ada di data ekonomi, praktik baku di keuangan empiris: selalu pertimbangkan menyertakan $\gamma_t$.
Satu jebakan: kalau $X$ Anda bergerak seragam mengikuti tren waktu yang sama di semua unit (misalnya naik +1 tiap tahun untuk semuanya), maka setelah disaring efek waktu, $X$ tidak menyisakan variasi apa pun — koefisiennya tak bisa diestimasi. Two-way FE butuh $X$ yang berubah berbeda-beda antar unit dari waktu ke waktu.
Yang Tidak Bisa Diestimasi FEM
Kekuatan FEM sekaligus keterbatasannya. Karena transformasi within mengurangi rata-rata tiap unit, variabel apa pun yang tetap-antar-waktu otomatis lenyap (nilainya sama dengan rata-ratanya, sehingga $\tilde{X} = 0$ untuk semua baris).
Akibatnya FEM tidak bisa mengestimasi koefisien variabel seperti:
- Jenis kelamin pendiri (tetap per perusahaan)
- Tahun pencatatan di bursa
- Sektor industri
- Negara tempat berdiri
Kalau hipotesis Anda justru tentang variabel tetap-antar-waktu, FEM bukan alatnya — pertimbangkan Random Effect Model atau estimator Hausman-Taylor. Ini bukan kelemahan yang bisa “ditambal”; ia konsekuensi langsung dari cara FEM menyaring $\alpha_i$.
Galat Baku: Selalu Terklaster
Mengestimasi $\beta$ dengan benar baru separuh pekerjaan; separuh lagi adalah ketidakpastian di baliknya — galat bakunya. Pada panel, galat dalam satu unit lintas waktu hampir selalu saling berkorelasi (perusahaan yang sama menempel pada karakternya), sehingga galat baku bawaan keluar terlalu kecil dan bintang signifikansi menipu.
Praktik baku modern: pakai galat baku terklaster pada unit (clustered standard errors) — hampir selalu, tanpa kecuali. Untuk panel besar (banyak unit dan banyak periode), pertimbangkan klaster dua-arah (unit dan waktu). Rinciannya dibahas tuntas di Clustered SE untuk Panel; yang perlu diingat di sini: FEM dengan galat baku bawaan = salah.
Implementasi Singkat
Setelah paham asal-usulnya, di software cukup beberapa baris. R dengan paket plm:
library(plm); library(lmtest); library(sandwich)
pdata <- pdata.frame(data, index = c("firm", "year"))
# FEM satu-arah (efek unit), galat baku terklaster pada unit
fem1 <- plm(growth ~ iklan, data = pdata, model = "within")
coeftest(fem1, vcov = vcovHC(fem1, cluster = "group"))
# Two-way FE (unit + waktu)
fem2 <- plm(growth ~ iklan, data = pdata, model = "within", effect = "twoways")
Python dengan linearmodels:
from linearmodels.panel import PanelOLS
d = data.set_index(["firm", "year"])
# Two-way FE, galat baku terklaster pada unit
fem = PanelOLS(d["growth"], d[["iklan"]],
entity_effects=True, time_effects=True
).fit(cov_type="clustered", cluster_entity=True)
print(fem)
Cek Pemahaman
1. Sebuah unit (satu perusahaan) punya tiga pengamatan $X$: 4, 6, 8 dengan $Y$: 10, 14, 12. Lakukan transformasi within untuk unit ini: hitung $\tilde{X}$ dan $\tilde{Y}$ tiap baris.
Lihat jawaban
Rata-rata unit: $\bar{X} = (4+6+8)/3 = 6$ dan $\bar{Y} = (10+14+12)/3 = 12$.
| $X$ | $Y$ | $\tilde{X} = X-6$ | $\tilde{Y} = Y-12$ |
|---|---|---|---|
| 4 | 10 | −2 | −2 |
| 6 | 14 | 0 | 2 |
| 8 | 12 | 2 | 0 |
Perhatikan $\tilde{X}$ dan $\tilde{Y}$ masing-masing berjumlah nol — tanda demean sudah benar. (Intercept unit $\alpha_i$ telah tersaring; yang tersisa hanya variasi di dalam unit.)
2. (Soal transfer.) Seorang peneliti meregresikan upah ($Y$) terhadap lama pendidikan ($X$) pada data panel 5.000 pekerja yang diikuti 8 tahun, memakai FEM. Hasilnya: koefisien pendidikan tidak bisa diestimasi (otomatis ter-drop). (a) Kenapa bisa begitu? (b) Apa solusinya bila ia tetap ingin menaksir pengembalian pendidikan terhadap upah?
Lihat jawaban
(a) Bagi kebanyakan pekerja dewasa, lama pendidikan tidak berubah selama 8 tahun pengamatan — mereka sudah selesai sekolah. Variabel yang tetap-antar-waktu memberi $\tilde{X} = X - \bar{X}_i = 0$ di semua baris setelah transformasi within, sehingga tidak ada variasi yang bisa dipakai mengestimasi koefisiennya. FEM menyaringnya bersama $\alpha_i$.
(b) FEM bukan alat yang tepat untuk variabel tetap-antar-waktu. Pilihannya: Random Effect Model (efek acak) — yang memakai variasi antar-unit sehingga bisa menaksir koefisien variabel tetap, dengan harga asumsi lebih ketat — atau estimator Hausman-Taylor yang mengompromikan keduanya. Uji Hausman membantu memilih FEM vs REM; lihat pemilihan metode panel.
Kesalahan Umum
Memakai galat baku bawaan. Pada panel, galat dalam satu unit berkorelasi lintas waktu, sehingga galat baku bawaan terlalu kecil dan signifikansi menipu. Selalu pakai galat baku terklaster pada unit.
Lupa efek waktu. Tanpa $\gamma_t$, guncangan bersama (krisis, pandemi, perubahan kebijakan) mengotori estimasi. Pertimbangkan two-way FE sebagai bawaan, bukan tambahan.
Mengestimasi variabel tetap-antar-waktu dengan FEM. Sektor, gender pendiri, tahun listing — semua ter-drop otomatis oleh transformasi within. Pakai REM atau Hausman-Taylor.
Menafsirkan intercept tiap unit sebagai bermakna. $\alpha_i$ adalah nuisance parameter (parameter pengganggu) yang sengaja kita saring — bukan temuan. Yang penting slope $\beta$.
Menganggap $R^2$ FEM setara $R^2$ OLS biasa. $R^2$ FEM kerap sangat tinggi (0,9 ke atas) karena efek tetap unit menjelaskan banyak variasi — itu wajar, bukan tanda model bagus. Yang dinilai: tanda dan besaran ekonomi koefisien, bukan $R^2$.
Mengira FEM menyaring SEMUA bias. FEM hanya menyaring heterogenitas tak teramati yang tetap-antar-waktu. Perancu yang berubah-antar-waktu (kualitas manajemen yang naik-turun, kondisi pasar) tidak tersentuh — untuk itu butuh variabel instrumen, DiD modern, atau regresi diskontinuitas. FEM satu alat, bukan peluru perak.
Dipakai di Dunia Nyata
- Keuangan empiris. Hampir semua studi panel perusahaan di IDX — struktur modal, tata kelola, kinerja — memakai two-way FE (efek perusahaan + efek tahun) dengan galat baku terklaster, untuk mengisolasi pengaruh variabel kebijakan dari karakter bawaan perusahaan dan guncangan tahunan.
- Evaluasi kebijakan. Dampak kebijakan yang diberlakukan berbeda waktu antar daerah (misalnya program bantuan per provinsi) dianalisis dengan efek tetap daerah + waktu — fondasi yang kemudian disempurnakan metode DiD modern.
- Ekonomi tenaga kerja. Pengaruh pengalaman atau pelatihan terhadap upah ditaksir dengan efek tetap individu, menyaring kemampuan bawaan tiap pekerja yang tak teramati.
- Ekonomi pembangunan. Studi lintas negara memakai efek tetap negara untuk menyaring faktor kelembagaan dan geografis yang tetap, sehingga yang tersisa adalah pengaruh kebijakan yang berubah dari waktu ke waktu.
Lanjutan
- Sebelumnya: Common Effect Model — pendekatan pooled yang FEM perbaiki, dan tempat slope −0,808 yang menyesatkan tadi berasal.
- Alternatif: Random Effect Model — kalau efisiensi penting dan asumsinya terpenuhi, sekaligus jalan untuk variabel tetap-antar-waktu.
- Memilih di antaranya: Pemilihan Metode Panel — uji Chow, Hausman, dan Breusch-Pagan LM.
- Galat baku yang benar: Clustered SE untuk Panel.
- Melampaui two-way FE untuk perlakuan bertahap: DiD Modern Callaway-Sant’Anna.
Referensi
- Wooldridge (2010), Econometric Analysis of Cross Section and Panel Data, Bab 10.
- Baltagi (2021), Econometric Analysis of Panel Data, Bab 2–3.
- Cameron & Trivedi (2005), Microeconometrics, Bab 21.
- Goodman-Bacon (2021), “Difference-in-differences with variation in treatment timing” — kritik modern atas TWFE pada perlakuan bertahap.