Участники из группы БЭК-194: Пономарев Павел-Рафаэль, Абгарян Арен, Сафронова Анна, Щетинина Екатерина, Игнатова Елизавета, Остроумов Андрей, Щеглов Всеволод
Цель нашего исследования - проверить, есть ли отличие в заработных платах мужчин и женщин в России, а также выяснить причины этого отличия
На основе изученной литературы была выдвинута гипотеза в России есть отличия между уровнем заработной платы мужчин и женщин
Для анализа были выбраны данные анкеты Российского мониторинга экономического положения и здоровья населения НИУ ВШЭ за 2019 год.
Расчет Gender Pay Gap
Для анализа неравенства доходов гендерных групп использыется показатель gender pay gap - он рассчитывается как разница медиан заработков женщин и мужчин в процентах от медианы заработков мужчин.
Ниже приведен расчет pay gap для данных РМЭЗ-2019. В качестве показателя была использована заработная плата индивидов за месяц.
data_gap = data %>% dplyr::select(h5,j13_2,j6_2) %>% rename(gender=h5, mwage=j13_2, hours = j6_2) %>% filter(mwage!="ЗАТРУДНЯЮСЬ ОТВЕТИТЬ" & mwage!="ОТКАЗ ОТ ОТВЕТА" & mwage!="НЕТ ОТВЕТА")
data_gap$mwage=as.numeric(levels(data_gap$mwage))[data_gap$mwage]
c = data_gap %>% group_by(gender) %>% summarise(median = median(mwage))
kable(c)| gender | median |
|---|---|
| МУЖСКОЙ | 30000 |
| ЖЕНСКИЙ | 20000 |
| Pay gap |
|---|
| 0.3333333 |
Pay gap составил 33%. Для проверки статистической значимости выявленной связи между полом и уровнем заработной платы был проведен тест Манна-Уитни. Нулевая гипотеза - пол не влияет на уровне заработной платы
Wilcoxon rank sum test with continuity correction
data: mwage by gender
W = 7576378, p-value < 0.00000000000000022
alternative hypothesis: true location shift is not equal to 0
P-value составил 0.00000000000000022. На 1% уровне значимости мы отвергаем нулевую гипотезу. Связь между полом и заработной платой есть и она статистически значима.
Это также можно увидеть, проанализировав графики распределения заработных плат в зависимости от пола.
ggplot(data_gap %>% filter(mwage<150000))+
geom_boxplot(aes(x = gender, y = mwage/1000))+
xlab("Пол")+
ylab("Зарплата (в тысячах)")+
ggtitle("Распределение заработной платы в зависимости от пола")Распределение зарплаты женщин “смещено” ниже относительно зарплат мужчин. Числовое выражение этого смещения можно увидеть в таблицах с описательными статистиками:
female=data_gap %>% filter(gender=="ЖЕНСКИЙ") %>% filter(mwage>1000)
male=data_gap %>% filter(gender=="МУЖСКОЙ")%>% filter(mwage>1000)Для подсчета моды применяем готовую функцию.
des= describe(male$mwage) %>% dplyr::select(-vars, -n, -sd, -trimmed, -mad, -se)%>% rename(asimetria = skew) %>% mutate(firstQu = quantile(male$mwage,0.25)) %>% mutate(thirdQu = quantile(male$mwage,0.75)) %>% mutate(sko = sd(male$mwage)) %>% mutate(moda = mode(male$mwage)) %>% mutate_all(funs(ifelse(.<1, round(.,3), ifelse(.<10,round(.,2),ifelse(.<100,round(.,1),round(.,0))))))
kable(des, row.names = F, caption = "Описательные характеристики распределения зарплат у мужчин")| mean | median | min | max | range | asimetria | kurtosis | firstQu | thirdQu | sko | moda |
|---|---|---|---|---|---|---|---|---|---|---|
| 35130 | 30000 | 1440 | 420000 | 418560 | 4.47 | 48.2 | 20000 | 40000 | 23745 | 28234 |
des1= describe(female$mwage) %>% dplyr::select(-vars, -n, -sd, -trimmed, -mad, -se)%>% rename(asimetria = skew) %>% mutate(firstQu = quantile(female$mwage,0.25)) %>% mutate(thirdQu = quantile(female$mwage,0.75)) %>% mutate(sko = sd(female$mwage)) %>% mutate(moda = mode(female$mwage)) %>% mutate_all(funs(ifelse(.<1, round(.,3), ifelse(.<10,round(.,2),ifelse(.<100,round(.,1),round(.,0))))))
kable(des1, row.names = F, caption = "Описательные характеристики распределения зарплат у женщин")| mean | median | min | max | range | asimetria | kurtosis | firstQu | thirdQu | sko | moda |
|---|---|---|---|---|---|---|---|---|---|---|
| 25304 | 20000 | 1200 | 180000 | 178800 | 2.7 | 13 | 15000 | 30000 | 16109 | 15823 |
Видна существенная разница в максимумах и мерах центральности.
Рассмотрим также графики распределения зарплат в зависимости от пола:
ggplot(male) +geom_histogram(aes(x = mwage/1000), fill='#228B22',col='black',binwidth = 10)+
ggtitle("Распределение зарплат мужчин")+
xlab("Зарплата в тыс.рублей")+
ylab("Абсолютная частота")ggplot(male)+geom_density(aes(x=mwage/1000))+
ggtitle("График эмпирической плотности распределения зарплат\nмужчин")+
ylab("")+
xlab("Зарплата в тыс.рублей")+
geom_vline(xintercept = mean(male$mwage/1000), color = 2, linetype = "dashed")+
annotate("text", x = mean(male$mwage/1000),y=0.024, label = " Среднее", color = 2)+
geom_vline(xintercept = mode(male$mwage/1000), color = 3, linetype = "dashed")+
annotate("text", x = mode(male$mwage/1000), y = 0.017, label = "Мода", color = 3)+
geom_vline(xintercept = median(male$mwage/1000), color = 4, linetype = "dashed")+
annotate("text", x = median(male$mwage/1000), y = 0.02, label = "Медиана", color = 4)ggplot(female) +geom_histogram(aes(x = female$mwage/1000),fill = "#87CEEB", col="black", binwidth = 10)+
ggtitle("Распределение зарплат женщин")+
xlab("Зарплата в тыс.рублей")+
ylab("Абсолютная частота")ggplot(female)+geom_density(aes(x=female$mwage/1000))+
ggtitle("График эмпирической плотности распределения зарплат\nженщин")+
ylab("")+
xlab("Зарплата в тыс.рублей")+
geom_vline(xintercept = mean(female$mwage/1000), color = 2, linetype = "dashed")+
annotate("text", x = mean(female$mwage/1000),y=0.041, label = " Среднее", color = 2)+
geom_vline(xintercept = mode(female$mwage/1000), color = 3, linetype = "dashed")+
annotate("text", x = mode(female$mwage/1000), y = 0.021, label = "Мода", color = 3)+
geom_vline(xintercept = median(female$mwage/1000), color = 4, linetype = "dashed")+
annotate("text", x = median(female$mwage/1000), y = 0.029, label = "Медиана", color = 4)Распределения в целом схожи, но, как упоминалось выше, распределение зарплат женщин смещено левее.
Причины появления разрыва в уровнях зарплат мужчин и женщин
Общее время работы и разница в зарплатах мужчин и женщин
Следующим этапом анализа является выяснение причин появления gender pay gap. Первое предположение - женщины в целом работают меньше мужчин. Из-за того что именно на женщин приходится основная часть работы по дому, забота о детях, в месяце у них получается меньше рабочих часов. Чтобы скорректировать gender pay gap рассчитаем его на основе часовой оплаты, а не ежемесячной. Мы исследуем среднюю заработную плату на почасовой основе и включаем всех работников, у которых положительное количество рабочих часов. Этот почасовой показатель представляет собой ограниченную «корректировку» в методологии исследования, поскольку он учитывает тот факт, что мужчины в среднем работают больше часов в течение года и что больше женщин работают неполный рабочий день. Эта ограниченная корректировка позволяет нам сравнивать заработную плату женщин и мужчин, не предполагая, что женщины, которые все еще несут непропорционально много обязанностей по дому, смогут или захотят работать столько же часов, сколько и их коллеги-мужчины.
data_gap = data_gap %>% filter(hours != "ЗAТРУДНЯЮCЬ ОТВЕТИТЬ" & hours != "ОТКAЗ ОТ ОТВЕТA" & hours != "НЕТ ОТВЕТA")
data_gap$hours=as.numeric(levels(data_gap$hours))[data_gap$hours]
data_gap$hours=data_gap$hours*4
data_gap$hwage = data_gap$mwage/(data_gap$hours)| gender | median |
|---|---|
| МУЖСКОЙ | 166.6667 |
| ЖЕНСКИЙ | 125.0000 |
| Pay Gap |
|---|
| 0.25 |
Скорректированный pay gap оказался меньше и составил 25%. Вывод - значимая доля pay gap появляется из-за того что женщины в целом работают меньше. Выполним проверку на значимость зависимости между часовой оплатой и полом.
Wilcoxon rank sum test with continuity correction
data: hwage by gender
W = 6294394, p-value < 0.00000000000000022
alternative hypothesis: true location shift is not equal to 0
P-value составил 0.00000000000000022. Связь между полом и часовой заработной платой есть и она статистически значима.
Вертикальная иерархия и разница в зарплатах мужчин и женщин
Следующее предположение, которое было выдвинуто, - pay gap появляется из-за того, что женщины реже занимают руководящие должности. Проверим его, проанализировав ответы респондентов на вопрос “Есть ли у вас подчиненные?”
data_vert = data %>% dplyr::select(h5,j6, j6_0, j13_2) %>% rename(gender = h5, subord = j6,num_sub = j6_0) %>% filter(subord != "ЗAТРУДНЯЮCЬ ОТВЕТИТЬ" & subord != "ОТКAЗ ОТ ОТВЕТA" & subord != "НЕТ ОТВЕТA" & subord != "ЗАТРУДНЯЮСЬ ОТВЕТИТЬ" & subord != "ОТКАЗ ОТ ОТВЕТА" & subord != "НЕТ ОТВЕТА")
ggplot(data_vert)+
geom_bar(aes(x = gender,fill = subord),color = "black")+scale_fill_discrete(name = "Есть ли подчиненные?")+
xlab("Пол")+ylab("")+ggtitle("Наличие подчиненных в зависимости от пола")Ситуация в двух группах примерно одинаковая. Поэтому дальнейший анализ будем строить на количестве подчиненных.
data_vert= data_vert %>% filter(num_sub != "ЗAТРУДНЯЮCЬ ОТВЕТИТЬ" & num_sub != "ОТКAЗ ОТ ОТВЕТA" & num_sub != "НЕТ ОТВЕТA")
data_vert$num_sub=as.numeric(levels(data_vert$num_sub))[data_vert$num_sub]
data_vert$num_sub1 = case_when(
data_vert$num_sub < 10 ~ "<10",
data_vert$num_sub < 30 ~ "10 - 30",
data_vert$num_sub < 60 ~ "30-60",
data_vert$num_sub < 100 ~ "60-100",
TRUE ~ ">100"
)
ggplot(data_vert)+
geom_bar(aes(x = gender,fill = num_sub1),color = "black")+scale_fill_discrete(name="Кол-во подчиненных")+xlab("Пол")+ylab("")+ggtitle("Количество подчиненных в зависимости \n от пола")В каждой группе наблюдается преимущество мужчин. Большая часть наблюдений - это те, у которых меньше 10 подчиненных. Уберем их из анализа, чтобы увидеть более подробную картину:
data_vert = data_vert %>% filter(num_sub>10)
data_vert$num_sub2 = case_when(
data_vert$num_sub < 25 ~ "<25",
data_vert$num_sub < 60 ~ "25 - 60",
data_vert$num_sub < 125 ~ "60-125",
TRUE ~ ">125"
)
ggplot(data_vert)+
geom_bar(aes(x = gender,fill = num_sub2),color = "black")+scale_fill_discrete(name="Кол-во подчиненных")+xlab("Пол")+ylab("")+ggtitle("Количество подчиненных в зависимости от пола")В первую очередь по графику видно, что мужчин-руководителей в целом больше. Также в каждой отдельной группе наблюдается преимущество мужчин. И этого мы можем сделать вывод, что наше предположение верно, мужчины действительно чаще занимают руководящие должности и это влияет на образование pay gap.
Вид деятельности и разница в зарплатах мужчин и женщин
В связи с предыдущим выводом было решено проверить следующее предположение: разница в зарплатах между мужчинами и женщинами, занимающимся одним и тем же видом деятельности (занимающими равные по уровню должности), должна быть незначительной. Чтобы проверить это, мы делим респондентов по профессиональным группам, в каждой из которых также примерно одинаковый уровень занимаемых должностей и считаем pay gap для каждой из групп.
data_occ = data %>% select(occup08,h5,j13_2) %>% rename(gender = h5, occ = occup08,mwage = j13_2) %>% filter(!is.na(occ)) %>% filter(occ != "ЗАТРУДНЯЮСЬ ОТВЕТИТЬ" & occ != "ОТКАЗ ОТ ОТВЕТА" & occ != "НЕТ ОТВЕТА")
data_occ = data_occ %>% filter(!is.na(mwage)) %>% filter(mwage != "ЗАТРУДНЯЮСЬ ОТВЕТИТЬ" & mwage != "ОТКАЗ ОТ ОТВЕТА" & mwage != "НЕТ ОТВЕТА")
data_occ$mwage=data_occ$mwage=as.numeric(levels(data_occ$mwage))[data_occ$mwage]
data_occ_count = data_occ %>% count(occ) %>% filter(n>sum(n)/100)
data_occ=data_occ %>% filter(occ %in% data_occ_count$occ)
d = data_occ %>% group_by(occ,gender) %>% summarise(median = median(mwage))
datatable(d,caption="Таблица профессиональных групп и медианных зарплат мужчин/женщин", colnames=c("Должность", "gender","meadian"))ggplot(d)+
geom_bar(aes(x = occ,y = median, fill = gender), position = "dodge", stat = "identity")+
theme(axis.text.x = element_text(angle = 45, hjust = 1))+scale_fill_discrete("Пол")+ylab("Медианная зарплата")+xlab("Должности")+coord_flip()+ggtitle("Разница в зарплатах \nпо \nпрофессиональным \nгруппам")Наше предположение оказалось неверным - pay gap сохраняется во всех профессиональных группах. При этом, чем выше уровень занимаемой должности, тем больше разрыв.
Традиционная семья и заработная плата женщин
Мы переходим к анализу устоявшихся в обществе традиций относительно трудоустройства и положения женщин и мужчин в семье. Наша цель - проверить на данных, имеют ли они место. Наша гипотеза состоит в том, что женщины в целом работают реже, чем мужчины. Это связано с устоявшимися семейными традициями (“мужчина зарабатывает деньги, женщина занимается домом”) и стереотипами (“карьера - не главное для женщины”).
data_work = data %>% dplyr::select(h5,j1, marst) %>% rename(gender = h5,work = j1)
data_work = data_work %>% filter(work =="Или у Вас сейчас нет работы")
ggplot(data_work)+
geom_bar(aes(x = gender), color = 'black', fill = 4)+xlab("Пол")+ylab("")+ggtitle("Сравнение долей неработающих индивидов \nпо полу")Наше предположение подтвердилось.
Проверяя все те же устоявшиеся стереотипы, оценим долю женщин в браке, которые занимаются домашним хозяйством (теряя тем самым возможности для карьерного роста).
data_house = data %>% select(h5,j90,marst) %>% filter(marst=="Состоите в зарегистрированном браке") %>% filter(h5=="ЖЕНСКИЙ")
data_house$j90 = ifelse(data_house$j90=="Домашняя хозяйка, ухаживаете за другими членами семьи, воспитыва\xd0","Домашняя хозяйка",ifelse(data_house$j90 =="Находитесь в официальном отпуске по уходу за ребенком до 3-х лет с " | data_house$j90=="Находитесь в декретном отпуске", "В декретном отпуске", ifelse(data_house$j90 =="Фермер"|data_house$j90 =="Предприниматель"|data_house$j90 =="Работаете на предприятии, в организации, колхозе, совхозе, коопер\xd0"|data_house$j90 =="Работаете не на предприятии, в организации, учреждении, колхозе, с","Есть работа", "Нет работы по другим причинам")))
ggplot(data_house)+
geom_bar(aes(x=h5,fill = j90),position = "fill", color = 1)+xlab("")+ylab("")+labs(fill="Статус")Как мы видим по графику, большая часть замужних женщин не работает. Значительная доля женщин занимается в браке домашним хозяйством. На этом же графике мы видим другую причину, по которой женщины могут проигрывать карьерную гонку коллегам-мужчинам, в связи с чем уровень их зарплат относительно зарплат мужчин снижается, - это рождение детей, декретный отпуск, отпуск по уходу за ребенком. В семьях именно женщины в первую очередь занимаются детьми. Как можно увидеть из графика ниже, распределение зарплат женщин, у которых есть дети, незначительно, но все-таки смещено относительно распределения зарплат женщин без детей (медиана и квартили ниже)
data_kinder = data %>% select(h5, j13_2, j144_1,j72_171) %>% rename(gender = h5, mwage = j13_2,important = j144_1,child =j72_171 ) %>% filter(child =="Да" | child=="Нет") %>% filter(mwage!="ЗАТРУДНЯЮСЬ ОТВЕТИТЬ" & mwage!="ОТКАЗ ОТ ОТВЕТА" & mwage!="НЕТ ОТВЕТА") %>% filter(!is.na(mwage))
data_kinder$mwage=as.numeric(levels(data_kinder$mwage))[data_kinder$mwage]
data_kinder=data_kinder %>% filter(mwage>1000)
female = data_kinder %>% filter(gender== "ЖЕНСКИЙ")
male = data_kinder %>% filter(gender== "МУЖСКОЙ")
female$child=female$child %>% as.character()
male$child=male$child %>% as.character()
female$child=female$child %>% as.factor()
male$child=male$child %>% as.factor()female %>%filter(mwage<150000) %>% ggplot()+
geom_boxplot(aes(x = child,y= mwage/1000))+ylab("Зарплата (тыс.руб.)")+ xlab("Есть ли дети")+ggtitle("Распределение зарплат женщин \nв зависимости от наличия детей")Проверим, является ли это различие статистически значимым с помощью теста Манна-Уитни. Нулевая гипотеза - распределение зарплат женщин не зависит от наличия детей.
Wilcoxon rank sum test with continuity correction
data: mwage by child
W = 765255, p-value = 0.0000000138
alternative hypothesis: true location shift is not equal to 0
P-value составил 0.0000000138 - нулевая гипотеза отвергается, различия в распределении зарплат женщин с детьми и без детей есть и они статистически значимы.
Рассчитаем значение Gender Pay Gap среди тех, у кого есть дети и тех, у кого нет детей:
kin = data_kinder %>% filter(child =="Да") %>% group_by(gender) %>% summarise(median = median(mwage))
gap_kin = 1-kin[2,2]/kin[1,2]
kable(gap_kin,col.names = c("Pay Gap при наличии детей"))| Pay Gap при наличии детей |
|---|
| 0.3333333 |
kin1 = data_kinder %>% filter(child =="Нет") %>% group_by(gender) %>% summarise(median = median(mwage))
gap_kin1 = 1-kin1[2,2]/kin1[1,2]
kable(gap_kin1,col.names = c("Pay Gap при отсутствии детей"))| Pay Gap при отсутствии детей |
|---|
| 0.1666667 |
Pay gap среди тех, у кого есть дети, составил 30%. Pay gap среди тех, у кого нет детей - 16,6%. Существенная разница, которая говорит о том, что наличие детей является важной причиной образования разницы в уровне зарплат.
data_kinder %>%filter(mwage<150000) %>% filter(child =="Да") %>% ggplot()+
geom_boxplot(aes(x = gender,y= mwage/1000))+ylab("Зарплата (тыс.руб.)")+ xlab("Пол")+ggtitle("Распределение зарплат у индивидов с детьми \nв зависимости от пола")Вывод - в России сохраняются традиции патриархальной семьи. Для многих женщин карьера (и соответственно, высокая заработная плата) - не является первым приоритетом, что также ведет к образованию Gender Pay Gap. Появление детей ведет к относительному снижению уровня заработной платы женщины и замедлению ее карьерного роста.
Заключение
Выдвинутая гипотеза была подтверждена - статистически значимые различия между уровнем зарплат мужчин и женщин в России есть. На появление подобного разрыва влияет множество факторов - общее время работы, вертикальная иерархия, наличие детей, род деятельности.