ICT Infrastructure Subsidies Analysis

Análisis de Subsidios para Infraestructura TIC

ANR
Autor/a

Martin Olmos

Fecha de publicación

26 de abril de 2024

En Argentina, como en muchos otros países, existe un fondo constituido con aportes de las empresas del sector TIC con el objetivo de llevar los servicios a poblaciones que no pueden acceder a ellos por distintos motivos. En este post, participé de un panel donde hablé sobre la historia de este fondo en Argentina, denominado Fondo Fiduciario de Servicio Universal (FFSU), su marco normativo y los distintos programas que tiene en la actualidad.

En este post, voy a hacer un pequeño análisis exploratorio de los algunos datos de los dos programas más importantes del FFSU: el Programa Conectividad y el Programa Barrios Populares. El análisis abarco los años entre 2020 y 2023, para los cuales se cuenta con datos. Los datos fueron extraídos de las Actas de Directorio del Ente Nacional de Comunicaciones (ENACOM), que se publican en PDF en la página web del organismo.

Programa Conectividad

Código
# Me conecto a la base de datos y leo la tabla del Programa Conectividad
# Connect to the database and read the Conectividad Program table

from dotenv import load_dotenv
from sqlalchemy import create_engine
import os
import pandas as pd

load_dotenv()

host = os.getenv("HOST")
port = os.getenv("PORT")
database = os.getenv("DBNAME")
user = os.getenv("USER")
password = os.getenv("PASSWD")

engine = create_engine(f"postgresql://{user}:{password}@{host}:{port}/{database}")

anr_prog_con = pd.read_sql_table(table_name="conectividad_aprob_georef", con=engine)

La Figura 1 muestra la cantidad de localidades beneficiarias de ANRs del Programa Conectividad aprobados por provincia, entre 2020 y 2023.

Código
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax = anr_prog_con.groupby("provincia_indec").size().sort_values(ascending=False).plot(kind='bar', figsize=(20,10), legend=False)

ax.set_xlabel("Provincia", fontsize=15)
Figura 1: Localidades beneficiarias de ANRs del Prog. Conectividad por provincia

La Figura 2 muestra la cantidad de localidades beneficiarias de ANRs del Programa Conectividad por año.

Código
anr_prog_con['anio'] = anr_prog_con['fecha'].apply(lambda x: x.strip().split(' ')[1] if len(x.split(' ')) > 1 else None)

fig, ax = plt.subplots()

anr_prog_con.groupby("anio").size().plot(ax=ax, kind='bar', figsize=(12,6), legend=False)

ax.set_xlabel("Año", fontsize=15)
Figura 2: Localidades beneficiarias de ANRs del Prog. Conectividad por año

La Figura 3 muestra la cantidad de localidades beneficiarias de ANRs del Programa Conectividad por año y provincia.

Código
import textwrap

anr_prog_con_prov_anio = anr_prog_con.groupby(['anio', 'provincia_indec']).size().unstack().fillna(0)

fig, ax = plt.subplots(4,1)

for i, anio in enumerate(anr_prog_con_prov_anio.index):
    anr_prog_con_prov_anio.loc[anio].sort_values(ascending=False).plot(ax=ax[i], kind='bar', figsize=(12,26), legend=False)
    ax[i].set_title(f"{anio}", fontsize=20)
    ax[i].set_xlabel("")
    ax[i].set_xticklabels([textwrap.fill(label.get_text(), 10) for label in ax[i].get_xticklabels()], rotation=45, fontsize=8, ha='right')  # Wrap labels
Figura 3: Localidades beneficiarias de ANRs del Prog. Conectividad por año y provincia

Programa Barrios Populares

Código
# Me conecto a la base de datos y leo la tabla del Programa Barrios Populares
# Connect to the database and read the Barrios Populares Program table

import geopandas as gpd

anr_prog_renabap = gpd.read_postgis("SELECT * FROM renabap_aprob", con=engine, geom_col="geometry")

La Figura 4 muestra la cantidad de barrios beneficiados por ANRs del Programa Barrios Populares por provincia, entre 2021, año en que comienza la ejecución del programa, y 2023.

Código
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax = anr_prog_renabap.groupby("provincia").size().sort_values(ascending=False).plot(kind='bar', figsize=(20,10), legend=False)

ax.set_xlabel("Provincia", fontsize=15)
Figura 4: Barrios beneficiados con ANRs del Prog. Barrios Populares por provincia

La Figura 5 muestra la cantidad de barrios beneficiados con ANRs del Programa Barrios Populares por año.

Código
anr_prog_renabap['anio'] = anr_prog_renabap['fecha'].apply(lambda x: x.strip().split(' ')[1] if len(x.split(' ')) > 1 else None)

fig, ax = plt.subplots()

anr_prog_renabap.groupby("anio").size().plot(ax=ax, kind='bar', figsize=(12,6), legend=False)

ax.set_xlabel("Año", fontsize=15)
Figura 5: Barrios beneficiados con ANRs del Prog. Barrios Populares aprobados por año

La Figura 6 muestra la cantidad de barrios beneficiados por ANRs del Programa Barrios Populares por año y provincia.

Código
import textwrap

anr_prog_renabap_prov_anio = anr_prog_renabap.groupby(['anio', 'provincia']).size().unstack().fillna(0)

fig, ax = plt.subplots(3,1)

for i, anio in enumerate(anr_prog_renabap_prov_anio.index):
    anr_prog_renabap_prov_anio.loc[anio].sort_values(ascending=False).plot(ax=ax[i], kind='bar', figsize=(12,26), legend=False)
    ax[i].set_title(f"{anio}", fontsize=20)
    ax[i].set_xlabel("")
    ax[i].set_xticklabels([textwrap.fill(label.get_text(), 10) for label in ax[i].get_xticklabels()], rotation=45, fontsize=8, ha='right')  # Wrap labels
Figura 6: Barrios beneficiados por ANRs del Prog. Barrios Populares aprobados por año y provincia

Mas allá de estos gráficos sobre la cantidad de localidades y barrios vulnerables beneficiados sería interesante hacer un análisis sobre el impacto de estos programas en la conectividad de las poblaciones beneficiarias. Intentaremos aproximarnos a esta cuestión en un próximo post.