El aumento del IVA de bebidas azucaradas: ¿redujo el consumo?

Nota: El color de texto LigthBlue señala links

En Enero de 2021, el gobierno español aumentó el IVA aplicable a las bebidas azucaradas del 10 al 21 por ciento. Entre otros motivos, el gobierno justificó este aumento tomando en consideración que el consumo de bebidas azucaradas está correlacionado con la obesidad y que España es el tercer país Europeo con mayor prevalencia de sobrepeso infantil y cuarto en obesidad. Por ello, a muchos nos gustaría que esta medida fuera efectiva.

Diversos países han aplicado políticas impositivas con el objetivo de reducir el consumo de bebidas azucaradas con resultados dispares. Por ejemplo, Portugal y Catalunia aplicaron una medida muy similar en 2017, pero mientras que en el Portugal no tuvo efectos significativos en Catalunia la disminución del consumo parece haber llegado hasta el 17 por ciento.

Hace aproximadamente un mes, diversos medios de comunicación españoles se hicieron eco de los resultados de una investigación que sostiene que el incremento de IVA aplicable a las bebidas azucaradas redujo el consumo sólo en el los hogares más pobres en alredor de en 11 litros por año, El País de Madrid o Newtral, entre otros.

Los resultados expuestos por los medios de comunicación provienen de un trabajo muy interesante en una temática muy relevante. En el trabajo los autores utilizan la Encuesta de Presupuestos Familiares del INE, una encuesta anual que tiene como objetivo caracterizar el gasto de los hogares españoles, para los cinco años entre 2017 y 2021. El resultado lo extraen comparando el consumo en España peninsular, sujeta a IVA, con la no pensinsular, Canarias, Ceuta y Melilla, no sujeta a IVA.

Sin embargo, si se analizan los datos de alimentación del Ministerio de Agricultura, Pesca y Alimentación, MAPA, un panel mensual de 12 mil hogares, no parece tan evidente que el consumo de las clases bajas haya caído como consecuencia del impuesto,

NOTA: El gráfico muestra los datos de consumo mensual de bebidas refrescantes reportados por el MAPA en miles de litros hasta setiembre de 2022 y su media móvil de orden 12. Los datos del MAPA se extraen de un panel de consumidores que reportan sus datos mediante escaneo de compras. A diferencia de la EPF, la recogida de datos del MAPA no estuvo afectado por las resticciones de la pandemia. El verde oscuro señala el confinamiento y el verde todo el año 2020.

Por una parte, se observa una tendencia decreciente del consumo en las clase alta, media y media-baja antes de la pandemia mientras que las rentas bajas mantenían un consumo relativamente estable. Esta tendencia decreciente también se observa en las series temporales de consumo de bebidas refrescantes con o sin gas (grupo 01222) basadas en la Encuesta de Presupuestos Familiares que reporta el INE.

Por otra parte, se observa un crecimiento notable del consumo de bebidas refrescantes desde el inicio del confinamiento hasta después de navidad del año 2020.

Por último, comenzando el 2021 los consumos de bebidas refrescantes para todas las clases sociales se reducen desde los niveles excesivamente altos alcanzados durante el año de la pandemia.

Observando estos gráficos surge la duda de si la caída del consumo es el resultado del impacto de la política o de que el consumo está retomando tendencias que venían desde antes de la pandemia, e.g., un cambio de preferencias. Si el motivo de la disminución de consumo fuera un cambio de preferencias la política posiblemente fuera meramente recaudatoria (ver, un ejemplo ilustrativo dado por Manski, 2000, pg. 130, sobre la necesidad de una política de información sobre los efectos de la adicción al crack cuando lo que cambian son las preferencias).

¿Por qué pueden diverger las conclusiones según los datos que se analicen?

Como sugiere Wolfers (2006), un motivo puede estar en el número de años que se eligen antes de implementar la polítical para analizar el supuesto de tendencias paralelas. En el estudio se escogen 4 años antes de la política, de 2017 a 2020, y un año después, 2021.

Para evaluar el impacto de un impuesto en bebidas azucaradas es usual comparar los precios y/o el consumo de unidades que han sido afectadas por el impuesto - las unidades tratadas- con unidades que no han sido afectadas por el impuesto -unidades no tratadas o de control-. Por ejemplo, en un estudio de impacto en Philadelphia, EEUU, se compararon los precios de tiendas en municipios afectados y no afectados por el impuesto (ver).

Pero para que el resultado extraído de esta comparación sea válido para identificar el impacto de la política, las tiendas afectadas -tratadas- y no afectadas -control- por el impuesto deberían comportarse de forma similar en ausencia del impuesto (idea de contrafactual; Ross et al., 2022).

Lamentablemente no es posible saber qué hubiera pasado con las unidades sujetas al impuesto si este no se hubiera aplicado. Lo que usualmente se hace es comparar las unidades tratadas y no tratadas en periodos anteriores a la implantación del impuesto y ver si su comportamiento es similar, es decir, si los precios evolucionan de forma parelela. Como ejemplo, ver en el estudio de Philadelphia, citado arriba, página 34.

En el trabajo en cuestión los autores comparan los precios medios no ponderados de las bebidas refrescantes en el periodo 2017-2020, señalado en verde en el gráfico siguiente. Pero en el gráfico, además, seguimos la sugerencia de Wolfers y, extendemos el período hacia 2006.

NOTA: El gráfico utiliza los datos de la Encuesta de Presupuestos Familiares 2006-2021. El precio de las bebidas refrescantes, ECOICOP 01222, se obtiene de dividir el gasto monetario por la cantidad. Tratados: España peninsular sin Cataluña; Control: España no peninsular.

El gráfico sugiere dos cosas: primero, si nos detenemos en la evolución de los precios entre 2017 y 2022, el rectangulo verde, los precios evolucionan de forma paralela. Segundo, sin embargo, si extendemos el período no se evidencia tan claramente que exista una evolución paralela de los los precios entre los tratados y los no tratados

El gráfico anterior utiliza precios no ponderados por lo que cada hogar tiene el mismo peso en el índice compre lo que compre. En el gráfico siguiente, ponderamos por la participación del hogar en las compras totales,

NOTA: El gráfico utiliza los datos de la Encuesta de Presupuestos Familiares 2006-2021. El precio de las bebidas refrescantes, ECOICOP 01222, se obtiene de dividir el gasto monetario por la cantidad y se pondera por la cantidad comprada por el hogar. Tratados: España peninsular sin Catalunia; Control: España no peninsular.

No queda claro, observando este gráfico, que los comportamientos de los precios en ausencia del impuesto sean similares entre los tratados y los no tratados. En otras palabras, ampliando el número de años hacia atrás, más allá del 2017, el gráfico no deja claro que se cumpla el supuesto de tendencias paralelas, lo que pondría en duda la identificación del impacto de la política mediante un método de diferencias en diferencias utilizando estos datos.

¿Cómo evolucionan las cantidades?

Lamentablemente los autores del trabajo no presentan un gráfico que muestre la evolución de las cantidades consumidas de bebidas refrescantes, gráfico que presentamos a continuación.

NOTA: El gráfico utiliza los datos de la Encuesta de Presupuestos Familiares 2006-2021 y presenta la cantidad en litros de bebidas refrescantes, ECOICOP 01222. Se empalmo la serie anterior a 2015 con la posterior a 2015. Tratados: España peninsular sin Catalunia; Control: España no peninsular.

El gráfico sugiere, al menos, tres cuestiones: al igual que los datos del MAPA, el consumo estaba decreciendo antes de la pandemia, se incrementa en el año del confinamiento, para volver a caer después. Esto podría estar apoyando la idea de un cierto cambio en hábitos o preferencias. Segundo, la caída posterir a la pandemia podría significar, más que un impacto del impuesto, un retornar a tendencias decrecientes de consumo. Por último, el gráfico no sugiere un comportamiento paralelo entre tratados y no tratados en el consumo de bebidas refrescantes con o sin gas.

El consumo de agua mineral: un grupo de control intuitivo

Podría pensarse que un grupo de control razonable, en una primera instancia, podría haber sido el consumo de agua mineral, dado que su precio no fue afectado por el impuesto.

Los autores del artículo presentan un gráfico comparando los precios de los refrescos y del agua mineral con los datos del índice de precios del INE pero no con los datos de la EPF.

El gráfico que presentamos a continuación compara el precio y consumo de bebidas refrescantes y agua utilizando los datos de la EPF para la España peninsular (esto es, solo el grupo de tratados).

NOTA: El gráfico utiliza los datos de la Encuesta de Presupuestos Familiares 2006-2021. Bebidas refrescantes es el ECOICOP 01222 y agua 01221. Aquí la comparación es solo entre el grupo de tratados: España peninsular sin Cataluña

Nuevamente, los datos de la EPF no permiten garantizar que los precios o las cantidades consumidas de bebidas y aguas siguan comportamientos paralelos en las CCAA en las que se aplicó el IVA a las bebidas refrescantes.

Conclusión

Las políticas que incentiven un cambio en los comportamientos de los ciudadanos para reducir la obesidad adquirida por hábitos y constumbres es una tarea pendiente en España.

En este post exponemos cierta evidencia para reflexionar sobre una información reproducida por diversos medios de comunicación resaltando una disminución del consumo como consecuencia del aumento del IVA en bebidas edulcoradas. Creemos que es necesario profundizar en los impactos de este tipo de políticas.



Este post es una versión simplificada del apéndice en “Una aproximación gráfica al impacto del IVA en las bebidas azucaradas”, Miles et al. (2023), donde se utilizan datos del MAPA. En la web adjuntamos algunos scripts para dar idea de lo que hicimos y poder replicar este artículo. La responsabilidad es del autor y no ha sido sometido a ninguna evaluación, por lo que pueden haber errores, por lo cuál pido disculpas.

Adjuntamos aquí algunos scripts

Lectura ficheros, extracción unicamente del csv y se guarda en un directorio: de 2016 a 2021 es sencillo automazar la extracción de ficheros. Con anterioridad es más lioso pues hay tema con la url. Adjuntamos aquí un script para estos últimos años.

from requests_html import HTMLSession
import zipfile, io, os
from io import BytesIO
import pandas as pd
import glob
import re
import epf_registro_variables16_22 as epf_var

session = HTMLSession()


# Path a los ficheros
path = r"C:\daniel\ivaB\programas"
os.chdir(path)
# Directorio de destino de datos
path = r"..\datos\epf"
os.chdir(path)

#%%
###########################################################
# BAJAR DATOS DEL INE
# Aqui extraemos los datos directamente de la web del ine

# Extraemos solo los ficheros csv de los zip 2016-2022 directamente de la pagina web
# del INE

 anos = [str(a) for a in range(2016, 2022)]

 for i in anos:

     url = f"https://www.ine.es/ftp/microdatos/epf2006/datos_" + i + ".zip"
     r = session.get(url)

     # Tengo un zip dentro de un zip
     # Leo para luego poder iterar
     z = zipfile.ZipFile(io.BytesIO(r.content))
     # Itero en los ficheros zip
     for zipf in z.namelist():
         # Paro en el fichero zip fn
         fn = "EPFgastos_" + i + ".zip"
         if zipf == fn:
             # Leo este fichero para que sea iterable
             zfiledata = BytesIO(z.read(zipf))
             with zipfile.ZipFile(zfiledata) as zfile2:
                 for zipf2 in zfile2.namelist():
                     if zipf2.endswith(".csv"):
                         zfile2.extract(zipf2)
         fn = "EPFhogar_" + i + ".zip"
         if zipf == fn:
             # Leo este fichero para que sea iterable
             zfiledata = BytesIO(z.read(zipf))
             with zipfile.ZipFile(zfiledata) as zfile2:
                 for zipf2 in zfile2.namelist():
                     if zipf2.endswith(".csv"):
                         zfile2.extract(zipf2)


Esta función permite extraer datos para el gráfico

def df_control_treat(concepto, df_epf, goods, estadistico):
    """
    Funcion para extraer del control y del treatment
    un concepto,e.g., precio no ponderado, cantidad
    
    Input:
    Concepto: precio, cantidad
    Goods: agua, beb refres: lista
    Estadictico: mean, median,sum....
    Output:
     Unstack df del concepto treatment control
     df_graf: para grafico
    """
    # Valor de la salida de resultados

    control = (
        df_epf.loc[epf["control"] == 1, :]
        .groupby(["anoenc", "codigo"])[concepto]
        .agg({estadistico})
        .unstack()
    )
    control = control.droplevel(0, axis=1)

    treat = (
        df_epf.loc[epf["control"] == 0, :]
        .groupby(["anoenc", "codigo"])[concepto]
        .agg({estadistico})
        .unstack()
    )
    treat = treat.droplevel(0, axis=1)

    g_control = control[goods]  # Para grafico
    control = control.add_suffix("_control")
    g_control = g_control.add_suffix("_control")

    g_treat = treat[goods]  # Para grafico
    treat = treat.add_suffix("_treat")
    g_treat = g_treat.add_suffix("_treat")

    # Grafico
    df_graf = pd.concat(
        [
            g_treat,
            g_control,
        ],
        axis=1,
    )
    df_graf.index = pd.to_datetime(df_graf.index, format="%Y").year
    # Todo los controls y treatments
    df_c_t = pd.concat(
        [
            treat,
            control,
        ],
        axis=1,
    )

    return df_c_t, df_graf


Ponderar precios

def precio_media_ponderada(bebida, df_epf):
    """Hace la media ponderada utilizando el share de cantidades"""

    sel_bebidas = df_epf.loc[:, "codigo"].isin([bebida])
    df = df_epf.loc[sel_bebidas, :].copy()

    df["precio"] = df["gastomon"] / df["cantidad"]

    # Share de candidad por tratamiento/control
    df["w_cantidad"] = df.groupby(["anoenc", "treat"])["cantidad"].transform(
        lambda x: x / x.sum()
    )
    # Precio ponerado
    df["precio_ponderado"] = df["precio"] * df["w_cantidad"]

    concepto = "precio_ponderado"

    precio_control = (
        df.loc[df["treat"] == 1, :].groupby(["anoenc"])[concepto].agg(["sum"])
    )

    precio_control.columns = [bebida + "_treat" for i in precio_control.columns]

    precio_treat = (
        df.loc[df["treat"] == 0, :].groupby(["anoenc"])[concepto].agg(["sum"])
    )

    precio_treat.columns = [bebida + "_control" for i in precio_treat.columns]

    precio = pd.concat([precio_control, precio_treat], axis=1)

    return precio



Descargo de responsabilidad: Este post ha sido escrito por Daniel Miles-Touya y lo que en el se dice es de su exclusiva responsabilidad. Este sitio web está destinado a un uso educativo personal y debe emplearse únicamente con fines informativos. En consecuencia, se excluyen todas las garantías y formas de responsabilidad derivadas del uso de este sitio web en la medida en que sean aplicables. Nada en este sitio web constituye una garantía de exactitud de ningún tipo -no ha habido peer review. Las llamadas de atención representan las opiniones personales y no pretenden ser juicios de hecho definitivos.