Employment determinants among Ukrainian refugees: a comparative analysis across European host countries
Data and Methods
To assess the theoretical expectations regarding the early labor market integration of Ukrainian refugees, this study uses descriptive statistics and logistic regression to examine how human capital, caregiving responsibilities, and reported barriers relate to employment, and how these associations differ across host-country contexts. The study relies on the 2023 Multi-Sector Needs Assessment (MSNA) conducted in Estonia, Slovakia, Poland, Romania, Moldova, and Czechia between summer and autumn 2023. Descriptive statistics summarize demographic composition, followed by a pooled logistic regression with country fixed effects to capture average relationships while controlling for structural differences, and separate country-level models to explore heterogeneity in predictors. The binary employment outcome is modeled against key independent variables, including pre-displacement activity, education, age, and self-reported barriers such as language difficulties, credential recognition challenges, insufficient opportunities, and childcare responsibilities.
Pooled Analysis Across Six Countries
Exploratory Data Analysis
Demographics
The bar chart displays the distribution of survey respondents by age group (18–34, 35–59, 60+) across six Central and Eastern European countries. Across all countries, the 35–59 age group consistently has the highest number of respondents, followed by the 18–34 group, with the 60+ group being the least represented. The sample of 16,348 respondents is predominantly female across all six countries, with women accounting for 75% of the total.
The variety of educational backgrounds of Ukrainians underscore the wide range of fields they are able to contribute to. Based on the data used in the analysis, most refugees possess at least secondary education. Across all six countries, the proportion of individuals holding a Bachelor’s degree ranges from 12% to 19% and Master’s degrees from 9% to as high as 40%, with particularly high shares observed in Slovakia and Romania. Although few hold PhDs, their presence is most visible in Slovakia and Czechia. Notably, technical and vocational training is the most frequent, suggesting that many displaced people were skilled laborers. This trend could indicate a reliance on skilled labor or informal employment in certain areas.
In Ukraine, the vast majority of refugees across all countries were employed, with employment rates ranging from approximately 60% to over 70%. Housekeeping and retirement were the next most common categories, but far less prevalent. In contrast, in host countries, employment drops significantly, while unemployment, studying, and housekeeping rise sharply. For example, in Moldova, Romania, and Slovakia, more than half of refugees are now unemployed. Studying categories also grow considerably, particularly in Romania, Czechia and Moldova. This shift indicates a major transition for many refugees, from stable employment in Ukraine to navigating unemployment or reskilling opportunities in their new environments.
The most consistently reported barrier to employment is the lack of local language knowledge, cited most frequently in Estonia, Romania, and Czechia and least frequently in Moldova and Slovakia . This observation may be partly attributed to linguistic proximity. Ukrainian shares similarities with other Slavic languages, which can make basic acquisition easier. In contrast, Estonian belongs to the Uralic language family, and can be harder for Ukrainians to master (OECD, 2023). Insufficient opportunities as a barrier to employment are cited most frequently in Poland, Estonia, and Czechia suggesting that the lower demand for some qualifications may in some contexts suppress employment independently of individual characteristics.
Income source and welfare data provide contextual background for refugee support networks, but these variables are excluded from the regression models due to reverse causality concerns, as employment status directly determines whether a respondent reports wages or benefits as their primary income source. Employment generally accounts for 40-70% of reported income, followed by government financial assistance.
Logistic Regression
set.seed(123)
important_vars <- c(
"demographics_resp_activity",
"demographics_educ_level_grouped",
"demographics_resp_gender",
"diff_none",
"introduction_resp_age",
"diff_lang",
"diff_recognition",
"diff_opportunities",
"diff_childcare"
)
model_data <- combined_data |>
select(employed_binary, country, all_of(important_vars)) |>
drop_na() |>
mutate(employed_binary = factor(employed_binary, levels = c(0, 1),
labels = c("No", "Yes")),
country = factor(country))
model_data$employed_binary <-
as.integer(model_data$employed_binary == "Yes")Logistic Regression
The central finding of the logistic regression is that activity status prior to displacement and caregiving responsibilities are stronger predictors of employment than educational attainment, while the relationship between self-reported barriers and employment runs counter to theoretical expectations.
Pre-migration activity status is the strongest predictor in the model. All non-employed categories show significant negative associations relative to the employed baseline. The largest penalties are observed for individuals with long-term illness or injury, retirees, and those engaged in housekeeping. Studying or training also reduce the likelihood of employment, but more moderately. This finding suggests that labor market detachment before displacement is a structural constraint on integration. Gender and caregiving also follow a consistent pattern. Men are more likely to be employed, which reflects the demographic composition of the refugee population and that women mostly bearing caregiving responsibilities. This pattern is confirmed by a significant negative association between childcare barriers and employment. Those aged 60 and above show substantially lower employment chances, while the 35-59 group shows no significant differences with the 18-34 group.
Education effects are weak and largely insignificant. Holding a specialized credential is linked to a higher likelihood of employment, whereas having only primary or secondary education is associated with lower employment prospects compared with individuals who hold a bachelor’s degree. The absence of statistical significance in other categories might be attributed to credential recognition barriers, which may suppress returns to education at the early integration stage. Reported barriers show persistent positive associations with employment. Refugees reporting language barriers, skill gaps, and lack of opportunities are all more likely to be employed than those who do not report these barriers. This result warrants careful interpretation and is discussed in detail below. Lack of qualification recognition does not appear statistically significant (p = 0.09), despite being frequently cited as a barrier in qualitative reports. As expected, the absence of barriers is positively and significantly associated with employment across most countries.
logit_model <- glm(employed_binary ~ .,
data = model_data, family = binomial)
summary(logit_model)
Call:
glm(formula = employed_binary ~ ., family = binomial, data = model_data)
Coefficients:
Estimate Std. Error
(Intercept) 0.31732 0.10214
countryEstonia -1.13416 0.12012
countryMoldova -1.72286 0.10563
countryPoland -0.52306 0.07635
countryRomania -1.81877 0.09248
countrySlovakia -0.79926 0.10469
demographics_resp_activityHousekeeping -1.67036 0.07868
demographics_resp_activityLong term illness/injury -3.44670 0.28222
demographics_resp_activityOther -0.59530 0.16000
demographics_resp_activityRetired -1.92812 0.16458
demographics_resp_activityStudying -0.97989 0.08621
demographics_resp_activityTrainee -0.59891 0.15975
demographics_resp_activityUnemployed -0.95754 0.14678
demographics_educ_level_groupedMaster's -0.06755 0.07132
demographics_educ_level_groupedNo Answer -0.00948 0.47766
demographics_educ_level_groupedNo Education -0.42286 0.39867
demographics_educ_level_groupedPhD -0.04761 0.23369
demographics_educ_level_groupedpri_edu -0.65797 0.24032
demographics_educ_level_groupedSecondary -0.25117 0.07860
demographics_educ_level_groupedSpecialization -0.10042 0.08250
demographics_educ_level_groupedTechnical/Vocational -0.08223 0.07067
demographics_resp_gendermale 0.42718 0.05600
demographics_resp_gendernon_binary 0.61893 1.58551
demographics_resp_genderother 12.83179 143.78153
demographics_resp_genderprefer_no_answer -10.47938 324.74375
diff_none 2.35804 0.06221
introduction_resp_age35-59 -0.08090 0.05205
introduction_resp_age60+ -1.28763 0.11886
diff_lang 1.12277 0.05210
diff_recognition 0.59052 0.08851
diff_opportunities 0.50006 0.05141
diff_childcare -0.61963 0.09750
z value Pr(>|z|)
(Intercept) 3.107 0.001892 **
countryEstonia -9.442 < 2e-16 ***
countryMoldova -16.311 < 2e-16 ***
countryPoland -6.851 7.34e-12 ***
countryRomania -19.666 < 2e-16 ***
countrySlovakia -7.635 2.26e-14 ***
demographics_resp_activityHousekeeping -21.229 < 2e-16 ***
demographics_resp_activityLong term illness/injury -12.213 < 2e-16 ***
demographics_resp_activityOther -3.721 0.000199 ***
demographics_resp_activityRetired -11.715 < 2e-16 ***
demographics_resp_activityStudying -11.366 < 2e-16 ***
demographics_resp_activityTrainee -3.749 0.000177 ***
demographics_resp_activityUnemployed -6.523 6.87e-11 ***
demographics_educ_level_groupedMaster's -0.947 0.343584
demographics_educ_level_groupedNo Answer -0.020 0.984165
demographics_educ_level_groupedNo Education -1.061 0.288827
demographics_educ_level_groupedPhD -0.204 0.838570
demographics_educ_level_groupedpri_edu -2.738 0.006184 **
demographics_educ_level_groupedSecondary -3.196 0.001396 **
demographics_educ_level_groupedSpecialization -1.217 0.223519
demographics_educ_level_groupedTechnical/Vocational -1.164 0.244592
demographics_resp_gendermale 7.629 2.37e-14 ***
demographics_resp_gendernon_binary 0.390 0.696266
demographics_resp_genderother 0.089 0.928887
demographics_resp_genderprefer_no_answer -0.032 0.974257
diff_none 37.906 < 2e-16 ***
introduction_resp_age35-59 -1.554 0.120157
introduction_resp_age60+ -10.833 < 2e-16 ***
diff_lang 21.551 < 2e-16 ***
diff_recognition 6.672 2.53e-11 ***
diff_opportunities 9.727 < 2e-16 ***
diff_childcare -6.355 2.08e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 17790 on 12888 degrees of freedom
Residual deviance: 12889 on 12857 degrees of freedom
AIC: 12953
Number of Fisher Scoring iterations: 11
Model Fit and Evaluation
The logistic regression model demonstrates a good overall fit to the data. McFadden’s pseudo-R² is approximately 0.275, reflecting a moderate level of explanatory power for this type of social data. Tthe model correctly classifies 76.36% of cases. The AUC of 0.83 indicates good ability to distinguish between employed and non-employed refugees.
Actual
Predicted 0 1
0 4119 1222
1 1825 5723
[1] 0.7635969
Area under the curve: 0.8315
CoxSnell Nagelkerke McFadden
0.3163125 0.4226031 0.2754954
Country-Specific Analysis
The analysis of individual country-level models with the same response and predictor variables allows comparison of refugee labor market integration across national contexts.
Poland
Logistic regression
Call:
glm(formula = employed_binary ~ ., family = binomial, data = poland_data)
Coefficients:
Estimate Std. Error
(Intercept) -0.31033 0.10690
demographics_resp_activityHousekeeping -1.72382 0.10915
demographics_resp_activityLong term illness/injury -3.34091 0.38719
demographics_resp_activityOther -1.35176 0.39975
demographics_resp_activityRetired -1.79207 0.22076
demographics_resp_activityStudying -0.71393 0.12130
demographics_resp_activityTrainee -0.50207 0.21694
demographics_resp_activityUnemployed -0.94046 0.21097
demographics_educ_level_groupedMaster's -0.06674 0.10731
demographics_educ_level_groupedNo Answer 0.28354 0.62097
demographics_educ_level_groupedNo Education -0.14633 0.66989
demographics_educ_level_groupedPhD -0.14081 0.36071
demographics_educ_level_groupedpri_edu -1.38441 0.49029
demographics_educ_level_groupedSecondary -0.42551 0.11815
demographics_educ_level_groupedSpecialization -0.17451 0.10931
demographics_educ_level_groupedTechnical/Vocational -0.17830 0.10578
demographics_resp_gendermale 0.34284 0.08434
demographics_resp_genderother 9.83155 196.96781
diff_none 2.54691 0.08788
introduction_resp_age35-59 -0.10928 0.07325
introduction_resp_age60+ -1.47675 0.16694
diff_lang 1.36660 0.06891
diff_recognition 0.73303 0.11448
diff_opportunities 0.60753 0.06910
diff_childcare -0.54796 0.12439
z value Pr(>|z|)
(Intercept) -2.903 0.003695 **
demographics_resp_activityHousekeeping -15.793 < 2e-16 ***
demographics_resp_activityLong term illness/injury -8.629 < 2e-16 ***
demographics_resp_activityOther -3.382 0.000721 ***
demographics_resp_activityRetired -8.118 4.76e-16 ***
demographics_resp_activityStudying -5.886 3.97e-09 ***
demographics_resp_activityTrainee -2.314 0.020647 *
demographics_resp_activityUnemployed -4.458 8.28e-06 ***
demographics_educ_level_groupedMaster's -0.622 0.533950
demographics_educ_level_groupedNo Answer 0.457 0.647956
demographics_educ_level_groupedNo Education -0.218 0.827084
demographics_educ_level_groupedPhD -0.390 0.696253
demographics_educ_level_groupedpri_edu -2.824 0.004748 **
demographics_educ_level_groupedSecondary -3.602 0.000316 ***
demographics_educ_level_groupedSpecialization -1.597 0.110368
demographics_educ_level_groupedTechnical/Vocational -1.686 0.091855 .
demographics_resp_gendermale 4.065 4.80e-05 ***
demographics_resp_genderother 0.050 0.960191
diff_none 28.982 < 2e-16 ***
introduction_resp_age35-59 -1.492 0.135712
introduction_resp_age60+ -8.846 < 2e-16 ***
diff_lang 19.833 < 2e-16 ***
diff_recognition 6.403 1.52e-10 ***
diff_opportunities 8.792 < 2e-16 ***
diff_childcare -4.405 1.06e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 9386.3 on 6909 degrees of freedom
Residual deviance: 6728.1 on 6885 degrees of freedom
AIC: 6778.1
Number of Fisher Scoring iterations: 10
Model performance
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML
-3364.0575759 -4693.1693810 2658.2236103 0.2832013 0.3193399
r2CU
0.4298440
Actual
Predicted 0 1
0 1877 522
1 1002 3509
[1] 0.7794501
Area under the curve: 0.8303
Estonia
Logistic regression
Call:
glm(formula = employed_binary ~ ., family = binomial, data = estonia_data)
Coefficients:
Estimate Std. Error
(Intercept) 0.36673 0.40662
demographics_resp_activityHousekeeping -1.38935 0.34207
demographics_resp_activityOther -1.54312 0.55863
demographics_resp_activityRetired -2.24160 0.77283
demographics_resp_activityStudying -2.03835 0.42976
demographics_resp_activityUnemployed -1.05759 0.42113
demographics_educ_level_groupedMaster's 0.57504 0.31826
demographics_educ_level_groupedPhD 13.93622 622.34994
demographics_educ_level_groupedSecondary -0.20813 0.37432
demographics_educ_level_groupedSpecialization 0.20244 0.31228
demographics_educ_level_groupedTechnical/Vocational 0.20525 0.29935
demographics_resp_gendermale 0.39150 0.27136
demographics_resp_gendernon_binary 1.23143 1.71244
diff_none 0.09100 0.35240
introduction_resp_age35-59 0.03332 0.22340
introduction_resp_age60+ -1.33396 0.58536
diff_lang 0.37715 0.31367
diff_recognition 0.14022 0.29070
diff_opportunities -0.34381 0.24519
diff_childcare -2.61048 1.08547
z value Pr(>|z|)
(Intercept) 0.902 0.36711
demographics_resp_activityHousekeeping -4.062 4.87e-05 ***
demographics_resp_activityOther -2.762 0.00574 **
demographics_resp_activityRetired -2.901 0.00373 **
demographics_resp_activityStudying -4.743 2.11e-06 ***
demographics_resp_activityUnemployed -2.511 0.01203 *
demographics_educ_level_groupedMaster's 1.807 0.07079 .
demographics_educ_level_groupedPhD 0.022 0.98213
demographics_educ_level_groupedSecondary -0.556 0.57819
demographics_educ_level_groupedSpecialization 0.648 0.51682
demographics_educ_level_groupedTechnical/Vocational 0.686 0.49294
demographics_resp_gendermale 1.443 0.14910
demographics_resp_gendernon_binary 0.719 0.47208
diff_none 0.258 0.79624
introduction_resp_age35-59 0.149 0.88143
introduction_resp_age60+ -2.279 0.02267 *
diff_lang 1.202 0.22921
diff_recognition 0.482 0.62955
diff_opportunities -1.402 0.16086
diff_childcare -2.405 0.01618 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 768.45 on 555 degrees of freedom
Residual deviance: 618.08 on 536 degrees of freedom
AIC: 658.08
Number of Fisher Scoring iterations: 13
Model performance
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-309.0407521 -384.2235491 150.3655939 0.1956746 0.2369576 0.3163869
Actual
Predicted 0 1
0 156 48
1 104 248
[1] 0.7266187
Area under the curve: 0.7682
Czechia
Logistic regression
Call:
glm(formula = employed_binary ~ ., family = binomial, data = czechia_data)
Coefficients:
Estimate Std. Error
(Intercept) 0.249669 0.239973
demographics_resp_activityHousekeeping -1.469082 0.226309
demographics_resp_activityLong term illness/injury -4.635094 0.762835
demographics_resp_activityOther 0.021026 0.374488
demographics_resp_activityRetired -2.179748 0.456920
demographics_resp_activityStudying -1.310243 0.245964
demographics_resp_activityTrainee -0.579083 0.421646
demographics_resp_activityUnemployed -1.076991 0.370554
demographics_educ_level_groupedMaster's -0.074785 0.246801
demographics_educ_level_groupedNo Answer -9.180642 535.411757
demographics_educ_level_groupedNo Education -1.232737 1.885282
demographics_educ_level_groupedPhD -0.001318 0.556960
demographics_educ_level_groupedpri_edu -0.439597 0.445015
demographics_educ_level_groupedSecondary -0.361266 0.236929
demographics_educ_level_groupedSpecialization -0.231708 0.240224
demographics_educ_level_groupedTechnical/Vocational -0.017715 0.234473
demographics_resp_gendermale 0.655244 0.177349
demographics_resp_genderother 14.069055 535.411252
diff_none 2.637624 0.235811
introduction_resp_age35-59 0.103227 0.166767
introduction_resp_age60+ -0.744674 0.342034
diff_lang 0.921705 0.161320
diff_recognition -0.315113 0.324612
diff_opportunities 0.575300 0.158519
diff_childcare -0.654183 0.244571
z value Pr(>|z|)
(Intercept) 1.040 0.298151
demographics_resp_activityHousekeeping -6.491 8.50e-11 ***
demographics_resp_activityLong term illness/injury -6.076 1.23e-09 ***
demographics_resp_activityOther 0.056 0.955225
demographics_resp_activityRetired -4.771 1.84e-06 ***
demographics_resp_activityStudying -5.327 9.99e-08 ***
demographics_resp_activityTrainee -1.373 0.169632
demographics_resp_activityUnemployed -2.906 0.003656 **
demographics_educ_level_groupedMaster's -0.303 0.761876
demographics_educ_level_groupedNo Answer -0.017 0.986319
demographics_educ_level_groupedNo Education -0.654 0.513193
demographics_educ_level_groupedPhD -0.002 0.998112
demographics_educ_level_groupedpri_edu -0.988 0.323239
demographics_educ_level_groupedSecondary -1.525 0.127312
demographics_educ_level_groupedSpecialization -0.965 0.334771
demographics_educ_level_groupedTechnical/Vocational -0.076 0.939776
demographics_resp_gendermale 3.695 0.000220 ***
demographics_resp_genderother 0.026 0.979036
diff_none 11.185 < 2e-16 ***
introduction_resp_age35-59 0.619 0.535925
introduction_resp_age60+ -2.177 0.029466 *
diff_lang 5.714 1.11e-08 ***
diff_recognition -0.971 0.331678
diff_opportunities 3.629 0.000284 ***
diff_childcare -2.675 0.007477 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1859.2 on 1485 degrees of freedom
Residual deviance: 1286.2 on 1461 degrees of freedom
AIC: 1336.2
Number of Fisher Scoring iterations: 12
Model performance
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-643.1135422 -929.6186802 573.0102759 0.3081964 0.3199615 0.4482321
Actual
Predicted 0 1
0 273 81
1 200 932
[1] 0.8109017
Area under the curve: 0.8408
Slovakia
Logistic regression
Call:
glm(formula = employed_binary ~ ., family = binomial, data = slovakia_data)
Coefficients:
Estimate Std. Error
(Intercept) -0.22623 0.27696
demographics_resp_activityHousekeeping -1.44749 0.33915
demographics_resp_activityLong term illness/injury -2.01596 0.75221
demographics_resp_activityOther 0.12626 0.53913
demographics_resp_activityRetired -2.00727 0.50408
demographics_resp_activityStudying -1.37025 0.28866
demographics_resp_activityTrainee -1.12115 0.81708
demographics_resp_activityUnemployed -1.01082 0.41635
demographics_educ_level_groupedMaster's -0.61993 0.23219
demographics_educ_level_groupedNo Education -3.44733 1.25179
demographics_educ_level_groupedPhD -0.98857 0.54518
demographics_educ_level_groupedpri_edu -2.52408 0.88119
demographics_educ_level_groupedSecondary -0.36684 0.26712
demographics_educ_level_groupedTechnical/Vocational -0.69520 0.25494
demographics_resp_gendermale 0.62474 0.19700
demographics_resp_genderother 14.50593 350.72815
diff_none 2.50403 0.20955
introduction_resp_age35-59 0.07998 0.20309
introduction_resp_age60+ -1.42785 0.37626
diff_lang 0.60022 0.20949
diff_recognition 0.49482 0.38883
diff_opportunities 0.96735 0.20656
diff_childcare -0.18116 0.38907
z value Pr(>|z|)
(Intercept) -0.817 0.414013
demographics_resp_activityHousekeeping -4.268 1.97e-05 ***
demographics_resp_activityLong term illness/injury -2.680 0.007361 **
demographics_resp_activityOther 0.234 0.814841
demographics_resp_activityRetired -3.982 6.83e-05 ***
demographics_resp_activityStudying -4.747 2.06e-06 ***
demographics_resp_activityTrainee -1.372 0.170019
demographics_resp_activityUnemployed -2.428 0.015190 *
demographics_educ_level_groupedMaster's -2.670 0.007586 **
demographics_educ_level_groupedNo Education -2.754 0.005889 **
demographics_educ_level_groupedPhD -1.813 0.069785 .
demographics_educ_level_groupedpri_edu -2.864 0.004178 **
demographics_educ_level_groupedSecondary -1.373 0.169653
demographics_educ_level_groupedTechnical/Vocational -2.727 0.006393 **
demographics_resp_gendermale 3.171 0.001518 **
demographics_resp_genderother 0.041 0.967009
diff_none 11.950 < 2e-16 ***
introduction_resp_age35-59 0.394 0.693712
introduction_resp_age60+ -3.795 0.000148 ***
diff_lang 2.865 0.004169 **
diff_recognition 1.273 0.203167
diff_opportunities 4.683 2.82e-06 ***
diff_childcare -0.466 0.641492
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1425.3 on 1038 degrees of freedom
Residual deviance: 1039.7 on 1016 degrees of freedom
AIC: 1085.7
Number of Fisher Scoring iterations: 12
Model performance
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-519.8599056 -712.6424265 385.5650419 0.2705179 0.3100198 0.4153834
Actual
Predicted 0 1
0 303 107
1 154 475
[1] 0.7487969
Area under the curve: 0.8284
Moldova
Logistic regression
Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
Call:
glm(formula = employed_binary ~ ., family = binomial, data = moldova_data)
Coefficients:
Estimate Std. Error
(Intercept) -1.78123 0.27353
demographics_resp_activityHousekeeping -1.65913 0.27025
demographics_resp_activityLong term illness/injury -3.24866 1.06884
demographics_resp_activityOther -1.13959 0.53833
demographics_resp_activityRetired -16.30874 521.01870
demographics_resp_activityStudying -0.88823 0.29287
demographics_resp_activityTrainee -1.17224 0.68908
demographics_educ_level_groupedMaster's 0.26512 0.28545
demographics_educ_level_groupedNo Education -15.32408 1033.54067
demographics_educ_level_groupedPhD 2.20623 1.24557
demographics_educ_level_groupedpri_edu -0.79065 1.38449
demographics_educ_level_groupedSecondary -0.09072 0.23979
demographics_educ_level_groupedTechnical/Vocational 0.19586 0.20572
demographics_resp_gendermale 1.16649 0.17469
demographics_resp_genderprefer_no_answer -14.80846 3956.18039
diff_none 2.20641 0.19836
introduction_resp_age35-59 -0.12238 0.18032
introduction_resp_age60+ -0.88891 0.45539
diff_lang 1.42274 0.23474
diff_recognition 0.50450 0.72228
diff_opportunities 0.74091 0.25992
diff_childcare -15.84872 1106.71756
z value Pr(>|z|)
(Intercept) -6.512 7.41e-11 ***
demographics_resp_activityHousekeeping -6.139 8.30e-10 ***
demographics_resp_activityLong term illness/injury -3.039 0.00237 **
demographics_resp_activityOther -2.117 0.03427 *
demographics_resp_activityRetired -0.031 0.97503
demographics_resp_activityStudying -3.033 0.00242 **
demographics_resp_activityTrainee -1.701 0.08891 .
demographics_educ_level_groupedMaster's 0.929 0.35299
demographics_educ_level_groupedNo Education -0.015 0.98817
demographics_educ_level_groupedPhD 1.771 0.07652 .
demographics_educ_level_groupedpri_edu -0.571 0.56795
demographics_educ_level_groupedSecondary -0.378 0.70519
demographics_educ_level_groupedTechnical/Vocational 0.952 0.34107
demographics_resp_gendermale 6.678 2.43e-11 ***
demographics_resp_genderprefer_no_answer -0.004 0.99701
diff_none 11.123 < 2e-16 ***
introduction_resp_age35-59 -0.679 0.49735
introduction_resp_age60+ -1.952 0.05094 .
diff_lang 6.061 1.35e-09 ***
diff_recognition 0.698 0.48487
diff_opportunities 2.850 0.00437 **
diff_childcare -0.014 0.98857
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1497.3 on 1119 degrees of freedom
Residual deviance: 1062.4 on 1098 degrees of freedom
AIC: 1106.4
Number of Fisher Scoring iterations: 16
Model performance
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-531.1872287 -748.6388062 434.9031551 0.2904626 0.3217955 0.4364337
Actual
Predicted 0 1
0 538 127
1 146 309
[1] 0.75625
Area under the curve: 0.8396
Romania
Logistic regression
Call:
glm(formula = employed_binary ~ ., family = binomial, data = romania_data)
Coefficients:
Estimate Std. Error z value
(Intercept) -1.14871 0.20014 -5.739
demographics_resp_activityHousekeeping -1.87641 0.22014 -8.524
demographics_resp_activityLong term illness/injury -3.90901 1.07215 -3.646
demographics_resp_activityOther -0.41803 0.28766 -1.453
demographics_resp_activityRetired -1.28305 0.48726 -2.633
demographics_resp_activityStudying -0.79860 0.28641 -2.788
demographics_resp_activityTrainee -0.18757 0.36847 -0.509
demographics_resp_activityUnemployed -0.86141 0.56594 -1.522
demographics_educ_level_groupedMaster's 0.09366 0.16368 0.572
demographics_educ_level_groupedNo Answer -0.42266 0.81874 -0.516
demographics_educ_level_groupedNo Education 1.39363 0.68741 2.027
demographics_educ_level_groupedPhD 0.35337 0.64388 0.549
demographics_educ_level_groupedpri_edu 0.65908 0.45254 1.456
demographics_educ_level_groupedSecondary 0.36521 0.19507 1.872
demographics_educ_level_groupedTechnical/Vocational 0.15103 0.18261 0.827
demographics_resp_gendermale 0.10049 0.12914 0.778
diff_none 2.29764 0.17334 13.255
introduction_resp_age35-59 -0.09587 0.13498 -0.710
introduction_resp_age60+ -0.88174 0.33794 -2.609
diff_lang 0.50442 0.14242 3.542
diff_recognition -0.17280 0.30168 -0.573
diff_opportunities 0.12626 0.13538 0.933
diff_childcare -0.97611 0.35453 -2.753
Pr(>|z|)
(Intercept) 9.5e-09 ***
demographics_resp_activityHousekeeping < 2e-16 ***
demographics_resp_activityLong term illness/injury 0.000266 ***
demographics_resp_activityOther 0.146164
demographics_resp_activityRetired 0.008459 **
demographics_resp_activityStudying 0.005299 **
demographics_resp_activityTrainee 0.610709
demographics_resp_activityUnemployed 0.127990
demographics_educ_level_groupedMaster's 0.567194
demographics_educ_level_groupedNo Answer 0.605689
demographics_educ_level_groupedNo Education 0.042627 *
demographics_educ_level_groupedPhD 0.583134
demographics_educ_level_groupedpri_edu 0.145287
demographics_educ_level_groupedSecondary 0.061180 .
demographics_educ_level_groupedTechnical/Vocational 0.408204
demographics_resp_gendermale 0.436494
diff_none < 2e-16 ***
introduction_resp_age35-59 0.477574
introduction_resp_age60+ 0.009078 **
diff_lang 0.000397 ***
diff_recognition 0.566790
diff_opportunities 0.350999
diff_childcare 0.005900 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2255.5 on 1777 degrees of freedom
Residual deviance: 1810.2 on 1755 degrees of freedom
AIC: 1856.2
Number of Fisher Scoring iterations: 6
Model performance
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML
-905.1106000 -1127.7536564 445.2861129 0.1974217 0.2215435
r2CU
0.3082280
Actual
Predicted 0 1
0 1118 353
1 73 234
[1] 0.7604049
Area under the curve: 0.7767
Summary table
library(gt)
library(pscl)
# Get model fit statistics
r2_row <- map_dfr(names(models), ~ {
r2 <- pR2(models[[.x]])["McFadden"]
n <- nobs(models[[.x]])
tibble(
country = .x,
bucket = "Model Fit",
term = "McFadden R²",
cell = paste0(round(r2, 3), "\n(N = ", n, ")")
)
})fitting null model for pseudo-r2
fitting null model for pseudo-r2
fitting null model for pseudo-r2
fitting null model for pseudo-r2
fitting null model for pseudo-r2
fitting null model for pseudo-r2
table <- tidy_models |>
filter(
term != "(Intercept)",
abs(estimate) < 15,
!term %in% c("non_binary", "other", "No Answer", "No Education",
"prefer_no_answer", "pri_edu", "Trainee")
) |>
mutate(
bucket = case_when(
term %in% c("male", "35-59", "60+") ~ "Demographics & Caregiving",
term %in% c("Housekeeping", "Studying", "Retired", "Unemployed",
"Trainee", "Long term illness/injury", "Other") ~ "Pre-Migration Activity",
term %in% c("none", "lang", "opportunities", "recognition",
"lack_childcare", "childcare") ~ "Employment Barriers",
TRUE ~ "Education"
),
stars = case_when(
p.value < 0.001 ~ "***",
p.value < 0.01 ~ "**",
p.value < 0.05 ~ "*",
TRUE ~ ""
),
cell = paste0(round(estimate, 3), stars, "\n(", round(std.error, 3), ")")
) |>
mutate(term = recode(term,
"male" = "Male",
"35-59" = "Age 35-59",
"60+" = "Age 60+",
"childcare" = "Lack of childcare",
"none" = "No barriers",
"lang" = "Language barrier",
"opportunities" = "Lack of opportunities",
"recognition" = "Lack of skill recognition",
"Housekeeping" = "Housekeeping",
"Studying" = "Studying",
"Retired" = "Retired",
"Unemployed" = "Unemployed",
"Long term illness/injury" = "Long-term illness/injury",
"Other" = "Other activity",
"Master's" = "Master's degree",
"PhD" = "PhD",
"Secondary" = "Secondary education",
"Specialization" = "Specialization",
"Technical/Vocational" = "Technical/vocational"
)) |>
select(bucket, term, country, cell) |>
# Bind R² row here
bind_rows(r2_row) |>
pivot_wider(names_from = country, values_from = cell) |>
arrange(bucket, term) |>
gt(groupname_col = "bucket") |>
cols_label(term = "Predictor") |>
tab_header(
title = "Logistic Regression Results by Country",
subtitle = "Log-odds coefficients (SE in parentheses)"
) |>
tab_style(
style = cell_text(weight = "bold"),
locations = cells_row_groups()
) |>
tab_footnote("* p < 0.05; ** p < 0.01; *** p < 0.001. Reference categories: employed (activity), bachelor's degree (education), female (gender), age 18–34.")
table| Logistic Regression Results by Country | ||||||
| Log-odds coefficients (SE in parentheses) | ||||||
| Predictor | Poland | Estonia | Czechia | Slovakia | Moldova | Romania |
|---|---|---|---|---|---|---|
| Demographics & Caregiving | ||||||
| Age 35-59 | -0.109 (0.073) | 0.033 (0.223) | 0.103 (0.167) | 0.08 (0.203) | -0.122 (0.18) | -0.096 (0.135) |
| Age 60+ | -1.477*** (0.167) | -1.334* (0.585) | -0.745* (0.342) | -1.428*** (0.376) | -0.889 (0.455) | -0.882** (0.338) |
| Male | 0.343*** (0.084) | 0.392 (0.271) | 0.655*** (0.177) | 0.625** (0.197) | 1.166*** (0.175) | 0.1 (0.129) |
| Education | ||||||
| Master's degree | -0.067 (0.107) | 0.575 (0.318) | -0.075 (0.247) | -0.62** (0.232) | 0.265 (0.285) | 0.094 (0.164) |
| PhD | -0.141 (0.361) | 13.936 (622.35) | -0.001 (0.557) | -0.989 (0.545) | 2.206 (1.246) | 0.353 (0.644) |
| Secondary education | -0.426*** (0.118) | -0.208 (0.374) | -0.361 (0.237) | -0.367 (0.267) | -0.091 (0.24) | 0.365 (0.195) |
| Specialization | -0.175 (0.109) | 0.202 (0.312) | -0.232 (0.24) | NA | NA | NA |
| Technical/vocational | -0.178 (0.106) | 0.205 (0.299) | -0.018 (0.234) | -0.695** (0.255) | 0.196 (0.206) | 0.151 (0.183) |
| Employment Barriers | ||||||
| Lack of childcare | -0.548*** (0.124) | -2.61* (1.085) | -0.654** (0.245) | -0.181 (0.389) | NA | -0.976** (0.355) |
| Lack of opportunities | 0.608*** (0.069) | -0.344 (0.245) | 0.575*** (0.159) | 0.967*** (0.207) | 0.741** (0.26) | 0.126 (0.135) |
| Lack of skill recognition | 0.733*** (0.114) | 0.14 (0.291) | -0.315 (0.325) | 0.495 (0.389) | 0.504 (0.722) | -0.173 (0.302) |
| Language barrier | 1.367*** (0.069) | 0.377 (0.314) | 0.922*** (0.161) | 0.6** (0.209) | 1.423*** (0.235) | 0.504*** (0.142) |
| No barriers | 2.547*** (0.088) | 0.091 (0.352) | 2.638*** (0.236) | 2.504*** (0.21) | 2.206*** (0.198) | 2.298*** (0.173) |
| Model Fit | ||||||
| McFadden R² | 0.283 (N = 6910) | 0.196 (N = 556) | 0.308 (N = 1486) | 0.271 (N = 1039) | 0.29 (N = 1120) | 0.197 (N = 1778) |
| Pre-Migration Activity | ||||||
| Housekeeping | -1.724*** (0.109) | -1.389*** (0.342) | -1.469*** (0.226) | -1.447*** (0.339) | -1.659*** (0.27) | -1.876*** (0.22) |
| Long-term illness/injury | -3.341*** (0.387) | NA | -4.635*** (0.763) | -2.016** (0.752) | -3.249** (1.069) | -3.909*** (1.072) |
| Other activity | -1.352*** (0.4) | -1.543** (0.559) | 0.021 (0.374) | 0.126 (0.539) | -1.14* (0.538) | -0.418 (0.288) |
| Retired | -1.792*** (0.221) | -2.242** (0.773) | -2.18*** (0.457) | -2.007*** (0.504) | NA | -1.283** (0.487) |
| Studying | -0.714*** (0.121) | -2.038*** (0.43) | -1.31*** (0.246) | -1.37*** (0.289) | -0.888** (0.293) | -0.799** (0.286) |
| Unemployed | -0.94*** (0.211) | -1.058* (0.421) | -1.077** (0.371) | -1.011* (0.416) | NA | -0.861 (0.566) |
| * p < 0.05; ** p < 0.01; *** p < 0.001. Reference categories: employed (activity), bachelor's degree (education), female (gender), age 18–34. | ||||||