Difference-in-Differences

Difference-in-Differences (kí hiệu DiD và cũng là một Quasi-experimental Design) thường được sử dụng để đánh giá tác động nhân quả của một chính sách hay cú sốc kinh tế trong bối cảnh có dữ liệu trước và sau can thiệp cho cả nhóm chịu tác động (treatment group) và nhóm đối chứng (control group). Ý tưởng cơ bản là so sánh sự thay đổi của nhóm chịu tác động với nhóm đối chứng để loại bỏ các xu hướng chung theo thời gian, từ đó tách biệt và đánh giá ảnh hưởng của chính sách (Card & Krueger, 1994; Wooldridge, 2007; Waldinger, 2022). Cách tiếp cận này đặc biệt hữu ích trong các tình huống mà thử nghiệm ngẫu nhiên không khả thi, ví dụ khi một bang áp dụng luật tăng lương tối thiểu trong khi bang lân cận không thay đổi. Trường hợp điển hình là nghiên cứu của Card & Krueger (1994) về ảnh hưởng của chính sách tăng lương tối thiểu năm 1992 của bang New Jersey trong khi Pennsylvania giữ nguyên. Nghiên cứu này cho thấy việc làm trong ngành fast food ở New Jersey không giảm, thậm chí tăng nhẹ việc làm - điều mà hoàn toàn ngược lại những dự báo của lí thuyết kinh tế về tiền lương và lao động.

Ngoài lĩnh vực kinh tế lao động, DiD cũng đã được ứng dụng trong nghiên cứu về ảnh hưởng của chính sách tăng lãi suất lên thị trường tài chính, khi các nhóm quốc gia hoặc doanh nghiệp chịu tác động chính sách khác nhau theo thời điểm (Angrist & Pischke, 2009). DiD còn giúp phân tích những thay đổi trong giáo dục, y tế, hoặc công nghệ khi một chính sách được áp dụng cục bộ trước khi mở rộng toàn quốc (Athey & Imbens, 2006).

Trong khi DiD truyền thống chỉ áp dụng cho một thời điểm can thiệp, các nghiên cứu gần đây của Callaway & Sant’Anna (2021) đã mở rộng phương pháp này cho nhiều giai đoạn và thời điểm khác nhau. Phương pháp này cho phép tính toán hiệu ứng trung bình theo từng nhóm và thời gian (gọi tắt là ATT(g,t)), đồng thời tổng hợp thành các tham số động theo event-time hoặc calendar-time (Abadie, 2005; De Chaisemartin & D’Haultfoeuille, 2020). Điều này đặc biệt quan trọng khi đánh giá các chính sách triển khai theo lộ trình, ví dụ: lãi suất cơ bản được Ngân hàng Trung ương điều chỉnh nhiều lần, hay chính sách tín dụng thay đổi dần theo khu vực.

Trong bài giảng này chúng ta sẽ tái lập lại các kết quả chính đã được trình bày trong các nghiên cứu Minimum Wages and Employment: A Case Study of the Fast Food Industry in New Jersey and Pennsylvania của Card & Krueger (1994). Data của nghiên cứu này (sau khi được làm sạch sơ bộ) có thể download tại đây.

Basic DiD

DiD là phương pháp so sánh hai lần chênh lệch. Ý tưởng chính là ta quan sát cả nhóm được tác động (treatment) và nhóm đối chứng (control) ở trước và sau khi có chính sách có hiệu lực. Việc này được tiến hành theo các như sau:

  • Bước 1: So sánh trung bình kết quả giữa treatment và control sau khi có chính sách.

  • Bước 2: So sánh trung bình kết quả giữa treatment và control trước khi có chính sách.

  • Bước 3: Lấy chênh lệch của hai chênh lệch trên.

Cách làm này loại bỏ được sự khác biệt vốn có giữa hai nhóm, cũng như các xu hướng chung theo thời gian giữa các nhóm. Do vậy nếu chúng ta kí hiệu:

  • \(\bar{Y}_{T,A}\) là Trung bình của nhóm Treatment sau chính sách.

  • \(\bar{Y}_{T,B}\) là Trung bình của nhóm Treatment trước chính sách.

  • \(\bar{Y}_{C,A}\) là Trung bình của nhóm Control sau chính sách.

  • \(\bar{Y}_{C,B}\) là Trung bình của nhóm Control trước chính sách.

Thì ước lượng DiD là:

\[ \widehat{DID} = (\bar{Y}_{T,A} - \bar{Y}_{C,A}) - (\bar{Y}_{T,B} - \bar{Y}_{C,B}) \]

Để minh họa chúng ta xét một bộ dữ liệu giả định gôm 70 quốc gia thuộc 7 nhóm từ A đến G để đánh giá xem hiệp định giảm thải CO2 ra đời vào năm 1994 có ảnh hưởng đến việc giảm thải Carbon (kí hiệu là y - biến phụ thuộc) hay không. Trước hết cần load bộ dữ liệu này (Panel101.dta):

# Load data from https://libguides.princeton.edu: 
library(haven)
mydata <- read_dta("https://dss.princeton.edu/training/Panel101.dta")

Chúng ta tạo ra các biến dummies đại diện cho control và treatment group (cột treated) và cho thời điểm trước/sau khi có chính sách (cột eventTime):

# Prepare data for DiD modeling: 
library(dplyr)

mydata %>% 
  mutate(
    eventTime = case_when(year >= 1994 ~ "After", TRUE ~ "Before"), 
    treated = case_when(country %in% 5:7 ~ "Treatment", TRUE ~ "Control")
  ) -> mydata

Rồi sau đó tính toán các khác biệt của trung bình theo phương trình ở trên. Dưới đây là R codes cho những tính toán “nặng nhọc” này:

mydata %>%
  mutate(treated = factor(treated, levels = c("Control", "Treatment")),
         eventTime = factor(eventTime, levels = c("Before", "After"))) -> mydata

# Trung bình của Treatment, Control trước và sau thời điểm chính sách: 
mydata %>% 
  group_by(treated, eventTime) %>% 
  summarise(avg = mean(y)) %>% 
  arrange(eventTime) -> dfMean

dfMean %>% pull(avg) -> cacTrungBinh

# Tính DiD: 

cacTrungBinh[4] - cacTrungBinh[3] - (cacTrungBinh[2] - cacTrungBinh[1])
## [1] -2519511630

Kết quả là -2519511630 này, thay vì có được bằng các tính toán thủ công như trên, chúng ta có thể ước lượng theo cách khác từ mô hình DiD sau:

\[ y_{it} = \alpha + \beta_1 \,\text{treated}_i + \beta_2 \,\text{eventTime}_t + \delta \,(\text{treated}_i \times \text{eventTime}_t) + \varepsilon_{it} \]

Thực hiện ước lượng và xem kết quả:

# DiD 
library(stargazer)

basicDiD <- mydata %>% lm(y ~ treated * eventTime, data = .)

stargazer(basicDiD,
          type = "text",
          title = "Kết quả ước lượng mô hình Difference-in-Differences",
          align = TRUE,
          dep.var.labels = "Mức phát thải carbon, kí hiệu y",
          # covariate.labels = c("Treated", "eventTime", "DiD (treated × eventTime)"),
          # omit.stat = c("f", "ser"),
          digits = 3,
          star.cutoffs = c(0.1, 0.05, 0.01))
## 
## Kết quả ước lượng mô hình Difference-in-Differences
## ===============================================================
##                                       Dependent variable:      
##                                 -------------------------------
##                                 Mức phát thải carbon, kí hiệu y
## ---------------------------------------------------------------
## treatedTreatment                       1,775,969,673.000       
##                                       (1,127,561,849.000)      
##                                                                
## eventTimeAfter                        2,289,454,651.000**      
##                                        (952,963,694.000)       
##                                                                
## treatedTreatment:eventTimeAfter       -2,519,511,630.000*      
##                                       (1,455,676,087.000)      
##                                                                
## Constant                                358,143,950.000        
##                                        (738,162,503.000)       
##                                                                
## ---------------------------------------------------------------
## Observations                                  70               
## R2                                           0.083             
## Adjusted R2                                  0.041             
## Residual Std. Error               2,952,650,012.000 (df = 66)  
## F Statistic                           1.984 (df = 3; 66)       
## ===============================================================
## Note:                               *p<0.1; **p<0.05; ***p<0.01

Hệ số của did là âm \(-2,519,511,630.000\) (chính là kết quả thu được bằng tính toán thủ công ở phần trên) cho thấy chính sách giảm thải Carbon có làm giảm mức phát thải CO2 và kết luận này có ý nghĩa thống kê ở mức 10% (p_value = 0.088).

Nghiên cứu của Card & Krueger

Nghiên cứu năm 1994 của David Card và Alan Krueger, “Minimum Wages and Employment: A Case Study of the Fast-Food Industry in New Jersey and Pennsylvania”, được coi là một đóng góp mang tính bước ngoặt trong lĩnh vực kinh tế lao động. Trước thập niên 1990, quan điểm chủ đạo của giới kinh tế học – với hơn 90% các nhà kinh tế được khảo sát (Kearl et al., 1979) – cho rằng việc áp dụng luật lương tối thiểu sẽ tất yếu làm giảm việc làm của lao động kỹ năng thấp (Lester, 1964). Tuy nhiên, bằng việc tận dụng “thí nghiệm tự nhiên” khi bang New Jersey tăng lương tối thiểu còn Pennsylvania giữ nguyên, Card và Krueger đã cung cấp bằng chứng thực nghiệm đối nghịch: việc làm trong ngành fast food tại New Jersey không giảm, thậm chí có xu hướng tăng. Nghiên cứu này đã tạo ra một làn sóng thay đổi trong tư duy kinh tế học, buộc các nhà nghiên cứu và hoạch định chính sách phải xem xét lại giả định chuẩn tắc vốn chỉ dựa trên mô hình thị trường lao động cạnh tranh hoàn hảo. Thay vào đó, nó mở ra một góc nhìn mới: tác động của lương tối thiểu có thể khác biệt trong những bối cảnh thị trường cụ thể, chẳng hạn như thị trường lao động là monopsony – nơi doanh nghiệp nắm quyền lực nhất định trong việc quyết định mức lương và khối lượng lao động.

Vào ngày 1 tháng 4 năm 1992, bang New Jersey (NJ) đã nâng mức lương tối thiểu từ 4,25 USD lên 5,05 USD mỗi giờ. Để đánh giá tác động thực sự của chính sách này, Card và Krueger đã tiến hành khảo sát 410 cửa hàng thức ăn nhanh tại New Jersey và khu vực phía Đông Pennsylvania (PA) – nơi mức lương tối thiểu vẫn giữ nguyên. Bằng cách so sánh sự thay đổi việc làm ở các cửa hàng thuộc New Jersey với các cửa hàng ở Pennsylvania, và chỉ sử dụng cách tiếp cận kinh tế lượng đơn giản (nhưng hiệu quả), hai tác giả đã thu được những bằng chứng thực nghiệm trái ngược hoàn toàn với dự báo của kinh tế học lao động.

Trước hết, cần hiểu hơn về việc DiD vận hành như thế nào trong vai trò là một công cụ suy luận nhân quả. Nói một cách đơn giản, DiD cố gắng mô phỏng quá trình thử nghiệm đối chứng ngẫu nhiên (Randomised Control Trial - RCT) bằng cách phân tích sự khác biệt trong tác động của một chính sách hay can thiệp đối với nhóm được/bị tác động so với nhóm đối chứng. Tuy nhiên trong thực tế chúng ta hiếm khi có được những điều kiện lí tưởng của quá trình RCT. Thay vào đó, DiD thường dựa trên các “thí nghiệm tự nhiên” – là những tình huống chính sách hoặc cú sốc xảy ra ngoài sự kiểm soát của nhà nghiên cứu. Khi áp dụng DiD, ta phải giả định một điều then chốt gọi là giả định xu hướng song song (parallel trend assumption). Giả định này cho rằng nếu không có sự can thiệp (hay sự xuất hiện của chính sách), nhóm được tác động và nhóm đối chứng sẽ tiếp tục đi theo cùng một xu hướng. Dựa trên giả định này, ta có thể so sánh sự thay đổi trong kết quả của nhóm được/bị tác động sau khi chính sách được thực thi với nhóm đối chứng mà “trơ” với chính sách để có được ước lượng DiD (như đã minh họa trong phần Basic DiD ở trên).

Có một vài lý do giải thích tại sao giả định xu hướng song song có thể được chấp nhận trong nghiên cứu này. Trước hết, New Jersey (NJ) là một bang nhỏ với nền kinh tế gắn kết chặt chẽ với các bang lân cận, do đó việc so sánh các cửa hàng thức ăn nhanh ở phía Đông Pennsylvania (PA) với các cửa hàng ở NJ được xem là hợp lý. Những cú sốc chung không quan sát được, nếu có, nhiều khả năng sẽ ảnh hưởng đến cả hai nhóm như nhau. Thêm vào đó, các mô hình mang tính mùa vụ của việc làm ở NJ và PA khá tương đồng, điều này giúp phương pháp DiD loại bỏ được các tác động thời vụ khi phân tích thay đổi việc làm.

Cũng cần làm rõ tại sao nghiên cứu lại lựa chọn các cửa hàng thức ăn nhanh lại là thích hợp hơn cả. Có một số lý do quan trọng: (i) đây là ngành sử dụng nhiều lao động có mức lương thấp, (ii) số lượng chuỗi lớn không nhiều và hầu hết đều tuân thủ quy định về lương tối thiểu, vì vậy khi mức lương tăng thì họ buộc phải điều chỉnh lương, (iii) công việc và sản phẩm trong ngành này có tính đồng nhất cao, nhờ đó việc đo lường các chỉ số như việc làm, tiền lương và giá cả trở nên đáng tin cậy hơn; đặc biệt, việc nhân viên không nhận tiền tip giúp quá trình đo lường lương trở nên đơn giản, và (iv) dữ liệu dễ thu thập, bởi trong các khảo sát qua điện thoại trước đây, các cửa hàng fast food thường có tỷ lệ phản hồi rất cao.

Một số kết quả chính

Dưới đây là R codes để tái tạo lại một số kết quả chính được trình bày trong nghiên cứu này. Trước hết là Figure 1 (biểu đồ cột về phần trăm khoảng lương tại NJ và PA):

# Làm sạch môi trường R: 
rm(list = ls())

# Load các thư viện cần thiết cho xử lí và làm sạch dữ liệu: 
library(tidyr)
library(ggplot2)
library(stringr)


# Đọc dữ liệu (download từ https://www.mediafire.com/file/bi3d5zpdntu7b8f/card_wageData.csv/file): 
read.csv("E:\\Project_LabourStructureThesis\\DiD_lecture\\card_wageData.csv") -> df

# Rename lại kí hiệu cho các bang: 

df %>% 
  mutate(
    state = case_when(state == 1 ~ "NJ", TRUE ~ "PA")
  ) -> df


df %>% 
  select(
    wage_st, 
    state
    ) %>% 
  mutate(
    category = cut(
      wage_st,
      breaks = seq(4.25, 5.76, by = 0.1),
      include.lowest = TRUE,
      right = FALSE
    )
  ) %>% 
  mutate(
    category = factor(category)
  ) -> table2


# Tính tổng số cửa hàng được khảo sát theo state và khoảng lương: 

table2 %>% 
  group_by(state, category) %>% 
  count() -> table2_sum

# Chuyển sang wide form: 

table2_wide <- table2_sum %>%
  pivot_wider(
    names_from = state,
    values_from = n,
    values_fill = 0
  )

# Tăng 1 nếu khác không, còn lại để nguyên: 

table2_wide %>% 
  mutate(
    across(c("NJ", "PA"), ~ case_when(.x != 0 ~ .x + 1, TRUE ~ .x))
  ) -> table2_wide


# PA và NJ lần lượt có 79 và 331 cửa hàng do vậy
# tỉ lệ phần trăm theo khoảng lương tại mỗi bang là: 


table2_wide <- table2_wide %>%
  mutate(
    pa_percent = (PA / 79) * 100,
    nj_percent = (NJ / 331) * 100
  )



## 5) Bảng dành cho vẽ (melt sang long cho 2 cột phần trăm)

table2_graph <- table2_wide %>%
  select(category, nj_percent, pa_percent) %>%
  pivot_longer(
    cols = c(nj_percent, pa_percent),
    names_to = "state",
    values_to = "percentage"
  )



# Tái lập lại Figure 2 - February 1992 trong paper
# (làm tương tự cho November 1992): 

theme_set(theme_minimal())

table2_graph %>% 
  na.omit() %>% 
  ggplot(aes(x = category, y = percentage, fill = state)) + 
  geom_col(position = "dodge") + 
  labs(
    title = "Distribution of Starting Wage Rates, February 1992",
    x = "Wage Range",
    y = "Percentage of Stores"
    ) + 
  theme(legend.position = c(0.8, 0.8)) + 
  theme(axis.text.x = element_text(size = 8))

Còn dưới đây là R codes cho Table 3:

# Tóm tắt theo state (N, mean, var, na_sum) + se: 

results <- df %>%
  group_by(state) %>%
  summarise(
    N      = n(),
    mean   = mean(fte, na.rm = TRUE),
    var    = var(fte, na.rm = TRUE),
    na_sum = sum(is.na(fte)),
    .groups = "drop"
  ) %>%
  mutate(
    n  = N - na_sum,
    se = sqrt(var / n)
  )

# Thống kê before/after + SE, đổi mã state, và lấy result_df: 

grouped_data <- df %>%
  group_by(state) %>%
  summarise(
    mean_before = mean(fte, na.rm = TRUE),
    mean_after  = mean(fte_after, na.rm = TRUE),
    var_before  = var(fte, na.rm = TRUE),
    var_after   = var(fte_after, na.rm = TRUE),
    n_before    = sum(!is.na(fte)),
    n_after     = sum(!is.na(fte_after)),
    .groups = "drop"
  ) %>%
  mutate(
    se_mean_before = sqrt(var_before / n_before),
    se_mean_after  = sqrt(var_after  / n_after),
    change_mean_fte = mean_after - mean_before
  )

result_df <- grouped_data %>%
  select(state, mean_before, mean_after, change_mean_fte, se_mean_before, se_mean_after)

# Balanced sample: lọc đủ cặp fte & fte_after: 

filtered_data <- df %>%
  filter(!is.na(fte), !is.na(fte_after))

balanced_sample <- filtered_data %>%
  group_by(state) %>%
  summarise(
    mean_before_balanced = mean(fte, na.rm = TRUE),
    mean_after_balanced  = mean(fte_after, na.rm = TRUE),
    .groups = "drop"
  ) %>%
  mutate(
    change_mean_fte_balanced = mean_after_balanced - mean_before_balanced,
    # state = recode(as.character(state), `0` = "PA", `1` = "NJ")
  )

result_balanced_df <- balanced_sample %>%
  select(state, change_mean_fte_balanced)

# Gộp bảng chính + balanced: 

full_table <- result_df %>%
  left_join(result_balanced_df, by = "state") %>%
  select(state, mean_before, mean_after,
         se_mean_before, se_mean_after,
         change_mean_fte, change_mean_fte_balanced)

# Chuyển về long form cho data với cột là PA/NJ và thêm Diff_NJ-PA. 
# Đây chính là kết quả được trình bày ở Table 3 của paper: 

result <- full_table %>%
  pivot_longer(
    cols = c(mean_before, mean_after, se_mean_before, se_mean_after,
             change_mean_fte, change_mean_fte_balanced),
    names_to = "variable", values_to = "value"
  ) %>%
  pivot_wider(names_from = state, values_from = value) %>%
  mutate(Diff_NJ_PA = NJ - PA) %>%
  select(variable, PA, NJ, Diff_NJ_PA) %>%
  arrange(factor(variable, levels = c(
    "mean_before","mean_after","se_mean_before","se_mean_after",
    "change_mean_fte","change_mean_fte_balanced"
  )))


library(kableExtra)

result %>% 
  kbl(caption = "Table 3: Average Emplyment Per Stores", escape = TRUE) %>% 
  kable_classic(full_width = FALSE, html_font = "Cambria")
Table 3: Average Emplyment Per Stores
variable PA NJ Diff_NJ_PA
mean_before 23.3311688 20.4394081 -2.8917607
mean_after 21.1655844 21.0274295 -0.1381549
se_mean_before 1.3511489 0.5082607 -0.8428882
se_mean_after 0.9432212 0.5203094 -0.4229117
change_mean_fte -2.1655844 0.5880214 2.7536058
change_mean_fte_balanced -2.2833333 0.4666667 2.7500000

DiD Estimators

So sánh mức việc làm quy đổi toàn thời gian (Full-time Equivalent, FTE) trước và sau khi chính sách có hiệu lực (Table 3) cho thấy: ban đầu các cửa hàng ở New Jersey (NJ) có FTE bình quân thấp hơn Pennsylvania (PA), nhưng sau đợt tăng lương tối thiểu, FTE của NJ lại tăng tương đối so với PA. Để đo mức tăng tương đối này, ta dùng ước lượng DiD cho thay đổi FTE bình quân và thu được giá trị 2,75. Nghĩa là trong giai đoạn NJ nâng lương tối thiểu, số lao động FTE bình quân (mỗi cửa hàng) ở NJ tăng thêm khoảng 2,75 người so với xu hướng ở PA. Dấu dương của DiD này trái với dự đoán của mô hình cạnh tranh chuẩn, vốn thường kỳ vọng việc tăng lương tối thiểu sẽ làm giảm việc làm.

Một lần nữa, thay vì làm thủ công như trên, chúng ta có thể thực hiện ước lượng DiD bằng hồi quy OLS - vừa gọn vừa tổng quát hơn — và kèm theo kiểm định giả thuyết cho hệ số tác động DiD (ký hiệu là \(\delta\)) từ mô hình sau:

\[ \text{FTE}_{it} = \beta_{1} + \delta\big(\text{STATE}_i \times eventTime_t\big) + e_{it}. \]

Với ý nghĩa:

  • Nếu \(\delta < 0\): Chính sách lương tối thiểu dẫn đến giảm việc làm (các nhà kinh tế học lao động truyền thống mong muốn quan sát thấy kết quả này).

  • Nếu \(\delta \ge 0\): Chính sách tăng lương tối thiểu không dẫn đến giảm việc làm.

Dưới đây là R codes để ước lượng \(\delta\) từ mô hình trên:

# Xếp chồng dữ liệu fte & fte_after để tạo fte_total cho mô hình DiD: 

fte_total <- bind_rows(
  df %>% transmute(fte_total = fte, eventTime = "Before", state, co_owned, centralj, southj, chain, pa1),
  df %>% transmute(fte_total = fte_after,  eventTime = "After", state, co_owned, centralj, southj, chain, pa1)
)


# Convert về factor với ý nghĩa PA là control group: 

fte_total %>% 
  mutate(eventTime = factor(eventTime, levels = c("Before", "After")), 
         state = factor(state, levels = c("PA", "NJ"))) -> fte_total

# Simple diff-in-diff regression (không controls): 

mod1 <- lm(fte_total ~ eventTime * state, data = fte_total)

stargazer(mod1,
          type = "text",
          title = "Difference-in-Differences (Card & Krueger, 1994)",
          align = TRUE,
          dep.var.labels = "FTE Employment",
          digits = 3,
          star.cutoffs = c(0.1, 0.05, 0.01))
## 
## Difference-in-Differences (Card & Krueger, 1994)
## ==================================================
##                            Dependent variable:    
##                        ---------------------------
##                              FTE Employment       
## --------------------------------------------------
## eventTimeAfter                   -2.166           
##                                  (1.516)          
##                                                   
## stateNJ                         -2.892**          
##                                  (1.194)          
##                                                   
## eventTimeAfter:stateNJ            2.754           
##                                  (1.688)          
##                                                   
## Constant                        23.331***         
##                                  (1.072)          
##                                                   
## --------------------------------------------------
## Observations                       794            
## R2                                0.007           
## Adjusted R2                       0.004           
## Residual Std. Error         9.406 (df = 790)      
## F Statistic                1.964 (df = 3; 790)    
## ==================================================
## Note:                  *p<0.1; **p<0.05; ***p<0.01

Hệ số của biến tương tác chính là ước lượng DiD; nó dương và vẫn bằng 2,75 như ta tính toán thủ công ở trên. Đồng thời, p-value = 0,10 > 0,05, nên ta không có bằng chứng thống kê để bác bỏ giả thuyết không (fail to reject the null hypothesis). Vì vậy, không thể kết luận rằng việc tăng lương tối thiểu ở NJ đã làm giảm việc làm tại các cửa hàng thức ăn nhanh ở NJ (ước lượng dương nhưng không đủ ý nghĩa thống kê ở mức 5%).

Ta chạy thêm một mô hình hồi quy có biến kiểm soát (control variables). Một nhóm kiểm soát là biến giả theo chuỗi nhà hàng (chain dummies) và hình thức sở hữu (công ty sở hữu so với nhượng quyền). Nhóm khác là biến giả theo vùng địa lý trong khu vực khảo sát. Mô hình này như sau:

\[ \text{FTE}_{it} = \beta_{1} + \delta\big(\text{STATE}_i \times \text{eventTime}_i\big) + \beta_{4}\,\text{CHAIN}2 + \beta_{5}\,\text{CHAIN}3 + \beta_{6}\,\text{CHAIN}4 + \beta_{7}\,\text{COOWNED} + \beta_{8}\,\text{CENTRALJ} + \beta_{9}\,\text{SOUTHJ} + \beta_{10}\,\text{PA1} + e_{it}. \]

# Chuẩn bị dữ liệu: 
fte_total %>% 
  mutate(chain = str_c("chain", chain)) %>% 
  mutate(pa1 = case_when(pa1 == 1 ~ "NJ", TRUE ~ "PA")) %>% 
  mutate(owned = case_when(co_owned == 1 ~ "company", TRUE ~ "franchise")) %>% 
  mutate(region = case_when(centralj == 1 ~ "centralNJ", southj == 1 ~ "southNJ", TRUE ~ "Others")) %>% 
  mutate(chain = factor(chain)) %>% 
  mutate(pa1 = factor(pa1, levels = c("PA", "NJ"))) %>% 
  mutate(owned = factor(owned, levels = c("company", "franchise"))) %>% 
  mutate(region = factor(region, levels = c("Others", "centralNJ", "southNJ"))) -> fte_totalCon
  
# Thực hiện ước lượng và xem kết quả: 

fte_totalCon %>% 
  lm(fte_total ~ state * eventTime + chain + pa1 + owned + region, data = .) -> mod2


stargazer(mod2,
          type = "text",
          title = "DiD Estimator (Card & Krueger, 1994) with Control Variables",
          align = TRUE,
          dep.var.labels = "FTE Employment",
          digits = 3,
          star.cutoffs = c(0.1, 0.05, 0.01))
## 
## DiD Estimator (Card & Krueger, 1994) with Control Variables
## ==================================================
##                            Dependent variable:    
##                        ---------------------------
##                              FTE Employment       
## --------------------------------------------------
## stateNJ                          -0.908           
##                                  (1.272)          
##                                                   
## eventTimeAfter                   -2.212           
##                                  (1.349)          
##                                                   
## chainchain2                    -10.058***         
##                                  (0.845)          
##                                                   
## chainchain3                     -1.693**          
##                                  (0.859)          
##                                                   
## chainchain4                      -1.065           
##                                  (0.921)          
##                                                   
## pa1NJ                             0.924           
##                                  (1.385)          
##                                                   
## ownedfranchise                    0.716           
##                                  (0.719)          
##                                                   
## regioncentralNJ                   0.008           
##                                  (0.897)          
##                                                   
## regionsouthNJ                   -3.702***         
##                                  (0.780)          
##                                                   
## stateNJ:eventTimeAfter           2.815*           
##                                  (1.502)          
##                                                   
## Constant                        24.604***         
##                                  (1.323)          
##                                                   
## --------------------------------------------------
## Observations                       794            
## R2                                0.221           
## Adjusted R2                       0.211           
## Residual Std. Error         8.367 (df = 783)      
## F Statistic             22.265*** (df = 10; 783)  
## ==================================================
## Note:                  *p<0.1; **p<0.05; ***p<0.01

Kết quả này chỉ ra rằng ngay cả có thêm các biến kiểm soát vào mô hình, thì ước lượng của DiD vẫn dương và còn thay đổi rất ít về giá trị. Nghĩa là ngay cả khi tính đến các yếu tố khác, thì ta vẫn không thể kết luận rằng việc tăng lương tối thiểu ở NJ đã làm giảm việc làm tại các cửa hàng thức ăn nhanh ở NJ.

Thảo Luận về Kết Quả

Kết quả của nghiên cứu này, như đã nêu ở trên, là không trùng khớp với những gì mô hình cạnh tranh chuẩn dự đoán. Theo khung lý thuyết đó, khi lương tăng do một cú sốc ngoại sinh—chẳng hạn chính sách nâng lương tối thiểu—việc làm ở cấp doanh nghiệp sẽ giảm; mở rộng lên cấp ngành, mô hình đồng thời dự báo suy giảm việc làm đi kèm với mức giá sản phẩm cao hơn. Trái lại, bằng chứng thực nghiệm trong nghiên cứu đang xét không cho thấy khuôn mẫu suy giảm như vậy, qua đó tạo ra một độ vênh đáng kể giữa lý thuyết và dữ liệu.

Đặt kết quả này vào bối cảnh rộng hơn, hai tác giả nhắc lại những khảo sát kinh điển của Brown et al. (1982, 1983) dùng để ước tính độ co giãn của việc làm lương thấp đối với lương tối thiểu. Kết luận chính từ các khảo sát là: nếu “mức lương tối thiểu điều chỉnh theo phạm vi bao phủ” tăng 10%, tỷ lệ việc làm của thanh thiếu niên giảm khoảng 1–3%. Vì ước lượng này áp dụng cho toàn bộ nhóm thanh thiếu niên—chứ không chỉ riêng lao động lương thấp—nó được xem như một cận dưới cho cường độ tác động trong phân khúc lao động fast-food, nơi tỷ trọng lao động lương thấp cao hơn. Sự tương phản giữa dự báo chuẩn tắc (giảm việc làm) và kết quả thực nghiệm (không thấy giảm, thậm chí có dấu hiệu tăng) do đó đặt ra yêu cầu đọc lại các giả định nền tảng khi suy luận về tác động của chính sách lương tối thiểu.

Dựa trên các ước tính độ co giãn của các nghiên cứu đi trước, mức tăng 18% của lương tối thiểu ở New Jersey được dự báo sẽ làm giảm quy mô việc làm tại các cửa hàng fast-food khoảng 0,4–1,0 lao động trên mỗi cửa hàng. Tuy nhiên, bằng chứng thực nghiệm của nghiên cứu này bác bỏ phần biên trên của khoảng dự báo đó; dẫu vậy, ta không loại trừ hoàn toàn khả năng tồn tại một tác động âm nhỏ. Nghĩa là, nếu có giảm việc làm thì quy mô giảm cũng rất hạn chế.

Một phản biện thường thấy là cú sốc cầu địa phương không quan sát được ở NJ: giả sử những cửa hàng vốn trả lương dưới mức tối thiểu ban đầu lại đồng thời gặp thuận lợi về cầu tại địa bàn của họ; khi ấy, tác động âm của chính sách tăng lương tối thiểu (theo mô hình cạnh tranh chuẩn) sẽ bị trung hòa phần nào trong dữ liệu. Vấn đề của lập luận này là nếu quả thật có cú sốc cầu tích cực như vậy, mô hình cạnh tranh chuẩn cũng dự đoán giá bán sẽ tăng. Thế nhưng, ở các cửa hàng lương thấp tại NJ, ta không quan sát thấy mức giá tăng tương đối đi kèm với mức tăng việc làm tương đối. Hơn nữa, phân tích tại hai vùng ngoại ô lớn cho thấy ngay trong cùng một khu vực địa lý, những cửa hàng buộc phải tăng lương nhiều hơn vì chính sách mới lại có tốc độ tăng việc làm nhanh hơn. Những mảnh bằng chứng này khiến lời giải thích bằng “cú sốc cầu địa phương” kém thuyết phục và càng làm nổi bật sự lệch pha giữa dự báo của mô hình cạnh tranh chuẩn và kết quả thực nghiệm trong bối cảnh nghiên cứu này.

Một Cố Gắng Giải Thích cho Kết Quả

Kết quả thực nghiệm từ nghiên cứu này cho thấy mô hình cạnh tranh chuẩn không khớp, nên một nhánh lý thuyết thay thế thường được xem xét là thị trường lao động độc quyền mua (monopsony). Nếu độc quyền (monopoly) là “một người bán—nhiều người mua”, thì độc quyền mua là “một người mua—nhiều người bán”. Trong thị trường lao động mang tính độc quyền mua, “người bán” là người lao động chào bán sức lao động, còn “người mua” là doanh nghiệp. Khi đó, mỗi cửa hàng fast-food đối mặt với đường cung lao động dốc lên ở cấp độ “theo doanh nghiệp” (do chi phí tìm việc, khoảng cách địa lý, lịch làm việc, ràng buộc gia đình… khiến độ co giãn cung lao động đối với một doanh nghiệp riêng lẻ là hữu hạn). Hệ quả quan trọng là: một mức lương tối thiểu phù hợp có thể làm tăng việc làm ở doanh nghiệp bị tác động, thậm chí ở toàn ngành—đi ngược lại dự đoán giảm việc làm của mô hình cạnh tranh hoàn hảo.

Dưới đây trình bày một nỗ lực để giải thích cho kết luận trái ngược với mô hình chuẩn của kinh tế học lao động ở trên.

Để nắm ý tưởng một cách hệ thống, ta mô tả (về mặt toán học) mô hình thị trường lao động độc quyền mua. Giả định có một nhà tuyển dụng duy nhất và họ trả cùng một mức lương cho mọi lao động. Để đơn giản, doanh nghiệp bán đầu ra trên thị trường cạnh tranh hoàn hảo nên là sẽ là price taker. Doanh nghiệp sản xuất bằng một yếu tố duy nhất là lao động, với hàm sản xuất \(y = f(L)\).

Trong bối cảnh độc quyền mua (monopsony), doanh nghiệp đối mặt với đường cung lao động dốc lên ở cấp độ “theo doanh nghiệp”. Nghĩa là khi muốn tuyển thêm người, họ phải nâng mức lương để thu hút thêm lao động; mức lương chi trả \(w\) phụ thuộc vào quy mô tuyển dụng \(L\) theo hàm cung ngược \(w(L)\). Vì quyết định tuyển dụng làm thay đổi chính mức lương phải trả, doanh nghiệp có quyền lực thị trường ở phía mua (price maker). Điều này tương phản với thị trường lao động cạnh tranh, nơi mỗi doanh nghiệp đối mặt với đường cung hoàn toàn co giãn (perfectly elastic). Khi đó, doanh nghiệp có thể thuê bao nhiêu lao động cũng được ở đúng mà không làm thay đổi mức lương này; doanh nghiệp là price taker (vì anh ta lúc này là monopsonist).

Tổng chi phí lao động được mô tả bởi hàm \(w(L)L\) (bạn đọc quan tâm có thể tham khảo thêm từ trang 508, chương 27 - Factor Markets cuốn Intermediate Microeconomics with Calculus: A Modern Approach của Hal R. Varian). Bài toán tối đa hoá lợi nhuận của doanh nghiệp độc quyền mua lúc này là:

\[ \max_{L}\ \pi(L)=p\,f(L)-w(L)\,L. \]

Đạo hàm bậc nhất: \[ \frac{\partial \pi}{\partial L}=0. \]

Lấy đạo hàm theo \(L\) ta được: \[ p\,f'(L)-\big[w(L)+L\,w'(L)\big]=0 \quad\Longleftrightarrow\quad p\,f'(L)=w(L)+w'(L)\,L. \]

Điều kiện trên cho biết doanh thu cận biên khi thuê thêm một đơn vị lao động phải bằng chi phí cận biên của đơn vị đó. Vì ta giả định thị trường đầu ra cạnh tranh, doanh nghiệp là price taker, nên doanh thu cận biên chính là vế trái của phương trình sau:

\[\text{MR}(L)=pf'(L)\].

Còn vế phải của phương trình này chính là MC (marginal cost). Cách hiểu tương tự MR (marginal revenue): khi doanh nghiệp tăng sử dụng lao động thì nó phải chi trả chi phí cho lao động thêm. Nhưng cầu đối với lao động cũng sẽ đẩy giá (của lao động) lên và công ti phải chi trả một mức giá cao hơn cho cả các lao động mà nó thuê trước đó. Chúng ta có thể viết lại marginal cost của việc tuyển dụng thêm lao động như sau:

\[ \mathrm{MC}_L \;=\; w\!\left[\,1 + \frac{L}{w}\,\frac{dw}{dL}\right] \]

\[ \mathrm{MC}_L \;=\; w\!\left[\,1 + \frac{1}{\eta}\right] \]

Ở đây \(\eta\) là supply elasticity của lao động. Vì đường cung thường dốc lên, độ co giãn cung lao động \(\eta\) sẽ là một số dương. Nếu đường cung hoàn toàn co giãn, khi đó \(\eta\) tiến tới vô hạn, và điều này hàm ý doanh nghiệp đang đối mặt với thị trường lao động cạnh tranh (doanh nghiệp là price taker).

Bây giờ chúng ta hãy chuyển sang tình huống thị trường lao động độc quyền mua (monopsonistic labour market mode). Lúc này đường cung có dạng:

\[ w(L) \;=\; a + bL \]

Vì thế, hàm tổng chi phí cho lao động là:

\[ C(L) \;=\; w(L)\,L \;=\; aL + bL^{2} \]

Lấy đạo hàm bậc nhất (theo L) chúng ta sẽ có MC của lao động là: \[\mathrm{MC}_L(L) \;=\; a + 2bL\].

Với mục đích tối đa hóa lợi nhuận thì điều kiện MC = MR đạt được khi lao động ở mức \(L*\) như hình dưới đây:

Bởi vì MC của việc thuê thêm một đơn vị lao động vượt quá mức lương, mức lương sẽ thấp hơn nếu công ti phải đối mặt với thị trường cạnh tranh. Quá ít lao động sẽ được tuyển dụng so với tình huống thị trường cạnh tranh. Do vậy, đây là một tình huống phi hiệu quả Pareto. Chúng ta hãy nhìn vào diagram dưới đây trong tình huống thị trường lao động là monopsonistic:

Trong sơ đồ này, \(w_m\)\(L_m\) lần lượt là mức lương và mức việc làm dưới chế độ độc quyền mua—đúng như hình minh họa đã trình bày trước đó. Điểm mới ở đây là \(w_C\)\(L_C\), tức mức lương và mức việc làm nếu thị trường lao động là cạnh tranh. Nếu chính phủ ấn định mức lương tối thiểu bằng đúng mức lương sẽ hình thành trong thị trường cạnh tranh, \(w_C\), thì doanh nghiệp độc quyền mua sẽ cho rằng mình có thể thuê lao động với một mức lương cố định \(w_C\). Vì mức lương mà doanh nghiệp đối mặt nay không phụ thuộc vào số lao động được thuê, doanh nghiệp sẽ tuyển dụng cho đến khi giá trị sản phẩm cận biên bằng \(w_C\). Nói cách khác, doanh nghiệp sẽ thuê đúng bằng số lao động như khi đối mặt với một thị trường lao động cạnh tranh.

Mức lương sàn (wage floor) đạt được trong hoàn cảnh này khiến doanh nghiệp cư xử như thể đang đối mặt với một thị trường cạnh tranh: không chỉ làm tăng tiền lương mà còn tạo ra tác động tích cực đến việc làm. Đây chính là điều ta thấy trong kết quả của bài nghiên cứu: ở New Jersey, việc làm tăng sau khi lương tối thiểu được nâng lên. Vì vậy, mô hình thị trường lao động độc quyền mua là một cách lý giải khả dĩ cho vì sao các tác động việc làm quan sát được lại có kết quả như vậy. Về mặt thực chứng, hành vi “gần như độc quyền mua” của nhà tuyển dụng đã được ghi nhận, đặc biệt trong thị trường y tá và giảng viên đại học (Sullivan, 1989; Ransom, 1993).

Kế tiếp chúng ta hãy xem xét mô hình tìm kiếm cân bằng (Equilibrium Search Model, ESM), trong đó doanh nghiệp đăng mức lương và người lao động tìm kiếm giữa các mức lương được đăng. Đặc biệt là mô hình đăng lương của Burdett–Mortensen (BM) (Burdett & Mortensen, 1989; 1998). Đi sâu vào mô hình BM vượt quá phạm vi của bài viết này (vì phần lý thuyết khá nặng về toán). Về bản chất, mô hình BM tìm cách tiến gần hơn đến đáp án cho câu hỏi vì sao tồn tại chênh lệch tiền lương giữa các ngành và giữa các doanh nghiệp và những chênh lệch không thể giải thích hoàn toàn bằng dị biệt (heterogeneity) của người lao động. Phần dưới đây là các giải thích cơ chế vận hành của mô hình.

Người lao động tìm kiếm ngẫu nhiên giữa các chủ sử dụng để kiếm một công việc có mức lương cao hơn khi đang có việc, và một mức lương “chấp nhận được” khi đang thất nghiệp. Ở phía doanh nghiệp, mỗi hãng đăng một mức lương (wage posting) có tính đến hành vi tìm kiếm của người lao động và mức lương mà các hãng khác đang chào. Với tập mức lương mà các hãng khác đưa ra và với phân phối mức lương dự trữ của người lao động (reservation wage—mức lương thấp nhất mà họ sẵn sàng chấp nhận cho một loại việc nhất định) đã cho, quy mô lao động sẵn có cho một doanh nghiệp cụ thể sẽ biến động theo mức lương mà doanh nghiệp đó ấn định. Mức lương càng cao thì quy mô lao động ở trạng thái dừng (steady state) càng lớn, vì các hãng trả lương cao hơn thu hút được nhiều lao động hơn từ các hãng khác và đồng thời ít bị “chảy máu” lao động. Quan hệ cung lao động hình thành như vậy sẽ quyết định lợi nhuận của mỗi doanh nghiệp, có điều kiện theo (tức phụ thuộc vào) mức lương của các doanh nghiệp khác và mức lương dự trữ của người lao động. Hàm lợi nhuận này chính là payoff trong trò chơi “đăng lương” giữa các doanh nghiệp. Cân bằng trạng thái dừng duy nhất (Unique steady-state equilibrium - duy nhất theo nghĩa chỉ có một cân bằng Nash) của trò chơi có thể được đặc trưng bởi một phân phối mức lương chào không suy biến (nondegenerate—tức có độ biến thiên thật sự) ngay cả khi mọi người lao động và mọi công việc đều đồng nhất, miễn là thỏa một điều kiện tự nhiên: tốc độ đến (arrival rate) của các lời mời làm việc mà mọi người lao động nhận được là dương nhưng hữu hạn. Khi tốc độ đến của lời mời làm việc tiến tới vô hạn, cân bằng cạnh tranh xuất hiện ở giới hạn: nói cách khác, càng nhiều lời mời đến nhanh, phân phối lương cân bằng càng tiến gần tới giá trị sản phẩm cận biên—mức lương sẽ được ấn định trong cân bằng cạnh tranh. Ngược lại, nếu người đang có việc không nhận được lời mời mới, còn người thất nghiệp có tốc độ đến dương nhưng hữu hạn, thì tất cả doanh nghiệp sẽ trả mức lương độc quyền mua; tức cân bằng thu được là cân bằng độc quyền mua.

Diễn đạt đơn giản, cân bằng trạng thái dừng này nói rằng phân tán tiền lương vẫn tồn tại ngay cả khi người lao động có năng suất như nhau ở mọi công việc. Mô hình này tiên đoán rằng: (i) người lao động giàu kinh nghiệm và có thâm niên cao hơn có xác suất được quan sát thấy ở các công việc lương cao cao hơn; (ii) có quan hệ dương giữa quy mô lực lượng lao động của doanh nghiệp và mức lương mà doanh nghiệp trả; và (iii) có quan hệ âm giữa mức lương chào và tỷ lệ nghỉ việc (quit rate) giữa các doanh nghiệp. Cuối cùng, do tồn tại các search frictions — chẳng hạn độ trễ trong việc nhận thông tin về cơ hội và điều kiện công việc—thị trường lao động chỉ hội tụ về cân bằng cạnh tranh khi các search frictions này dần biến mất.

Về heterogeneity (của người lao động), căn cứ vào mô hình BM có thể giải thích như sau: các công việc đều có năng suất như nhau, nhưng người lao động khác nhau về chi phí cơ hội của việc đi làm, hay nói cách khác, họ khác nhau về giá trị chủ quan dành cho thời gian nhàn rỗi. Khi có search frictions, sẽ xuất hiện thất nghiệp cao hơn mức hiệu quả trong khi một số cặp khớp việc–người đáng ra tạo ra lợi ích giao dịch lại không hình thành. Nguồn gốc của “thất nghiệp kém hiệu quả” này là quyền lực độc quyền mua nảy sinh khi doanh nghiệp đặt lương trong một thị trường có search frictions. Bởi vậy, áp đặt mức lương tối thiểu \(w_{\min}\) giúp giảm phần thất nghiệp kém hiệu quả và tăng lương cho tất cả người lao động đang có việc.

“Tăng lương cho tất cả” là do một điều kiện trong mô hình: khi \(w_{\min}\) ràng buộc, mức lương chào cao nhất \(w^{\max}\) trong phân phối lương cân bằng tăng theo \(w_{\min}\). Hệ quả là toàn bộ phân phối lương dịch lên, nên thu nhập của mọi lao động đang làm việc đều tăng theo mức lương tối thiểu. Vì thất nghiệp kém hiệu quả bị thu hẹp, việc làm tăng khi nâng \(w_{\min}\)—mặc dù cấu trúc thị trường vẫn là “cạnh tranh nguyên tử - atomistic wage competition” (tức là có nhiều doanh nghiệp nhỏ độc lập) chứ không phải độc quyền mua thuần túy theo nghĩa có một người mua duy nhất. Đây là hệ quả của một dạng “cạnh tranh có tính độc quyền” do search frictions tạo ra.

Một dự báo có cơ sở của mô hình mà đặc biệt phù hợp với dữ liệu là: tác động tăng việc làm của lương tối thiểu sẽ lớn nhất ở các doanh nghiệp vốn trả lương thấp nhất ban đầu. Một giả định ngầm quan trọng trong BM (và các mô hình đăng lương nói chung) là doanh nghiệp đăng một mức lương duy nhất và không mặc cả lại (no offer matching). Bằng chứng thực nghiệm cho thấy tỷ lệ mặc cả khi thiết lập lương khá thấp: chỉ khoảng 30% người lao động báo có mặc cả về lương cho công việc hiện tại; tỷ lệ này rất thấp ở lao động cổ xanh (5%) và rất cao ở lao động tri thức (86%) (Hall & Krueger, 2010). Vì vậy, độ tin cậy của giả định không mặc cả phụ thuộc mạnh vào từng ngành; với fast-food, ta có thể xem là hầu như không có mặc cả.

Sau khi xem xét cả khung độc quyền mua lẫn BM, hai mô hình này đưa ra một lời giải thích khả dĩ cho tác động việc làm quan sát được sau khi New Jersey nâng lương tối thiểu. Tuy nhiên, chúng không giải thích được tác động lên giá. Cả hai đều hàm ý giá trong ngành ở NJ phải giảm tương đối so với PA, và ở các cửa hàng lương thấp của NJ phải giảm tương đối so với các cửa hàng lương cao trong NJ. Trên thực tế, giá tăng nhanh hơn ở NJ so với PA, và tốc độ tăng xấp xỉ như nhau giữa các cửa hàng lương thấp và lương cao trong NJ. Hơn nữa, phân phối lương chào cân bằng không dịch lên như dự đoán: dường như mức lương tối thiểu không làm đổi \(w^{\max}\); ta không thấy tăng lương ở các doanh nghiệp vốn đã trả mức lương 5.05$/giờ trở lên.

Cũng còn có thể tồn tại vài khả năng lý giải độ vênh giữa mô hình và số liệu. Thứ nhất, mối liên hệ cứng giữa việc làm và giá có thể bị bẻ gãy nếu cửa hàng fast-food điều chỉnh chất lượng dịch vụ (ví dụ: độ sạch sẽ, độ dài hàng chờ giờ cao điểm). Thứ hai, các cửa hàng có thể điều chỉnh tương quan giá giữa các món. So sánh ba mặt hàng trong khảo sát cho thấy ở NJ so với PA, khoai tây chiên và nước ngọt giảm nhẹ khoảng 1.5% trong khi món chính tăng khoảng 8%. Điều này gợi ý vai trò của dịch chuyển giá tương đối sau khi lương tối thiểu tăng.

References

Abadie, A. (2005). Semiparametric difference-in-differences estimators. The Review of Economic Studies, 72(1), 1–19. https://doi.org/10.1111/0034-6527.00321

Angrist, J. D., & Pischke, J.-S. (2009). Mostly harmless econometrics: An empiricist’s companion. Princeton University Press. https://doi.org/10.1515/9781400829828

Athey, S., & Imbens, G. W. (2006). Identification and inference in nonlinear difference-in-differences models. Econometrica, 74(2), 431–497. https://doi.org/10.1111/j.1468-0262.2006.00668.x

Brown, C., Gilroy, C., & Kohen, A. (1982). The effect of the minimum wage on employment and unemployment. Journal of Economic Literature, 20(2), 487–528.

Brown, C., Gilroy, C., & Kohen, A. (1983). Time-series evidence of the effect of the minimum wage on youth employment and unemployment. Journal of Human Resources, 18(1), 3–31. https://doi.org/10.2307/145654

Burdett, K., & Mortensen, D. T. (1989). Equilibrium wage distributions: Compensating and otherwise (MEDS Working Paper). Northwestern University, Kellogg School of Management.

Burdett, K., & Mortensen, D. T. (1998). Wage differentials, employer size, and unemployment. International Economic Review, 39(2), 257–273. https://doi.org/10.2307/2527292

Callaway, B., & Sant’Anna, P. H. C. (2021). Difference-in-differences with multiple time periods. Journal of Econometrics, 225(2), 200–230. https://doi.org/10.1016/j.jeconom.2020.12.001

Card, D. (1992). Do minimum wages reduce employment? A case study of California, 1987–89. Industrial and Labor Relations Review, 46(1), 38–54. https://doi.org/10.2307/2524737

Card, D., & Krueger, A. B. (1994). Minimum wages and employment: A case study of the fast food industry in New Jersey and Pennsylvania (NBER Working Paper No. 4509). National Bureau of Economic Research. https://doi.org/10.3386/w4509

de Chaisemartin, C., & D’Haultfœuille, X. (2020). Two-way fixed effects estimators with heterogeneous treatment effects. American Economic Review, 110(9), 2964–2996. https://doi.org/10.1257/aer.20181169

Katz, L. F., & Krueger, A. B. (1992). The effect of the minimum wage on the fast-food industry. Industrial and Labor Relations Review, 46(1), 6–21. https://doi.org/10.1177/001979399204600102

Lester, R. A. (1960). Employment effects of minimum wages. ILR Review, 13(2), 254–264. https://doi.org/10.1177/001979396001300207

Lester, R. A. (1964). The economics of labor (2nd ed.). New York, NY: Macmillan. (Không có DOI)

Ransom, M. R. (1993). Seniority and monopsony in the academic labor market. American Economic Review, 83(1), 221–233.

Stigler, G. J. (1946). The economics of minimum wage legislation. American Economic Review, 36(3), 358–365.

Sullivan, D. (1989). Monopsony power in the market for nurses. Journal of Law and Economics, 32(2, Pt. 2), S135–S178. https://doi.org/10.1086/467192

Waldinger, F. (n.d.). Lecture 3: Differences-in-Differences. https://silo.tips/download/lecture-3-differences-in-differences

Wooldridge, J. M. (2007). What’s new in econometrics? Lecture 10: Difference-in-differences estimation. NBER Summer Institute. https://www.nber.org/sites/default/files/2021-03/slides_10_diffindiffs.pdf