# Country-year fixed effects when the instrument varies only by country year

by Tom Kisters   Last Updated June 30, 2020 04:19 AM

# Background

I have a pooled cross section with observations at the firm level in 10 countries over two time periods.

I am trying to estimate the following model:

$$sales=B_0 + B_1taxrate + B_2industry + B_3size + B_4urbanisation + B_5country:year + e$$

However, I have a variable bias because $$industry$$ is not observed and $$taxrate$$ is partly dependent on $$industry$$. To solve the bias, I use the exogenous variable $$votewon$$ as an instrument for $$taxrate$$.

$$sales=B_0 + B_1votewon + B_2industry + B_3size + B_4urbanisation + B_5country:year + e$$

# Issue

Now the issue is as follows:

While I have firm level data, the variable $$votewon$$ is a variable at the country level. As a result it is the same for all firm observations for a $$country:year$$.

I have however already included a $$country:year$$ dummy.

Is it a good idea to include both a $$votewon$$ dummy (which only varies by $$country:year$$) and $$country:year$$ dummy?

# Data

The data looks as follows:

``````panelID= c(1:50)
year= c(2005, 2010)
country = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")
urban = c("A", "B", "C")
indust = c("D", "E", "F")
sizes = c(1,2,3,4,5)
n <- 2
library(AER)
library(data.table)
library(dplyr)
set.seed(123)
DT <- data.table(   country = rep(sample(country, length(panelID), replace = T), each = n),
year = c(replicate(length(panelID), sample(year, n))),
sales= round(rnorm(10,10,10),2),
industry = rep(sample(indust, length(panelID), replace = T), each = n),
urbanisation = rep(sample(urban, length(panelID), replace = T), each = n),
size = rep(sample(sizes, length(panelID), replace = T), each = n))
DT <- DT %>%
group_by(country) %>%
mutate(base_rate = as.integer(runif(1, 12.5, 37.5))) %>%
group_by(country, year) %>%
mutate(taxrate = base_rate + as.integer(runif(1,-2.5,+2.5)))
DT <- DT %>%
group_by(country, year) %>%
mutate(vote = sample(c(0,1),1),
votewon = ifelse(vote==1, sample(c(0,1),1),0))

summary(ivreg(sales ~ taxrate + as.factor(size) + as.factor(urbanisation) + country:as.factor(year) | as.factor(votewon) + as.factor(size) + as.factor(urbanisation) + country:as.factor(year), data=DT))

summary(ivreg(sales ~ taxrate + as.factor(size) + as.factor(urbanisation) + as.factor(vote) + country:as.factor(year) | as.factor(votewon) + as.factor(size) + as.factor(urbanisation) + as.factor(vote) + country:as.factor(year), data=DT))
``````
Tags :