Tarifació social EBM Terrassa

actualització 14/07/2022: podeu trobar una entrada més recent sobre el mateix tema i amb les tarifes actualitzades aqui.

actualització 24/06/2021: Afluixo el to, afegeixo alguna dada i corregeixo errors d'ortografia

Tarifació social, és justa o no?

recentment he rebut dues bones notícies

1) Afortunadament, el meu fill ha obtingut plaça a l'escola bressol municipal que havíem sol·licitat tot i tenir una probabilitat de 15/38. Són instal·lacions noves, prop de casa i el transport públic, així que perfecte.

2) El meu nucli familiar és un 7/9 ric i no ho sabíem (ironia)

Resulta que les 10 quotes que s'han d'abonar a l'any s'ajusten segons el nivell de renda de la unitat familiar. La qual cosa em sembla molt bé, tot sigui dit. El que no m'acaba d'encaixar és que la nostra família amb uns ingressos molt ajustats a la mitja* (lleugeríssimament per sobre) caigui al tram 7. 7 d'un total de 9. A partir d'ara, em centraré en famílies de 3 membres i escolarització de jornada completa + menjador (el meu cas)

* mitja, entenent que els 2 progenitors treballem a jornada completa i el sou mitjà a Catalunya l'any 2018 va ser de 29.738€ bruts(Font). Segons l'INE, 25552 notablement més baix (deu incloure jornades parcials). A nivell d'unitat familiar ho desconec... Update: Aquí es pot veure a nivell de municipi. Al 2018 les mitjanes aritmètiques a Terrassa van ser (independentment del tipus de jornada):

  • base imponible general = 22.225
  • base imponible del ahorro = 2.397

que són les caselles de la declaració de la renda que s'utilitzen per triar el tram al que pertany la família. Multiplicant-ho per 2 (progenitors) suma 49244 => al mig del tram 7. Aquesta dada està esbiaixada perquè no inclou la població que decideix no fer-la.

trams

tarifesEBM

I ara arribem al punt que m'ha irritat. Resulta que el tram9 (sense límit superior) només pagarà 18€ més per quota, 180€ anuals. I així queda la redistribució proposada per l'ajuntament de Terrassa. Si Messi vol portar un potencial fill a una EBM egarenca, pagarà 180€ més que nosaltres. I no cal ser Messi, qualsevol família de classe alta, com per exemple, la unitat familiar de l'excel·lentíssim alcalde, amb uns ingressos bruts de 76000 + 71000. Ingressant un ~230% més, els surt la quota un 4.7% més cara.

*No tinc res en contra l'alcalde o la gent amb més ingressos que jo, simplement les seves retribucions són públiques i és un exemple que ve bé. A més a més no te res a veure la situació familiar doncs té més fills (altres trams) i resumint desconec la seva situació particular

Llavors, la tarifació és justa o no? Com escalen els trams i les quotes?

In [1]:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

preus = np.array(
    [40.84, 73.5, 122.51, 204.18, 321.16, 362.19, 382.71, 395.53, 400.66]
)
trams = np.array(
    [0, 14341.91, 17210.3, 22947.06, 28683.83, 34420.59, 43025.74, 57367.66, 71709.57]
)
f, ax1 = plt.subplots()
ax1.plot(np.arange(8)+1.5,np.diff(trams), 'ro-')
ax2 = ax1.twinx()
ax2.plot(np.arange(8)+1.5, np.diff(preus), 'bo-')
ax1.set_xlabel('tram')
ax1.set_ylabel('dif. entre inici trams (€)', color='r')
ax2.set_ylabel('dif. entre quotes (€)', color='b');

Bé, com veiem a línia vermella de la figura anterior, l'amplitud dels trams es va dilatant (excepte el primer*). En altres paraules, cada cop es necessita més pastarrufa per saltar de tram. Llavors, el que es podria esperar és que la quota de l'EBM incrementés d'una manera similar o proporcional. No obstant, (línia blava) veiem que va incrementant notablement fins al tram 5 però llavors frena, fins arribar a l'increment ridícul de 5€ a l'últim tram.
Doncs no. No sembla massa redistributiu, les rendes mitges-baixes són les que tenen un increment de la quota més pronunciat

Per representar aquest fet, potser resultaria més útil una figura del percentatge d'ingressos que suposa la quota anual de l'EBM en funció dels ingressos

In [2]:
def perc_quota(ingressos):
    """retorna el percentatge que suposa la quota anual respecte els ingressos (per 1 fill)"""
    tram = np.searchsorted(trams, ingressos) # tram que correspon
    anualitat = preus[tram-1] * 10 # index 0-based, 10 quotes
    return 100 * anualitat / ingressos 
# generem dades per un rang d'ingressos i les visualitzem
rang_ingressos = np.arange(5000,150_001,100)
percentatges = [perc_quota(x) for x in rang_ingressos]

plt.plot(rang_ingressos, percentatges)
for edge in trams[1:]:
    plt.axvline(edge, c=(0,0,0,.5), ls=':')
plt.xlabel('ingressos (caselles 350+460)')
plt.ylabel('% ingressos invertits en EBM');
# provar plotly express

intentaré afegir una figura de plotly interactiva per a què cadascú es pugui buscar a ell mateix...

In [3]:
# import plotly.express as px
# fig = px.line(x=rang_ingressos, y=percentatges,
#              labels={'x':'ingressos (caselles 350+460)', 'y':'% ingressos invertits en EBM'})
# fig.write_html('../other/quotatramsEBM.html')
# fig.show()
# https://pastorjordi.github.io/htmlfigs/quotatramsEBM.html

veient-ho així es veu que hi ha gent a qui li suposa una despesa considerablement superior que a nosaltres (7.5% dels ingressos*). No obstant, que el tram superior arranqui des de menys d'un 6% atufa una mica

Per altra banda, una part dels trams més castigats podrien estalviar-se una part substancial de la quota. No em queda clar en el cas de no fer la declaració en quin tram es pertany. (Per exemple una parella amb 2 sous de 18.000€ bruts/any). Així que el tram 6 té números de ser el màxim perjudicat. Novament la classe mitja assumeix el gruix d'esforços econòmics? Sort que tenim un govern d'esquerres... (update: si no es fa la declaració no computa. update2: sembla ser que no és així, tram 9 o serveis socials ho verifiquen)

M'agradaria deixar clar que la meva queixa és que no hi hagi redistribució entre rendes mitges i altes. Si no hi ha calers, no em sap greu pagar la meva part corresponent de 3827€ per a què el meu fill pugui gaudir d'uns bons serveis i d'altres nanos també.
Així a "ojo de buen cubero" potser hi hauria d'haver uns 13 trams. El problema probablement és que als trams superiors hi ha poca població (no paguin per suplir els altres). L'altre, que si la quota puja de 450€ ja es comença a equiparar a la despesa que suposa una escola bressol privada (que te altres avantatges com ara que segueixen obertes al juliol) pel que es podria esperar una fuga d'usuaris.
Així que el que calen són calers i que l'educació infantil no sigui el correus2.0

podem criticar la gestió municipal?

PS: M'ha arribat des de un conegut que la EB de la Generalitat li farà arribar un rebut de 233€ mensuals bonificable per les condicions habituals: família nombrosa, etc. Això vol dir que el tram 7 en una EBM paga un 64% més que en una EB de la Gene (+150€/mensuals). Per més inri, sembla que les ratios d'alumnes són més baixes. Podem acusar la gestió municipal directament llavors? O ens sortiran per peteneres? (aka, és culpa de la Gene que no paga, i els altres: és culpa d'Espanya que ens roba). Sincerament desconec d'on surten tanta diferència. Si algú ho sap i vol comentar... benvingut sigui.
A veure quines dades trobem al portal de dades obertes...

In [4]:
# !wget https://opendata.terrassa.cat/dataset/e41afc19-d8aa-4e60-93df-88a87ec454a4/resource/fac07516-8cf1-426f-8df1-f11b6164b801/download/actual_pressupost_despeses.csv -P ../data/
# descomentar per desarregar
In [5]:
df = pd.read_csv('../data/actual_pressupost_despeses.csv', decimal=",")
print(df.dtypes)
df.tail()
EXERCICI_COMPTAB          int64
AREA                     object
SERVEI                   object
PROGRAMA                 object
CAPITOL                  object
PARTIDA                  object
DESCRIPCIO_PARTIDA       object
PRESSUPOST_DEFINITIU    float64
LIQUIDACIO              float64
dtype: object
Out[5]:
EXERCICI_COMPTAB AREA SERVEI PROGRAMA CAPITOL PARTIDA DESCRIPCIO_PARTIDA PRESSUPOST_DEFINITIU LIQUIDACIO
33631 2021 8-Estructura Territorial i Ate 8464-Estructura Territorial i 9-ACTUACIONES DE CARÁCTER GENE 2-DESPESES EN BÉNS CORRENTS I 21 8464 92403 22605 INDEMNITZACIONS - DINAMITZACIO NaN 5638.08
33632 2021 8-Estructura Territorial i Ate 8464-Estructura Territorial i 9-ACTUACIONES DE CARÁCTER GENE 2-DESPESES EN BÉNS CORRENTS I 21 8464 92403 22609 ACTIVITATS CULTURALS I ESPORTI NaN 486.20
33633 2021 8-Estructura Territorial i Ate 8464-Estructura Territorial i 9-ACTUACIONES DE CARÁCTER GENE 2-DESPESES EN BÉNS CORRENTS I 21 8464 92403 22799 ALTR. TREBALLS REALIT PER ALTR NaN 52101.27
33634 2021 8-Estructura Territorial i Ate 8464-Estructura Territorial i 9-ACTUACIONES DE CARÁCTER GENE 2-DESPESES EN BÉNS CORRENTS I 21 8464 92404 22799 ALTR. TREBALLS REALIT PER ALTR NaN 556.60
33635 2021 8-Estructura Territorial i Ate 8464-Estructura Territorial i 9-ACTUACIONES DE CARÁCTER GENE 4-TRASFERÈNCIES CORRENTS 21 8464 92403 48900 ALTRES TRANSFERÈNCIES SENSE FI NaN 268976.63

aqui s'exemplifica un dels problemes que em trobo sovint. Buscar despeses concretes a les dades obertes, és com buscar una agulla en un paller. Els camps tallats i/o abreviatures no ajuden. On recony estaran les despeses de les EBM als pressupostos de 2021?

In [6]:
df.AREA.unique()
Out[6]:
array([nan, '0-Presidència', '1-Serveis Territorials i Segur',
       '2-Urbanisme i Sostenibilitat', '3-Serveis Generals i Govern Ob',
       '4-Drets Socials', '5-Cicles de la Vida', '6-Promoció Econòmica',
       '7-Projecció de la Ciutat', '8-Estructura Territorial i Ate'],
      dtype=object)
In [7]:
df.SERVEI.unique()
Out[7]:
array([nan, '0000-Coordinació i Serv. Centr', '0111-Presidència',
       '0113-Premsa', '0463-Comunicació', '0464-DESCRIPCIÓ: 0464',
       '0467-DESCRIPCIÓ: 0467', '0468-DESCRIPCIÓ: 0468',
       '0469-DESCRIPCIÓ: 0469', '0491-Serveis Comunicació',
       '0752-Relacions Europees i Inte', '1000-Coordinació i Serv. Centr',
       '1222-Via Pública i Policia Mun', '1224-Mobilitat',
       '1314-Habitatge', '1414-Protecció de la Salut',
       '1431-DESCRIPCIÓ: 1431', '1432-Urbanisme',
       '1433-Servei d Obres i Mantenim', '1434-DESCRIPCIÓ: 1434',
       '1436-DESCRIPCIÓ: 1436', '1437-Pla de Barris',
       '1438-DESCRIPCIÓ: 1438', '1441-DESCRIPCIÓ: 1441',
       '1442-Eco-Equip, S.A.M.', '1443-DESCRIPCIÓ: 1443',
       '1511-DESCRIPCIÓ: 1511', '1513-DESCRIPCIÓ: 1513',
       '1533-Medi Ambient', '2000-Coordinació i Serv. Centr',
       '2011-Deute Públic', '2121-Tecnologia i Sistemes d I',
       '2122-Organització i Recursos H', '2125-DESCRIPCIÓ: 2125',
       '2424-DESCRIPCIÓ: 2424', '2432-Urbanisme',
       '2464-Estructura Territorial i ', '2468-Sindicatura de Greuges',
       '2533-Medi Ambient', '2611-Gestió Tributària i Recap',
       '2612-Serveis Econòmics, Financ', '3000-Coordinació i Serv. Centr',
       '3011-Deute Públic', '3121-Tecnologia i Sistemes d I',
       '3122-Organització i Recursos H', '3313-Serveis Socials',
       '3314-Habitatge Social', '3315-Oficina Capacitats Divers',
       '3412-Hospitals', '3413-Salut Comunitària',
       '3422-Servei d Educació', '3423-DESCRIPCIÓ: 3423',
       '3451-DESCRIPCIÓ: 3451', '3452-DESCRIPCIÓ: 3452',
       '3454-Consorci Normalització Li', '3460-Ciutadania i Qualitat Dem',
       '3461-Promoció Gent Gran', '3464-Estructura Territorial i ',
       '3465-Joventut', '3466-Polítiques de Gènere',
       '3467-Solidaritat i Cooperació ', '3468-Sindicatura de Greuges',
       '3611-Gestió Tributària i Recap', '3612-Serveis Econòmics, Financ',
       '4000-Coordinació i Serv. Centr', '4313-Serveis Socials',
       '4314-Habitatge Social', '4315-Oficina Capacitats Divers',
       '4316-Atenció Domiciliària i De', '4322-Servei d Ocupació i Forma',
       '4412-Hospitals', '4413-Salut Comunitària',
       '4423-DESCRIPCIÓ: 4423', '4449-DESCRIPCIÓ: 4449',
       '4454-Consorci Normalització Li', '4460-Ciutadania',
       '4461-DESCRIPCIÓ: 4461', '4466-Polítiques de Gèneres',
       '4467-Solidaritat i Cooperació ', '4469-DESCRIPCIÓ: 4469',
       '4622-DESCRIPCIÓ: 4622', '4623-Servei d Activitat Econòm',
       '4751-DESCRIPCIÓ: 4751', '4752-DESCRIPCIÓ: 4752',
       '4753-DESCRIPCIÓ: 4753', '5000-Coordinació i Serv. Centr',
       '5322-DESCRIPCIÓ: 5322', '5325-DESCRIPCIÓ: 5325',
       '5422-Servei d Educació', '5423-Universitat Societat Cone',
       '5451-Promoció i Difusió de la ', '5452-Esports',
       '5454-Consorci Normalització Li', '5460-Qualitat Democràtica',
       '5461-Promoció Gent Gran', '5465-Joventut',
       '5491-Serveis Comunicació', '5622-Comerç i Mercats',
       '5624-DESCRIPCIÓ: 5624', '5751-Turisme',
       '5752-Relacions Europees i Inte', '5753-Innovació',
       '5754-Projecció de la Ciutat', '6000-Coordinació i Serv. Centr',
       '6322-Servei d Ocupació i Forma', '6622-Comerç i Mercats',
       '6623-Servei d Activitat Econòm', '6753-Innovació',
       '7000-Coordinació i Serv. Centr', '7423-Universitat Societat Cone',
       '7451-Promoció i Difusió de la ', '7452-Esports', '7751-Turisme',
       '7752-Relacions Europees i Inte', '7753-Patrimoni Municipal i Par',
       '7754-Projecció de la Ciutat', '8000-Coordinació i Serveis Cen',
       '8464-Estructura Territorial i '], dtype=object)

Com veieu, hi ha varis camps buits (xxxx-DESCRIPCIÓ: xxxx). Però com a mínim el csv és accessible. A diferència dels grups escolars confinats (no n'hi ha prou en distribuir-se via twitter sinó que a sobre són imatges) ;)
Després de furgar 10 minuts he trobat el servei d'educació. No invertiré massa temps amb això.

4 números bruts per a unes dades brutes

In [10]:
pressupost_2021_tot = df.loc[df.EXERCICI_COMPTAB==2021, 'LIQUIDACIO'].dropna().sum()
pressupost_2021_edu = df.loc[
    (df.SERVEI.str.contains('-Servei d Educació', na=False)) & (df.EXERCICI_COMPTAB==2021),
    'LIQUIDACIO'
].dropna().sum()

pressupost_2018_tot = df.loc[df.EXERCICI_COMPTAB==2018, 'LIQUIDACIO'].dropna().sum()
pressupost_2018_edu = df.loc[
    (df.SERVEI.str.contains('-Servei d Educació', na=False)) & (df.EXERCICI_COMPTAB==2018),
    'LIQUIDACIO'
].dropna().sum()
perc_edu = round(100 * pressupost_2021_edu / pressupost_2021_tot, 2)
print(
    f"s'inverteix un {perc_edu} % dels pressupostos "
    f"de 2021 en educació ({(pressupost_2021_edu/1000):.1f}k €)"
)
print(
    f"respecte 2018, això suposa un increment del "
    f"{(perc_edu - 100 * pressupost_2018_edu / pressupost_2018_tot):.2f} % del pressupost total, "
    f"un increment de {(pressupost_2021_edu-pressupost_2018_edu)/1000:.1f} k€ bruts"
)
# compararem amb 2 anys enrera doncs la pandèmia pot embrutar indirectament les xifres

# no hi ha dades del servei d'educació en el mateix dataset de 2019
# aqui hi ha algo que no quadra xd
s'inverteix un 12.43 % dels pressupostos de 2021 en educació (11281.5k €)
respecte 2018, això suposa un increment del 0.61 % del pressupost total, un increment de -12157.5 k€ bruts

No dona massa joc. Probablement el pressupost brut surt negatiu (el doble aprox.) perquè es van pressupostar 2018 i 2019 junts (no hi ha dades de 2019 d'educació al dataset)

In [9]:
# dins d'aquest pressupost, com es distribueix en capítols?(programa=pruducción de bienes público)?
edu = df.loc[
    (df.SERVEI.str.contains('-Servei d Educació', na=False)) & (df.EXERCICI_COMPTAB==2021)]
ax = (edu.groupby('CAPITOL')['LIQUIDACIO'].sum()*100/pressupost_2021_edu
).plot.bar()
ax.set_ylabel('% pressupost serv. edu.');

¯\(ツ)/¯ no se m'acut què més dir. Hauria de furgar per altres llocs per comparar EBM amb EB de la Generalitat.

TLDR

  • Proporcionalment, els que pringuen més a l'hora de pagar les escoles bressol municipals són les famílies amb rendes mitges (sorpresa!). Encara que al tractar-se d'unitats familiars, si un dels dos* no fa la declaració es podria trampejar.
  • L'ajuntament destina més d'un 12% dels pressupostos del 2021 en educació (bastant més del que esperava, tenint en compte els preus). Car x2 (o x3 si comptem la redistribució prèvia via IRPF)
  • Lectors amb recent nascuts, si caieu al tram 5 o superior, us sortirà notablement més econòmica una escola bressol de la Generalitat. En trams inferiors ho desconec, sembla que apliquen quota comú (233€) bonificable per altres circumstàncies (família nombrosa, etc.)

Salut a tothom! El notebook original on es pot re-executar el codi el podeu trobar aquí.

edit: un lector proper m'ha fet arribar quelcom que ignorava: segons la SER la classe mitja es considera la població que cobra del 75% al 200% del salari mig. Per tant, seríem classe mitja-alta pel que un 7/9 no estaria tant fora de lloc. Llavors només quedaria aclarir perquè les municipals tenen un cost d'un +64%.

Show Comments