Șomajul: pauză scurtă sau blocaj de lungă durată?¶
Mă uit la cât timp rămân oamenii fără loc de muncă în țările OECD. Întrebarea nu e câți oameni sunt șomeri, ci cât de mult stau șomeri: câteva luni sau ani întregi.
Sursa: OECD Data Explorer - Duration of unemployment distribution.
1. Problema și motivația¶
Două țări pot avea același procent de șomeri, dar situații complet diferite. Dacă oamenii stau șomeri câteva luni și își găsesc repede alt job, șomajul e doar o pauză scurtă. Dacă stau ani, e o problemă serioasă: îți pierzi din deprinderi, e tot mai greu să te reangajezi, iar sărăcia și excluziunea cresc.
De aceea mă uit la câți dintre șomeri sunt fără job de 12 luni sau mai mult. Acest număr arată dacă, într-o țară, șomajul e ceva trecător sau ceva în care oamenii rămân blocați.
2. Ipoteza de lucru¶
În unele țări șomajul e o pauză scurtă, în altele oamenii rămân blocați ani fără job. Iar diferența asta e de durată: fiecare țară își păstrează nivelul de la un an la altul, nu e doar efectul unei crize de moment.
Două lucruri pe care le pot verifica direct, doar din aceste date:
- Procentul șomerilor de lungă durată diferă enorm de la o țară la alta - de la câteva procente la peste jumătate dintre șomeri.
- O țară rămâne cam pe același loc în timp: cât avea în 2018 prezice cât are în 2024. Dacă ar fi doar din cauza unei crize, locurile s-ar amesteca de la un an la altul.
(De ce stă o țară mai prost - reguli ale pieței muncii, muncă la negru, competențe - sunt doar bănuieli pe care le discut la final; nu le testez aici și nu mă leg de PIB.)
3. Planul de lucru¶
- Iau datele și păstrez o felie comparabilă (adulți 25-64 ani, ambele sexe, toate nivelurile de educație).
- Calculez câteva statistici simple (medie, mediană, valoarea cea mai des întâlnită, cât de împrăștiate sunt) - ca să văd cât de diferite sunt țările.
- Graficul 1: cum se împarte șomajul pe durată în fiecare țară (scurt / mediu / lung).
- Graficul 2: compar fiecare țară între 2018 și 2024, ca să văd dacă rămâne pe loc.
- Unde stă România și concluziile (de ce se întâmplă, ce s-ar putea face, exemple).
4. Setul de date¶
- Sursa: OECD Data Explorer, dataflow
OECD.EDU.IMEP:DSD_EAG_LSO_EA@DF_LSO_NEAC_DISTR_DURUNEMP. - Ce conține: cum se împart șomerii pe durată, ca procent din toți șomerii.
- Felia analizată: adulți 25-64 ani (
AGE = Y25T64), ambele sexe (SEX = _T), toate nivelurile de educație (ATTAINMENT_LEV = _T). - Cele trei clase de durată: sub 3 luni (
M_LT3), 3-11 luni (M3T11), 12 luni sau mai mult (M_GE12). Împreună fac 100% din șomeri. - Am scos cele două agregate (Uniunea Europeană, OECD): sunt medii ale țărilor, nu țări în sine, și ar denatura comparația.
| Coloană | Conținut |
|---|---|
country |
Țara |
year |
Anul |
duration |
Clasa de durată |
share |
Procent din toți șomerii (%) |
Datele sunt salvate local, într-un fișier mic scos o singură dată din setul OECD complet (~83 MB). Notebook-ul citește direct acest fișier - nu descarcă nimic în timpul rulării.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearsonr
# Cele trei clase de durata a somajului si etichetele lor.
DUR_ORDER = ["M_LT3", "M3T11", "M_GE12"]
DUR_LABEL = {"M_LT3": "sub 3 luni", "M3T11": "3-11 luni", "M_GE12": "12 luni sau mai mult"}
# Citim fisierul salvat local (scos o data din setul OECD complet de ~83 MB).
d = pd.read_csv("data/oecd_duration_snapshot.csv")
# Scoatem cele doua agregate (Uniunea Europeana, OECD): sunt medii ale tarilor, nu tari.
d = d[~d["country"].isin(["European Union (25 countries)", "OECD"])]
print(f"Țări: {d['country'].nunique()}, ani: {int(d['year'].min())}-{int(d['year'].max())}")
Țări: 44, ani: 1990-2024
5. Statistici descriptive¶
Mă uit la procentul șomerilor de lungă durată (12+ luni) în fiecare țară, în 2024 (anul cel mai recent cu date pentru multe țări). Dacă ipoteza mea e corectă, valorile ar trebui să fie foarte împrăștiate - adică țările să fie foarte diferite între ele.
YEAR = 2024
# Procentul oamenilor someri de 12 luni sau mai mult (somaj de lunga durata), pe tari, in 2024.
lt = d[d["duration"] == "M_GE12"]
lt_year = lt[lt["year"] == YEAR].set_index("country")["share"]
print(f"Șomaj de lungă durată (12+ luni), {YEAR}, {lt_year.size} țări:")
print(f" medie : {lt_year.mean():.1f} %")
print(f" mediană : {lt_year.median():.1f} %")
print(f" cel mai des : {lt_year.round().mode().iloc[0]:.0f} %")
print(f" împrăștiere : {lt_year.std():.1f} pp (abatere standard)")
print(f" cea mai mică : {lt_year.min():.0f} % ({lt_year.idxmin()})")
print(f" cea mai mare : {lt_year.max():.0f} % ({lt_year.idxmax()})")
Șomaj de lungă durată (12+ luni), 2024, 35 țări: medie : 33.9 % mediană : 32.3 % cel mai des : 11 % împrăștiere : 15.2 pp (abatere standard) cea mai mică : 3 % (Mexico) cea mai mare : 70 % (South Africa)
Ce văd. Valorile merg de la 3% la 70%, cu o împrăștiere mare (abatere standard ~15 puncte). Nu există un nivel "normal": țările sunt răspândite pe toată gama, de la cele unde șomajul e scurt la cele unde majoritatea șomerilor sunt blocați de peste un an. Asta confirmă prima parte a ipotezei.
6. Graficul 1: cum se împarte șomajul pe durată, în fiecare țară¶
Fiecare bară e o țară și arată cum se împart șomerii ei pe cele trei clase de durată. Verde = șomaj scurt (sub 3 luni), galben = mediu (3-11 luni), roșu = lung (12 luni sau mai mult). Țările sunt așezate de jos în sus, de la cele cu cel mai puțin șomaj de lungă durată la cele cu cel mai mult.
dist = (
d[d["year"] == YEAR]
.pivot_table(index="country", columns="duration", values="share")
.reindex(columns=DUR_ORDER)
.dropna()
.sort_values("M_GE12")
)
colors = {"M_LT3": "#2ca25f", "M3T11": "#fec44f", "M_GE12": "#d94545"}
text_color = {"M_LT3": "white", "M3T11": "#444444", "M_GE12": "white"}
fig, ax = plt.subplots(figsize=(11, 12))
left = np.zeros(len(dist))
for dur in DUR_ORDER:
vals = dist[dur].values
ax.barh(dist.index, vals, left=left, color=colors[dur],
label=DUR_LABEL[dur], edgecolor="white", linewidth=0.6)
# Scriem procentul in fiecare segment, doar unde e destul de lat ca sa incapa.
for yi, (start, v) in enumerate(zip(left, vals)):
if v >= 8:
ax.text(start + v / 2, yi, f"{v:.0f}", va="center", ha="center",
fontsize=8, fontweight="bold", color=text_color[dur])
left += vals
# Ingrosam Romania (rosu) si cele mai extreme 2 tari de sus si 2 de jos.
extremes = set(dist.index[:2]) | set(dist.index[-2:])
for tick in ax.get_yticklabels():
if tick.get_text() == "Romania":
tick.set_fontweight("bold")
tick.set_color("#b03030")
elif tick.get_text() in extremes:
tick.set_fontweight("bold")
ax.set_xlim(0, 100)
ax.set_xlabel("Procent din toți șomerii (%)")
ax.set_title(
f"Cât durează șomajul, pe țări ({YEAR}).\n"
"Sus: oameni blocați mult timp (roșu). Jos: șomaj scurt (verde). Numerele = % din șomeri.",
fontsize=13, pad=14, loc="left",
)
# Legenda sub grafic, in afara zonei de bare (nu mai acopera nimic).
ax.legend(loc="upper center", bbox_to_anchor=(0.5, -0.045), ncol=3,
frameon=False, title="Durata șomajului")
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
fig.subplots_adjust(left=0.16, right=0.97, top=0.93, bottom=0.10)
plt.show()
Ce văd în Graficul 1. Graficul arată cele 29 de țări pentru care am împărțirea completă pe durată în 2024.
Jos sunt țările unde șomajul e scurt: în Mexic, Costa Rica, Canada bara e aproape toată verde - oamenii își găsesc repede alt job.
Sus sunt țările unde oamenii rămân blocați: în Slovacia, Grecia, Italia bara e dominată de roșu - majoritatea șomerilor stau fără job de peste un an. Între cele două capete țările se înșiră treptat, de la 3% roșu în Mexic la 68% în Slovacia: o gamă continuă, fără o linie care să le rupă în două tabere.
România (scrisă cu roșu) stă în jumătatea de sus, cu 39% șomeri de lungă durată.
Africa de Sud, care are cel mai mare procent dintre toate țările (70%), nu apare aici: în acest set are doar numărul total de lungă durată, fără împărțirea pe scurt și mediu.
7. Graficul 2: rămâne o țară pe același loc în timp?¶
Dacă diferențele dintre țări ar veni doar dintr-o criză, locurile s-ar amesteca de la un an la altul. Ca să verific, pun pe același grafic procentul fiecărei țări din 2018 (pe orizontală) și din 2024 (pe verticală). Dacă o țară stă aproape de linia diagonală, înseamnă că a rămas cam la fel.
Calculez și un număr între 0 și 1 (corelația) care arată cât de bine se potrivesc cei doi ani: aproape de 1 = se potrivesc foarte bine, deci țările aproape nu și-au schimbat locul.
piv = lt.pivot_table(index="country", columns="year", values="share")
pair = piv[[2018, 2024]].dropna().copy()
pair["delta"] = pair[2024] - pair[2018]
r, p = pearsonr(pair[2018], pair[2024])
print(f"Potrivire 2018 vs 2024: r = {r:.3f} (din {len(pair)} țări)")
# Outlieri = tarile care s-au schimbat cu cel putin 15pp intre 2018 si 2024 (departe de diagonala).
moved = pair["delta"].abs() >= 15
fig, ax = plt.subplots(figsize=(8, 8))
hi = max(pair[[2018, 2024]].max()) * 1.12
ax.plot([0, hi], [0, hi], "--", color="#888", zorder=1, label="dacă o țară rămâne la fel")
ax.scatter(pair.loc[~moved, 2018], pair.loc[~moved, 2024], s=70,
color="#2d6cdf", edgecolor="white", linewidth=1, zorder=3)
ax.scatter(pair.loc[moved, 2018], pair.loc[moved, 2024], s=120,
color="#e8702a", edgecolor="white", linewidth=1.2, zorder=4,
label="s-au schimbat mult (outlieri)")
# Scriem numele tuturor outlierilor (cu cat s-au schimbat). Franta jos, Germania sus, ca sa nu se suprapuna.
out_offset = {"Netherlands": (8, -3), "France": (9, -13), "Germany": (9, 9), "Greece": (8, 5)}
for c, (dx, dy) in out_offset.items():
ax.annotate(f"{c} ({pair.loc[c, 'delta']:+.0f})", (pair.loc[c, 2018], pair.loc[c, 2024]),
xytext=(dx, dy), textcoords="offset points", fontsize=10,
color="#b85214", fontweight="bold")
# Doua tari de reper care au ramas pe loc.
for c in ["Mexico", "Slovak Republic"]:
ax.annotate(c, (pair.loc[c, 2018], pair.loc[c, 2024]),
xytext=(7, 5), textcoords="offset points", fontsize=9, color="#555")
ax.set_xlim(0, hi)
ax.set_ylim(0, hi)
ax.set_xlabel("Șomeri de lungă durată în 2018 (%)")
ax.set_ylabel("Șomeri de lungă durată în 2024 (%)")
ax.set_title(f"Fiecare țară rămâne cam pe loc: r = {r:.2f}.\n"
"Câteva excepții (portocaliu) au scăzut mult.",
fontsize=13, pad=12, loc="left")
ax.legend(loc="lower right", framealpha=0.95)
ax.set_aspect("equal")
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
plt.tight_layout()
plt.show()
Potrivire 2018 vs 2024: r = 0.883 (din 31 țări)
Ce văd în Graficul 2. Aproape toate punctele stau lipite de diagonală: cu r = 0.88, cât avea o țară în 2018 prezice aproape exact cât are în 2024. Mexic rămâne jos (șomaj scurt), Slovacia rămâne sus (mulți oameni blocați). Unde stă o țară aproape nu se schimbă de la un an la altul.
Patru țări (cu portocaliu) se abat de la diagonală mai mult decât restul, și toate au scăzut: Olanda (-24), Franța (-18), Germania (-15) și Grecia (-15) aveau mult șomaj de lungă durată în 2018 și l-au redus simțitor până în 2024, probabil pe fondul pieței muncii foarte strânse de după 2021 (puțini șomeri, angajatori în criză de personal).
Excepțiile astea nu strică tiparul: chiar și după ce s-au mișcat, ordinea generală dintre țări rămâne. O revenire poate coborî nivelul în mai multe țări deodată, fără să răstoarne clasamentul. Asta confirmă a doua parte a ipotezei.
Graficul folosește cele 31 de țări care au date și în 2018, și în 2024. Africa de Sud, Bulgaria, Croația și România nu au valoare pe 2018, așa că nu apar aici - dar le folosesc în restul analizei. Revin la asta la concluzii.
8. România în context¶
ro = lt.pivot_table(index="country", columns="year", values="share").loc["Romania"]
print("România - % șomeri de lungă durată:")
print(ro.dropna().round(0).to_string())
rank = lt_year.sort_values(ascending=False)
ro_rank = list(rank.index).index("Romania") + 1
print(f"\nÎn {YEAR}: {lt_year['Romania']:.0f}% șomeri de lungă durată, locul {ro_rank} din {len(rank)} (de la cel mai mult).")
print(f"Media celorlalte țări: {lt_year.drop('Romania').mean():.0f}%.")
România - % șomeri de lungă durată: year 2019 45.0 2024 39.0 În 2024: 39% șomeri de lungă durată, locul 11 din 35 (de la cel mai mult). Media celorlalte țări: 34%.
România stă în partea de sus (spre blocaj): în 2024, aproape 4 din 10 șomeri sunt fără job de peste un an, peste media celorlalte țări. Iar în 2019 era și mai mult (45%), deci ține de cum e piața muncii la noi, nu de un episod izolat.
9. Concluzii¶
Ipoteza mea se confirmă pe ambele părți.
Țările sunt foarte diferite între ele. Procentul șomerilor de lungă durată merge de la 3% (Mexic) la 70% (Africa de Sud). În unele țări șomajul e o pauză de câteva luni; în altele, majoritatea rămân blocați peste un an.
Fiecare țară rămâne cam pe locul ei. Cât avea în 2018 prezice cât are în 2024 (potrivire 0.88). Câteva țări (Olanda, Franța, Germania, Grecia) au redus mult șomajul de lungă durată după 2021, dar fără să schimbe ordinea generală dintre țări.
Exemple. Șomaj scurt: Mexic, Costa Rica, Canada. Oameni blocați mult timp: Slovacia, Grecia, Italia (și Africa de Sud cu 70%, cel mai mare, dar fără împărțire pe durată în date). România: spre blocaj (locul 11 din 35, aproape 4 din 10 șomeri de lungă durată).
De ce se întâmplă (de discutat oral):
- Regulile pieței muncii: unde e greu să dai oameni afară, e și greu să angajezi, așa că șomerii așteaptă mai mult (tipic Europei de Sud și de Est).
- Munca la negru: unde șomajul e scurt (America Latină), oamenii sunt reabsorbiți repede în joburi informale, deci puțini rămân șomeri oficiali pe termen lung.
- Nepotrivirea de competențe: când ce știu oamenii nu se potrivește cu ce cer angajatorii, reangajarea durează - și cu cât durează, cu atât își pierd mai mult din deprinderi.
Ce s-ar putea face:
- Programe țintite pe cei care stau șomeri de peste 12 luni (recalificare, sprijin la angajare), nu pe șomaj în general.
- Scăderea barierelor la angajare în țările cu mult șomaj de lungă durată.
- O analiză mai amplă: legarea acestui procent de ajutoarele de șomaj și de cât de greu e să dai oameni afară (indicele OECD).
Limitări (sunt conștient de ele):
- Datele nu acoperă toți anii la fel (multe țări în 2018, 2021, 2024; anii de mijloc rar), așa că văd mai mult cum stau țările la un moment dat decât cum se schimbă an de an.
- Nu toate țările apar în toate părțile: statisticile folosesc 35 de țări, Graficul 1 doar 29 (cele cu împărțire completă pe durată), iar comparația în timp 31 (cele cu date și în 2018). Africa de Sud (cea mai mare, 70%) are doar numărul de lungă durată pe 2024, fără împărțire și fără istoric, deci apare în statistici dar în niciun grafic. Bulgaria, Croația și România au un punct în 2019 (nu 2018) și se mișcă puțin, rămânând în aceeași zonă - semn de stabilitate. Le-am păstrat pe toate ca date reale, în loc să tai din ele ca să iasă numere egale.
- Procentul nu spune și numărul de oameni: o țară cu puțini șomeri în total poate avea procent mare de lungă durată fără ca problema să fie mare ca număr.