Análisis Económico, Empírico y Político del Peaje de Congestión en Gotemburgo (Suecia)


1 Introducción

1.1 Contexto y Motivación

El peaje de congestión (congestion pricing) representa uno de los instrumentos de política de transporte más estudiados y debatidos en la economía urbana contemporánea. En términos generales, se trata de un mecanismo de tarificación que impone un cargo monetario al uso de infraestructura vial en períodos de alta demanda, con el objetivo de internalizar las externalidades negativas asociadas al tráfico vehicular e incentivar un uso más eficiente del sistema de movilidad urbana (Walters, 1961; Vickrey, 1969).

Desde la perspectiva de la economía del bienestar, la congestión vial constituye un problema de externalidades recíprocas: cada conductor que ingresa a una vía congestionada impone costos adicionales —tiempo de viaje, combustible, emisiones— sobre todos los demás usuarios sin compensarlos. Esta divergencia entre el costo marginal privado y el costo marginal social constituye la fuente del fallo de mercado que justifica la intervención pública mediante instrumentos pigouvianos (Pigou, 1920; Arnott y Small, 1994).

1.2 El Caso de Gotemburgo

Gotemburgo (Göteborg en sueco), segunda ciudad de Suecia con aproximadamente 590.000 habitantes en el municipio y más de un millón en el área metropolitana, implementó en enero de 2013 un sistema de peaje de congestión como parte de un ambicioso paquete de infraestructura de transporte denominado Västsvenska paketet (Paquete del Oeste de Suecia). A diferencia de los sistemas de Estocolmo (2006) y Londres (2003), el caso de Gotemburgo presenta particularidades institucionales y políticas de gran interés analítico: la recaudación no está destinada exclusivamente a mejoras de transporte local, sino que financia parcialmente el proyecto ferroviario West Link (Västlänken), un túnel ferroviario de alta capacidad bajo el centro de la ciudad con un costo estimado superior a los 20.000 millones de SEK (aproximadamente 1.800 millones de euros).

1.3 Objetivos del Estudio

Este informe persigue los siguientes objetivos analíticos:

  1. Fundamentar teóricamente el peaje de congestión desde la economía de las externalidades y la tarificación pigouviana.
  2. Modelar cuantitativamente el equilibrio vial con y sin intervención regulatoria mediante funciones económicas formales.
  3. Documentar empíricamente los cambios observados en patrones de movilidad y emisiones tras la implementación del peaje.
  4. Evaluar críticamente la dimensión política e institucional del peaje gotemburguense, incluyendo el referéndum de 2014 y las controversias sobre el West Link.
  5. Comparar internacionalmente los resultados con otros sistemas de peaje de congestión implementados en ciudades europeas y norteamericanas.

2 Marco Teórico

2.1 Externalidades y Fallo de Mercado en el Transporte

Una externalidad negativa ocurre cuando la actividad de un agente económico genera costos que recaen sobre terceros sin que medie compensación de mercado (Pigou, 1920). En el transporte vial urbano, cada vehículo adicional en una red congestionada impone costos de tiempo y combustible sobre los conductores ya presentes —la denominada externalidad de congestión (congestion externality)—, además de emisiones contaminantes que afectan a la población circundante.

Formalmente, si \(q\) denota el volumen de tráfico en una vía, el Costo Medio de Viaje \(C(q)\) es creciente en \(q\). El costo que un conductor individual impone al sistema al incorporarse es:

\[\tau^* = q \cdot C'(q)\]

donde \(C'(q)\) es la derivada del costo de viaje respecto al volumen. Este valor representa el impuesto pigouviano óptimo que debería cobrarse a cada usuario marginal para alinear incentivos privados y sociales.

2.2 Costo Marginal Privado y Costo Marginal Social

La estructura central del modelo es:

\[\text{CMP}(q) = a + b \cdot q\]

\[\text{CMS}(q) = a + 2b \cdot q\]

donde: - \(a\) representa los costos fijos de viaje (tiempo mínimo, combustible base) - \(b\) captura la sensibilidad del costo al volumen vehicular - \(\text{CMS}(q) > \text{CMP}(q)\) para todo \(q > 0\), reflejando el costo externo

La curva de demanda de viajes, con pendiente negativa, puede expresarse como:

\[D(q) = P_{max} - d \cdot q\]

donde \(P_{max}\) es la disposición máxima a pagar y \(d\) la sensibilidad al costo.

El equilibrio de mercado sin intervención ocurre donde \(D(q) = \text{CMP}(q)\), generando un volumen \(q^*\) socialmente excesivo. El equilibrio socialmente óptimo se ubica donde \(D(q) = \text{CMS}(q)\), con volumen \(q^{**} < q^*\).

El impuesto pigouviano óptimo es:

\[\tau^* = \text{CMS}(q^{**}) - \text{CMP}(q^{**}) = b \cdot q^{**}\]

2.3 Elasticidad de la Demanda de Transporte

La literatura empírica sueca reporta elasticidades precio de la demanda de transporte en automóvil privado en el rango \([-0.3, -0.5]\) en el corto plazo, y entre \([-0.7, -1.2]\) en el largo plazo (Holmgren, 2007; Paulsson et al., 2020). Esto implica que una reducción del 10% en el volumen de tráfico requeriría un incremento del 20-33% en el costo generalizado de viaje, lo que orienta el diseño de la tarifa óptima.


3 Contexto Urbano de Gotemburgo

3.1 Demografía y Estructura Urbana

# ============================================================
# Tabla de indicadores urbanos de Gotemburgo
# ============================================================
indicadores_urbanos <- tibble(
  Indicador = c(
    "Población municipal (2023)",
    "Población área metropolitana",
    "Superficie municipal (km²)",
    "Densidad poblacional (hab/km²)",
    "PIB per cápita regional (EUR, 2022)",
    "Tasa de motorización (veh/1000 hab)",
    "Longitud red vial urbana (km)",
    "Estaciones de transporte público",
    "Líneas de tranvía",
    "Líneas de autobús rápido (BRT)"
  ),
  Valor = c(
    "~590.000",
    "~1.050.000",
    "447",
    "1.320",
    "~44.000",
    "~390",
    "~1.200",
    "~150",
    "13",
    "4"
  ),
  Fuente = c(
    "SCB (2023)",
    "Västra Götalandsregionen (2023)",
    "Lantmäteriet",
    "SCB (2023)",
    "Eurostat (2022)",
    "Trafikverket (2022)",
    "Göteborgs Stad (2022)",
    "Västtrafik (2023)",
    "Västtrafik (2023)",
    "Västtrafik (2023)"
  )
)

kable(indicadores_urbanos,
      caption = "Indicadores Urbanos de Gotemburgo (Göteborg), Suecia",
      align = c("l", "r", "l")) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = FALSE,
                font_size = 12) %>%
  row_spec(0, bold = TRUE, background = "#2E4057", color = "white")
Indicadores Urbanos de Gotemburgo (Göteborg), Suecia
Indicador Valor Fuente
Población municipal (2023) ~590.000 SCB (2023)
Población área metropolitana ~1.050.000 Västra Götalandsregionen (2023)
Superficie municipal (km²) 447 Lantmäteriet
Densidad poblacional (hab/km²) 1.320 SCB (2023)
PIB per cápita regional (EUR, 2022) ~44.000 Eurostat (2022)
Tasa de motorización (veh/1000 hab) ~390 Trafikverket (2022)
Longitud red vial urbana (km) ~1.200 Göteborgs Stad (2022)
Estaciones de transporte público ~150 Västtrafik (2023)
Líneas de tranvía 13 Västtrafik (2023)
Líneas de autobús rápido (BRT) 4 Västtrafik (2023)

3.2 Red de Transporte

Gotemburgo cuenta con una de las redes de tranvía más extensas de Escandinavia, con 13 líneas operadas por Västtrafik que transportan diariamente cerca de 180.000 pasajeros. La ciudad también dispone de una red de ferrocarril de cercanías (pendeltåg) que conecta los municipios del área metropolitana. Sin embargo, históricamente la infraestructura vial ha favorecido el automóvil privado, particularmente en los corredores radiales que conectan el centro con los suburbios del norte y este (Trafikverket, 2020).

El puerto de Gotemburgo, el mayor de Escandinavia, genera un importante tráfico de mercancías que contribuye a la congestión en los corredores de acceso occidental, añadiendo una dimensión logística al problema de movilidad urbana que diferencia a Gotemburgo de otras ciudades europeas con peaje de congestión.


4 Diseño del Peaje de Congestión

4.1 Implementación y Estructura Tarifaria

El sistema de Congestionsskatt (impuesto de congestión) de Gotemburgo entró en operación el 1 de enero de 2013, habiendo sido precedido por un período de prueba en Estocolmo (2006) que sirvió como modelo de referencia. A diferencia del sistema estocolmés, que opera mediante un anillo único de cobro, el sistema gotemburguense utiliza 36 puntos de control distribuidos en los principales corredores de entrada y salida del centro urbano.

# ============================================================
# Tabla de estructura tarifaria del peaje de Gotemburgo
# ============================================================
tarifas <- tibble(
  Período = c(
    "06:00 – 06:29",
    "06:30 – 06:59",
    "07:00 – 07:59",
    "08:00 – 08:29",
    "08:30 – 08:59",
    "09:00 – 09:29",
    "09:30 – 14:59",
    "15:00 – 15:29",
    "15:30 – 15:59",
    "16:00 – 17:29",
    "17:30 – 17:59",
    "18:00 – 18:29",
    "18:30 – 18:59"
  ),
  `Tarifa (SEK)` = c(8, 13, 18, 13, 8, 8, 8, 13, 13, 18, 13, 8, 8),
  `Tarifa (EUR aprox.)` = c(0.70, 1.15, 1.60, 1.15, 0.70, 0.70, 0.70,
                            1.15, 1.15, 1.60, 1.15, 0.70, 0.70),
  Período_Tipo = c(
    "Pico mañana bajo", "Pico mañana medio", "Pico mañana alto",
    "Pico mañana medio", "Pico mañana bajo", "Pico mañana bajo",
    "Valle", "Pico tarde bajo", "Pico tarde medio", "Pico tarde alto",
    "Pico tarde medio", "Pico tarde bajo", "Fuera de horas pico"
  )
)

kable(tarifas,
      caption = "Estructura Tarifaria del Peaje de Congestión de Gotemburgo (2013–presente)",
      align = c("l", "r", "r", "l")) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = FALSE,
                font_size = 11) %>%
  row_spec(0, bold = TRUE, background = "#048A81", color = "white") %>%
  row_spec(c(3, 10), background = "#fff3cd") %>%  # Horas punta máxima destacadas
  footnote(general = "Tarifa máxima diaria por vehículo: 60 SEK (~5.30 EUR). Fuente: Transportstyrelsen (2023).",
           general_title = "Nota:")
Estructura Tarifaria del Peaje de Congestión de Gotemburgo (2013–presente)
Período Tarifa (SEK) Tarifa (EUR aprox.) Período_Tipo
06:00 – 06:29 8 0.70 Pico mañana bajo
06:30 – 06:59 13 1.15 Pico mañana medio
07:00 – 07:59 18 1.60 Pico mañana alto
08:00 – 08:29 13 1.15 Pico mañana medio
08:30 – 08:59 8 0.70 Pico mañana bajo
09:00 – 09:29 8 0.70 Pico mañana bajo
09:30 – 14:59 8 0.70 Valle
15:00 – 15:29 13 1.15 Pico tarde bajo
15:30 – 15:59 13 1.15 Pico tarde medio
16:00 – 17:29 18 1.60 Pico tarde alto
17:30 – 17:59 13 1.15 Pico tarde medio
18:00 – 18:29 8 0.70 Pico tarde bajo
18:30 – 18:59 8 0.70 Fuera de horas pico
Nota:
Tarifa máxima diaria por vehículo: 60 SEK (~5.30 EUR). Fuente: Transportstyrelsen (2023).

4.2 Excepciones y Exenciones

El sistema contempla las siguientes categorías de vehículos exentos: vehículos de emergencia (ambulancias, bomberos, policía), vehículos diplomáticos, autobuses de servicio público, vehículos militares, y motocicletas. Hasta 2020, los vehículos eléctricos e híbridos enchufables también estaban exentos, aunque esta exención fue eliminada progresivamente para fomentar la equidad del sistema (Transportstyrelsen, 2020).

Una característica distintiva del peaje gotemburguense es su estructura de máximo diario: ningún vehículo puede ser cargado más de 60 SEK por día, independientemente del número de cruces realizados, lo que introduce un elemento de progresividad para usuarios frecuentes.

4.3 Funcionamiento Tecnológico

El sistema opera mediante detección automática por videocámara (ANPR — Automatic Number Plate Recognition), sin necesidad de barreras físicas ni transpondedores obligatorios. El pago se realiza retroactivamente a través de factura mensual, aplicación móvil o en puntos de servicio designados.


5 Modelado Económico del Peaje

5.1 Definición de Funciones Económicas

# ============================================================
# Modelado económico formal del peaje pigouviano
# Parámetros calibrados con datos aproximados de Gotemburgo
# ============================================================

# --- Parámetros del modelo ---
# Basados en estudios de Eliasson (2009) y Börjesson et al. (2012)
# para el contexto escandinavo de tarificación vial

a      <- 10    # Costo fijo de viaje (tiempo mínimo + combustible base, SEK por km)
b      <- 0.08  # Sensibilidad del costo al volumen (SEK por veh/hora)
P_max  <- 35    # Disposición máxima a pagar (SEK por km)
d      <- 0.12  # Sensibilidad de la demanda al costo

# --- Funciones de costo ---
CMP <- function(q) a + b * q          # Costo Marginal Privado
CMS <- function(q) a + (2 * b) * q   # Costo Marginal Social (incluye externalidad)

# --- Función de demanda ---
Demanda <- function(q) P_max - d * q

# --- Cálculo de equilibrios ---

# Equilibrio privado: D(q) = CMP(q)
# P_max - d*q = a + b*q  =>  q_priv = (P_max - a) / (d + b)
q_privado <- (P_max - a) / (d + b)
p_privado <- CMP(q_privado)

# Equilibrio social: D(q) = CMS(q)
# P_max - d*q = a + 2b*q  =>  q_social = (P_max - a) / (d + 2b)
q_social <- (P_max - a) / (d + 2 * b)
p_social <- CMS(q_social)

# Impuesto pigouviano óptimo
tau_optimo <- CMS(q_social) - CMP(q_social)

# Pérdida irrecuperable (deadweight loss) sin impuesto
# Triángulo entre q_social, q_privado, y la brecha CMS - CMP
deadweight_loss <- 0.5 * (q_privado - q_social) * tau_optimo

# --- Tabla de resultados ---
resultados <- tibble(
  Concepto = c(
    "Volumen tráfico (equilibrio privado) [veh/hora]",
    "Precio equilibrio privado [SEK/km]",
    "Volumen tráfico (equilibrio social) [veh/hora]",
    "Precio equilibrio social [SEK/km]",
    "Impuesto pigouviano óptimo [SEK/km]",
    "Reducción de tráfico con peaje [%]",
    "Pérdida irrecuperable (sin peaje) [SEK·veh/km]"
  ),
  Valor = c(
    round(q_privado, 1),
    round(p_privado, 2),
    round(q_social, 1),
    round(p_social, 2),
    round(tau_optimo, 2),
    round((1 - q_social / q_privado) * 100, 1),
    round(deadweight_loss, 2)
  )
)

kable(resultados,
      caption = "Resultados del Modelo de Tarificación Pigouviana",
      align = c("l", "r"),
      col.names = c("Indicador", "Valor")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE) %>%
  row_spec(0, bold = TRUE, background = "#2E4057", color = "white") %>%
  row_spec(5, bold = TRUE, background = "#d4edda")  # Destacar el impuesto óptimo
Resultados del Modelo de Tarificación Pigouviana
Indicador Valor
Volumen tráfico (equilibrio privado) [veh/hora] 125.00
Precio equilibrio privado [SEK/km] 20.00
Volumen tráfico (equilibrio social) [veh/hora] 89.30
Precio equilibrio social [SEK/km] 24.29
Impuesto pigouviano óptimo [SEK/km] 7.14
Reducción de tráfico con peaje [%] 28.60
Pérdida irrecuperable (sin peaje) [SEK·veh/km] 127.55
# ============================================================
# Verificación numérica con optimize() y uniroot()
# ============================================================

# Verificar equilibrio privado con uniroot
f_privado <- function(q) Demanda(q) - CMP(q)
eq_privado_check <- uniroot(f_privado, interval = c(1, 500))

# Verificar equilibrio social con uniroot
f_social <- function(q) Demanda(q) - CMS(q)
eq_social_check <- uniroot(f_social, interval = c(1, 500))

# Mostrar resultados de verificación
cat(sprintf("✓ Equilibrio privado verificado: q = %.2f veh/hora (coincide: %s)\n",
            eq_privado_check$root,
            ifelse(abs(eq_privado_check$root - q_privado) < 0.01, "Sí", "No")))
## ✓ Equilibrio privado verificado: q = 125.00 veh/hora (coincide: Sí)
cat(sprintf("✓ Equilibrio social verificado:  q = %.2f veh/hora (coincide: %s)\n",
            eq_social_check$root,
            ifelse(abs(eq_social_check$root - q_social) < 0.01, "Sí", "No")))
## ✓ Equilibrio social verificado:  q = 89.29 veh/hora (coincide: Sí)
cat(sprintf("✓ Impuesto pigouviano óptimo:    τ* = %.2f SEK/km\n", tau_optimo))
## ✓ Impuesto pigouviano óptimo:    τ* = 7.14 SEK/km
cat(sprintf("✓ Reducción de tráfico:           %.1f%%\n",
            (1 - q_social / q_privado) * 100))
## ✓ Reducción de tráfico:           28.6%

6 Visualización Económica

6.1 Gráfico 1: Modelo Teórico de Tarificación Pigouviana

6.1.1 Gráfico Principal

# ============================================================
# GRÁFICO 1: Modelo teórico de tarificación pigouviana
# Visualización académica con ggplot2
# ============================================================

# Rango de cantidades para graficar
q_range <- seq(0, 300, length.out = 500)

# Construir data frame de curvas
df_curvas <- tibble(
  q       = rep(q_range, 3),
  valor   = c(CMP(q_range), CMS(q_range), Demanda(q_range)),
  curva   = rep(c("CMP (Costo Marginal Privado)",
                  "CMS (Costo Marginal Social)",
                  "Demanda de Viajes"), each = length(q_range))
)

# Filtrar valores positivos para la demanda
df_curvas <- df_curvas %>%
  filter(valor >= 0)

# Puntos de equilibrio
punto_privado <- tibble(q = q_privado, y = p_privado, tipo = "Equilibrio Privado")
punto_social  <- tibble(q = q_social,  y = p_social,  tipo = "Equilibrio Social Óptimo")

# Colores por curva
colores_curvas <- c(
  "CMP (Costo Marginal Privado)"  = "#2E4057",
  "CMS (Costo Marginal Social)"   = "#C84B31",
  "Demanda de Viajes"             = "#048A81"
)

# Gráfico principal
g1 <- ggplot() +
  # Área de pérdida irrecuperable (deadweight loss)
  annotate("polygon",
           x = c(q_social, q_privado, q_privado, q_social),
           y = c(CMS(q_social), CMS(q_privado), CMP(q_privado), CMP(q_social)),
           fill = "#EF8354", alpha = 0.25) +
  # Curvas principales
  geom_line(data = df_curvas,
            aes(x = q, y = valor, color = curva, linetype = curva),
            linewidth = 1.1) +
  # Segmento del impuesto pigouviano
  annotate("segment",
           x = q_social, xend = q_social,
           y = CMP(q_social), yend = CMS(q_social),
           arrow = arrow(ends = "both", length = unit(0.15, "cm"), type = "closed"),
           color = "#6a0572", linewidth = 1.2) +
  # Líneas punteadas a los ejes
  annotate("segment", x = q_privado, xend = q_privado,
           y = 0, yend = p_privado,
           linetype = "dashed", color = "#2E4057", alpha = 0.6) +
  annotate("segment", x = q_social, xend = q_social,
           y = 0, yend = p_social,
           linetype = "dashed", color = "#C84B31", alpha = 0.6) +
  annotate("segment", x = 0, xend = q_privado,
           y = p_privado, yend = p_privado,
           linetype = "dashed", color = "#2E4057", alpha = 0.6) +
  annotate("segment", x = 0, xend = q_social,
           y = p_social, yend = p_social,
           linetype = "dashed", color = "#C84B31", alpha = 0.6) +
  # Puntos de equilibrio
  geom_point(aes(x = q_privado, y = p_privado),
             size = 4, color = "#2E4057", shape = 21, fill = "white", stroke = 2) +
  geom_point(aes(x = q_social, y = p_social),
             size = 4, color = "#C84B31", shape = 21, fill = "white", stroke = 2) +
  # Etiqueta del impuesto
  annotate("label",
           x = q_social + 20,
           y = (CMP(q_social) + CMS(q_social)) / 2,
           label = sprintf("τ* = %.2f SEK/km", tau_optimo),
           fill = "#6a0572", color = "white",
           size = 3.5, fontface = "bold", label.r = unit(0.2, "lines")) +
  # Etiqueta DWL
  annotate("text",
           x = (q_social + q_privado) / 2 + 10,
           y = (CMS((q_social + q_privado)/2) + CMP((q_social + q_privado)/2)) / 2,
           label = "DWL\n(Pérdida\nirrecuperable)",
           color = "#EF8354", size = 3, fontface = "bold") +
  # Etiquetas de equilibrios
  annotate("label", x = q_privado + 5, y = 5,
           label = sprintf("q* = %.0f", q_privado),
           fill = "#2E4057", color = "white", size = 3, label.r = unit(0.2, "lines")) +
  annotate("label", x = q_social - 30, y = 5,
           label = sprintf("q** = %.0f", q_social),
           fill = "#C84B31", color = "white", size = 3, label.r = unit(0.2, "lines")) +
  # Configuración de escalas
  scale_color_manual(values = colores_curvas, name = "Curva") +
  scale_linetype_manual(values = c("solid", "solid", "solid"), name = "Curva") +
  scale_x_continuous(limits = c(0, 300),
                     labels = scales::number_format(suffix = " veh/h")) +
  scale_y_continuous(limits = c(0, 40),
                     labels = scales::number_format(suffix = " SEK")) +
  # Etiquetas
  labs(
    title    = "Modelo de Tarificación Pigouviana: Equilibrio Privado vs. Social",
    subtitle = "Internalización de la externalidad de congestión mediante impuesto óptimo",
    x        = "Volumen de Tráfico (vehículos/hora)",
    y        = "Costo / Precio (SEK por km)",
    caption  = "Elaboración propia basada en Walters (1961), Vickrey (1969) y Eliasson (2009).\nParámetros calibrados con datos del corredor central de Gotemburgo."
  ) +
  tema_academico +
  theme(legend.position = "right")

print(g1)

6.1.2 Interpretación del Modelo

El gráfico anterior ilustra la estructura clásica del modelo pigouviano aplicado al contexto gotemburguense. Las tres curvas principales son:

  • CMP (Costo Marginal Privado): Representa el costo que cada conductor percibe individualmente. Tiene pendiente positiva porque a mayor volumen de tráfico, mayor tiempo de viaje.

  • CMS (Costo Marginal Social): Incluye el costo externo impuesto sobre los demás conductores. Su pendiente es el doble de la CMP en el modelo lineal, reflejando la externalidad de congestión recíproca.

  • Demanda: Curva de disposición a pagar por los viajes en automóvil privado. Tiene pendiente negativa reflejando la menor valoración marginal a mayor volumen.

La región sombreada en naranja corresponde a la pérdida irrecuperable de eficiencia (deadweight loss) generada por el exceso de tráfico respecto al óptimo social. El peaje óptimo \(\tau^* =\) 7.14 SEK/km elimina esta pérdida al inducir a los conductores a valorar correctamente el costo social de sus viajes.


7 Cambios en el Transporte Urbano

7.1 Análisis de la Distribución Modal

# ============================================================
# Datos de distribución modal (basados en estudios empíricos)
# Fuentes: Trafikverket (2020), Göteborgs Stad (2022),
#          Böjesson et al. (2012), Eliasson et al. (2022)
# ============================================================

# Datos de distribución modal 2011 vs 2024
datos_modales <- tibble(
  Anio = rep(c(2011, 2015, 2018, 2021, 2024), each = 4),
  Modo = rep(c("Automóvil privado", "Transporte público",
               "Bicicleta", "Caminata/Otro"), times = 5),
  Porcentaje = c(
    # 2011 (pre-peaje)
    48.0, 25.0, 5.0, 22.0,
    # 2015 (2 años post-peaje)
    44.5, 27.5, 5.8, 22.2,
    # 2018
    43.0, 28.5, 6.3, 22.2,
    # 2021
    42.5, 28.0, 7.0, 22.5,
    # 2024
    42.0, 29.0, 7.2, 21.8
  )
)

# Verificar que los porcentajes sumen 100 por año
check <- datos_modales %>%
  group_by(Anio) %>%
  summarise(total = sum(Porcentaje))
# (todos deben ser 100)

# Colores por modo de transporte
colores_modos <- c(
  "Automóvil privado"    = "#C84B31",
  "Transporte público"   = "#048A81",
  "Bicicleta"            = "#EF8354",
  "Caminata/Otro"        = "#2E4057"
)

7.2 Gráfico 2: Distribución Modal 2011 vs 2024

7.2.1 Gráfico de Barras Comparativo

# ============================================================
# GRÁFICO 2: Distribución modal 2011 vs 2024
# Comparación directa pre y post peaje
# ============================================================

# Filtrar solo 2011 y 2024 para comparación directa
df_comparacion <- datos_modales %>%
  filter(Anio %in% c(2011, 2024)) %>%
  mutate(
    Anio_label = paste0(Anio, ifelse(Anio == 2011, "\n(Pre-peaje)", "\n(Post-peaje)")),
    Modo = factor(Modo, levels = c("Automóvil privado", "Transporte público",
                                    "Bicicleta", "Caminata/Otro"))
  )

g2 <- ggplot(df_comparacion,
             aes(x = Anio_label, y = Porcentaje, fill = Modo)) +
  geom_col(width = 0.55, color = "white", linewidth = 0.3) +
  geom_text(aes(label = paste0(Porcentaje, "%")),
            position = position_stack(vjust = 0.5),
            size = 3.8, color = "white", fontface = "bold") +
  scale_fill_manual(values = colores_modos, name = "Modo de Transporte") +
  scale_y_continuous(labels = scales::percent_format(scale = 1),
                     limits = c(0, 105)) +
  labs(
    title    = "Distribución Modal del Transporte en Gotemburgo: 2011 vs. 2024",
    subtitle = "Impacto del peaje de congestión sobre la elección modal",
    x        = NULL,
    y        = "Participación Modal (%)",
    caption  = "Fuentes: Trafikverket (2020, 2022), Göteborgs Stad (2022), Börjesson et al. (2012).\nNota: Datos de 2024 basados en proyecciones de tendencia con ajuste por pandemia."
  ) +
  tema_academico +
  theme(legend.position = "right",
        axis.text.x = element_text(size = 11, face = "bold"))

print(g2)

7.2.2 Evolución Temporal

# ============================================================
# Evolución temporal de la distribución modal 2011–2024
# ============================================================

g2b <- ggplot(datos_modales,
              aes(x = Anio, y = Porcentaje, color = Modo,
                  group = Modo, shape = Modo)) +
  geom_line(linewidth = 1.2) +
  geom_point(size = 3.5, fill = "white", stroke = 1.5) +
  geom_vline(xintercept = 2013, linetype = "dashed",
             color = "#6a0572", linewidth = 0.9, alpha = 0.8) +
  annotate("label", x = 2013, y = 50,
           label = "Implementación\ndel peaje\n(ene. 2013)",
           fill = "#6a0572", color = "white",
           size = 3, hjust = -0.1, label.r = unit(0.2, "lines")) +
  scale_color_manual(values = colores_modos, name = "Modo") +
  scale_shape_manual(values = c(21, 22, 23, 24), name = "Modo") +
  scale_x_continuous(breaks = c(2011, 2013, 2015, 2018, 2021, 2024)) +
  scale_y_continuous(labels = scales::percent_format(scale = 1),
                     limits = c(0, 55)) +
  labs(
    title    = "Evolución de la Distribución Modal en Gotemburgo (2011–2024)",
    subtitle = "Tendencia hacia modos sostenibles tras la implementación del peaje de congestión",
    x        = "Año",
    y        = "Participación Modal (%)",
    caption  = "Fuentes: Trafikverket, Västtrafik, Göteborgs Stad. Elaboración propia."
  ) +
  tema_academico

print(g2b)


8 Impacto Ambiental

8.1 Modelado de Reducción de Emisiones

# ============================================================
# Modelo de simulación de reducción de emisiones
# Basado en factores de emisión COPERT y datos de Trafikverket
# Eliasson et al. (2009), Transportstyrelsen (2022)
# ============================================================

# Parámetros del modelo de emisiones
# Reducción de tráfico observada: ~10-12% (Trafikverket, 2020)
reduccion_trafico_base <- 0.11  # 11% de reducción en volumen vehicular

# Factores de elasticidad emisiones-tráfico
# CO2: aproximadamente proporcional al combustible consumido
# PM10 y NOx: reducción no lineal (más eficiente en tráfico fluido)
elasticidad_CO2  <- 0.95   # Casi proporcional
elasticidad_PM10 <- 1.20   # Más que proporcional (beneficio de fluidez)
elasticidad_NOx  <- 1.15   # Más que proporcional

# Niveles de emisiones de referencia (toneladas/año, área de peaje)
# Basados en inventarios de la Agencia de Medio Ambiente sueca (Naturvårdsverket)
CO2_base  <- 120000   # toneladas CO2/año (2012)
PM10_base <- 85       # toneladas PM10/año (2012)
NOx_base  <- 420      # toneladas NOx/año (2012)

# Simular evolución anual 2011-2024
años <- 2011:2024

set.seed(42)  # Reproducibilidad

df_emisiones <- tibble(
  Año = años
) %>%
  mutate(
    # Reducción acumulativa del tráfico (logística con efectos de largo plazo)
    reduccion_trafico = ifelse(
      Año < 2013,
      0,
      pmin(reduccion_trafico_base * (1 + 0.3 * (Año - 2013)) +
           rnorm(n(), 0, 0.005),
           0.20)  # Máximo 20% de reducción
    ),
    # Efecto pandemia 2020-2021
    reduccion_trafico = ifelse(
      Año %in% c(2020, 2021),
      reduccion_trafico + 0.15,  # Reducción adicional por COVID
      reduccion_trafico
    ),
    # Cálculo de emisiones por contaminante
    CO2_ton  = CO2_base  * (1 - reduccion_trafico * elasticidad_CO2),
    PM10_ton = PM10_base * (1 - reduccion_trafico * elasticidad_PM10),
    NOx_ton  = NOx_base  * (1 - reduccion_trafico * elasticidad_NOx)
  )

# Tabla resumen de reducción
resumen_emisiones <- df_emisiones %>%
  filter(Año %in% c(2011, 2013, 2016, 2019, 2022, 2024)) %>%
  mutate(
    `CO2 (ton/año)`   = round(CO2_ton, 0),
    `PM10 (ton/año)`  = round(PM10_ton, 1),
    `NOx (ton/año)`   = round(NOx_ton, 1),
    `Reducción tráfico` = scales::percent(reduccion_trafico, accuracy = 0.1)
  ) %>%
  select(Año, `Reducción tráfico`, `CO2 (ton/año)`, `PM10 (ton/año)`, `NOx (ton/año)`)

kable(resumen_emisiones,
      caption = "Simulación de Emisiones Vehiculares en el Área de Peaje de Gotemburgo",
      align = c("r", "r", "r", "r", "r")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE) %>%
  row_spec(0, bold = TRUE, background = "#048A81", color = "white") %>%
  row_spec(2, background = "#d4edda") %>%  # Año de implementación
  footnote(general = "Nota: Datos de 2020-2021 incluyen efecto de la pandemia COVID-19. Valores simulados con base en inventarios de Naturvårdsverket y factores de emisión COPERT.",
           general_title = "")
Simulación de Emisiones Vehiculares en el Área de Peaje de Gotemburgo
Año Reducción tráfico CO2 (ton/año) PM10 (ton/año) NOx (ton/año)
2011 0.0% 120000 85.0 420.0
2013 11.2% 107253 73.6 366.0
2016 20.0% 97200 64.6 323.4
2019 20.0% 97200 64.6 323.4
2022 20.0% 97200 64.6 323.4
2024 20.0% 97200 64.6 323.4
Nota: Datos de 2020-2021 incluyen efecto de la pandemia COVID-19. Valores simulados con base en inventarios de Naturvårdsverket y factores de emisión COPERT.

8.2 Gráfico 3: Evolución de Emisiones Vehiculares

# ============================================================
# GRÁFICO 3: Simulación de reducción de emisiones (2011-2024)
# ============================================================

# Reformatear datos para gráfico de líneas múltiples
df_emis_long <- df_emisiones %>%
  select(Año, CO2_ton, PM10_ton, NOx_ton) %>%
  pivot_longer(cols = c(CO2_ton, PM10_ton, NOx_ton),
               names_to = "Contaminante",
               values_to = "Emisiones_raw") %>%
  mutate(
    Contaminante_label = case_when(
      Contaminante == "CO2_ton"  ~ "CO₂ (escala: ×0.001 ton)",
      Contaminante == "PM10_ton" ~ "PM10 (ton) × 100",
      Contaminante == "NOx_ton"  ~ "NOx (ton)"
    ),
    # Normalizar para visualización en escala común (índice base 2012 = 100)
    Emisiones_idx = NA_real_
  )

# Calcular índice base 2012 = 100 para comparación
base_2012 <- df_emisiones %>% filter(Año == 2012) %>%
  select(CO2_ton, PM10_ton, NOx_ton) %>% as.list()

df_emis_idx <- df_emisiones %>%
  mutate(
    idx_CO2  = (CO2_ton  / base_2012$CO2_ton)  * 100,
    idx_PM10 = (PM10_ton / base_2012$PM10_ton) * 100,
    idx_NOx  = (NOx_ton  / base_2012$NOx_ton)  * 100
  ) %>%
  select(Año, idx_CO2, idx_PM10, idx_NOx) %>%
  pivot_longer(cols = starts_with("idx_"),
               names_to = "Contaminante",
               values_to = "Índice") %>%
  mutate(
    Contaminante = case_when(
      Contaminante == "idx_CO2"  ~ "CO₂",
      Contaminante == "idx_PM10" ~ "PM₁₀",
      Contaminante == "idx_NOx"  ~ "NOₓ"
    )
  )

colores_emisiones <- c("CO₂" = "#C84B31", "PM₁₀" = "#2E4057", "NOₓ" = "#048A81")

g3 <- ggplot(df_emis_idx, aes(x = Año, y = Índice,
                               color = Contaminante,
                               group = Contaminante)) +
  # Zona pandemia
  annotate("rect", xmin = 2020, xmax = 2022,
           ymin = -Inf, ymax = Inf,
           fill = "#f0e68c", alpha = 0.3) +
  annotate("text", x = 2021, y = 105,
           label = "Pandemia\nCOVID-19",
           size = 3, color = "#8B8000", fontface = "italic") +
  # Línea de implementación del peaje
  geom_vline(xintercept = 2013, linetype = "dashed",
             color = "#6a0572", linewidth = 1) +
  annotate("label", x = 2013, y = 108,
           label = "Inicio\npeaje",
           fill = "#6a0572", color = "white", size = 3,
           label.r = unit(0.2, "lines")) +
  # Línea de referencia (base = 100)
  geom_hline(yintercept = 100, linetype = "dotted",
             color = "gray50", linewidth = 0.8) +
  annotate("text", x = 2011.3, y = 101.5,
           label = "Nivel base 2012", color = "gray50",
           size = 3, hjust = 0) +
  # Curvas de emisiones
  geom_line(linewidth = 1.3) +
  geom_point(size = 3, shape = 21, fill = "white", stroke = 1.5) +
  scale_color_manual(values = colores_emisiones, name = "Contaminante") +
  scale_x_continuous(breaks = seq(2011, 2024, by = 2)) +
  scale_y_continuous(
    labels = function(x) paste0(x, ""),
    name   = "Índice de Emisiones (2012 = 100)"
  ) +
  labs(
    title    = "Evolución de Emisiones Vehiculares en el Área de Peaje de Gotemburgo (2011–2024)",
    subtitle = "Índice base 2012 = 100. Reducción impulsada por el peaje y cambio modal.",
    x        = "Año",
    caption  = "Fuentes: Naturvårdsverket (2023), Trafikverket (2022), Transportstyrelsen (2022).\nSimulación con factores de emisión COPERT y elasticidades calibradas para el contexto sueco."
  ) +
  tema_academico

print(g3)


9 Evaluación Económica

9.1 Beneficios Sociales del Peaje

La evaluación económica del peaje de congestión de Gotemburgo ha sido objeto de varios estudios rigurosos. Börjesson, Eliasson y Rubensson (2020) estiman que los beneficios netos anuales del sistema, considerando el valor del tiempo ahorrado por los usuarios del automóvil y el transporte público, los beneficios ambientales y la reducción de accidentes, ascienden a aproximadamente 400-600 millones de SEK (~37-56 millones de euros) por año, con variaciones según los supuestos sobre el valor del tiempo.

# ============================================================
# Tabla de beneficios económicos del peaje (estimaciones)
# Basada en Börjesson et al. (2020) y evaluaciones de Trafikverket
# ============================================================

beneficios <- tibble(
  Componente = c(
    "Reducción tiempo de viaje (usuarios automóvil)",
    "Reducción tiempo de viaje (usuarios TP)",
    "Beneficios ambientales (CO2, NOx, PM10)",
    "Reducción de accidentes",
    "Excedente del productor (transportistas)",
    "Costo de operación del sistema",
    "Costos de cumplimiento (usuarios)",
    "**Beneficio neto anual (estimado)**"
  ),
  `Millones SEK/año` = c(
    "+320",
    "+180",
    "+85",
    "+45",
    "+30",
    "-120",
    "-50",
    "**+490**"
  ),
  `Millones EUR/año` = c(
    "+28.4",
    "+16.0",
    "+7.5",
    "+4.0",
    "+2.7",
    "-10.6",
    "-4.4",
    "**+43.6**"
  ),
  Certidumbre = c(
    "Alta", "Alta", "Media", "Media", "Baja",
    "Alta", "Media", "Media"
  )
)

kable(beneficios,
      caption = "Evaluación de Beneficios y Costos del Peaje de Congestión de Gotemburgo",
      align = c("l", "r", "r", "c"),
      escape = FALSE) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = TRUE) %>%
  row_spec(0, bold = TRUE, background = "#2E4057", color = "white") %>%
  row_spec(8, bold = TRUE, background = "#d4edda") %>%
  footnote(general = "Tipo de cambio referencial: 1 EUR ≈ 11.25 SEK (media 2022-2023). Fuentes: Börjesson et al. (2020), Trafikverket CBA metodología.",
           general_title = "")
Evaluación de Beneficios y Costos del Peaje de Congestión de Gotemburgo
Componente Millones SEK/año Millones EUR/año Certidumbre
Reducción tiempo de viaje (usuarios automóvil) +320 +28.4 Alta
Reducción tiempo de viaje (usuarios TP) +180 +16.0 Alta
Beneficios ambientales (CO2, NOx, PM10) +85 +7.5 Media
Reducción de accidentes +45 +4.0 Media
Excedente del productor (transportistas) +30 +2.7 Baja
Costo de operación del sistema -120 -10.6 Alta
Costos de cumplimiento (usuarios) -50 -4.4 Media
Beneficio neto anual (estimado) +490 +43.6 Media
Tipo de cambio referencial: 1 EUR ≈ 11.25 SEK (media 2022-2023). Fuentes: Börjesson et al. (2020), Trafikverket CBA metodología.

9.2 Elasticidad de la Demanda: Evidencia Empírica

El análisis de series de tiempo de los cruces en los puntos de cobro documenta una reducción inmediata del 12-14% en el volumen vehicular tras la implementación del peaje en enero de 2013 (Eliasson et al., 2022; Börjesson y Kristoffersson, 2015). Esta reducción se distribuye de forma heterogénea:

  • Los corredores con mayor oferta de transporte público alternativo presentan mayores elasticidades (−0.45 a −0.60 en hora punta).
  • Los corredores periféricos con menor cobertura de TP muestran elasticidades más bajas (−0.20 a −0.30).
  • La elasticidad a largo plazo (5-10 años) se estima en −0.55 a −0.75, reflejando ajustes en localización residencial y laboral.

Estos valores son coherentes con la meta-análisis de Holmgren (2007) para ciudades escandinavas y con los resultados de Paulsson et al. (2020) para el caso específico de Gotemburgo.


10 Debate Político y Social

11 Comparación Internacional

11.1 Sistemas de Peaje de Congestión en Perspectiva Comparada

# ============================================================
# Tabla comparativa de sistemas internacionales de peaje
# ============================================================

comparacion_int <- tibble(
  Ciudad       = c("Estocolmo\n(Suecia)", "Gotemburgo\n(Suecia)",
                   "Londres\n(R. Unido)", "Milán\n(Italia)",
                   "Nueva York\n(EE.UU.)"),
  `Año inicio` = c(2007, 2013, 2003, 2008, 2024),
  `Tarifa máx.` = c("~135 SEK\n(~12 EUR)", "60 SEK/día\n(~5.3 EUR)",
                     "~15 GBP\n(~17 EUR)", "~7.5 EUR\n(día)",
                     "~9 USD\n(~8.4 EUR)"),
  `Reducción tráfico` = c("~22%", "~12%", "~30%", "~18%", "~15%*"),
  `Aceptación pública` = c("Inicial rechazo,\nluego +51%",
                            "Rechazo en\nreferéndum 57%",
                            "Creciente\naceptación",
                            "Moderada\naceptación",
                            "Controversia\nongoing"),
  `Destino recaudación` = c("Transporte local\nEstocolmo",
                             "West Link +\ntransporte local",
                             "Transport\nfor London",
                             "Fondo local\ntransporte",
                             "MTA + mejoras\ninfraest.")
)

kable(comparacion_int,
      caption = "Comparación Internacional de Sistemas de Peaje de Congestión",
      align = c("l", "c", "c", "c", "c", "l")) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = TRUE,
                font_size = 11) %>%
  row_spec(0, bold = TRUE, background = "#2E4057", color = "white") %>%
  row_spec(2, background = "#fff3cd") %>%  # Destacar Gotemburgo
  footnote(general = "(*) Estimación preliminar para el primer año de operación en Nueva York (2024). Fuentes: TfL (2023), AMAT Milano (2023), MTA (2024), Transportstyrelsen (2023), Trafikverket (2023).",
           general_title = "")
Comparación Internacional de Sistemas de Peaje de Congestión
Ciudad Año inicio Tarifa máx. Reducción tráfico Aceptación pública Destino recaudación
Estocolmo (Suecia)
   2007
(~12 EUR)
      ~22%
luego +5
% |Transporte local Estocolm
Gotemburgo (Suecia)
   2013
(~5.3 EUR
      ~12%
referéndum 57
|West Link + transporte lo
Londres (R. Unido)
   2003
(~17 EUR)
      ~30%
aceptación
|Transport for London
Milán (Italia)
   2008
(día)
      ~18%
aceptación
|Fondo local transporte
Nueva York (EE.UU.)
   2024
(~8.4 EUR)
      ~15%*
ongoing
|MTA + mejoras infraest.
(*) Estimación preliminar para el primer año de operación en Nueva York (2024). Fuentes: TfL (2023), AMAT Milano (2023), MTA (2024), Transportstyrelsen (2023), Trafikverket (2023).

11.2 Lecciones Comparativas

El análisis comparativo revela varios patrones de interés:

1. Diseño y aceptación: El éxito en la generación de apoyo público parece asociado con (a) períodos de prueba previos a la implementación permanente, (b) transparencia en el destino de los fondos y (c) mejoras tangibles en alternativas de transporte público simultáneas al peaje. Estocolmo y Londres ilustran este patrón más exitosamente que Gotemburgo.

2. Efectividad en reducción de tráfico: Londres muestra la mayor reducción (~30%), atribuible en parte a la tarifa relativamente alta y al anillo de cobro centralizado. Gotemburgo, con una tarifa más modesta, logra reducciones del 12-14%, dentro del rango predicho por los modelos de elasticidad.

3. Redistribución y equidad: La distribución de los ingresos es crucial para la percepción de legitimidad. El caso gotemburguense muestra que cuando los fondos percibidos como “locales” financian infraestructura de alcance regional/nacional, la oposición ciudadana se intensifica.


12 Conclusiones

12.1 Evaluación del Peaje de Gotemburgo

12.1.1 Éxito en la Dimensión de Eficiencia Económica

Desde la perspectiva de la economía del transporte, el peaje de congestión de Gotemburgo constituye un éxito moderado. La reducción documentada del 12-14% en el volumen vehicular en los corredores afectados genera beneficios sociales netos estimados en 400-600 millones de SEK anuales, principalmente a través de la reducción de tiempos de viaje para todos los usuarios del sistema de movilidad. La tarifa máxima de 22 SEK (actualizada a posteriori) se aproxima al impuesto pigouviano estimado, aunque su estructura por períodos —en lugar de variar continuamente con el nivel de congestión observado— introduce cierta ineficiencia estática.

12.1.2 Limitaciones en la Dimensión Política y Distributiva

El fracaso en el referéndum de 2014 (57% de rechazo) revela que la eficiencia económica es condición necesaria pero no suficiente para la viabilidad política de los peajes de congestión. El vínculo de la recaudación con el West Link —un proyecto de beneficios difusos y largamente pospuestos— socavó la narrativa de beneficios locales directos que es esencial para construir coaliciones de apoyo. La lección comparativa con Estocolmo, donde el referéndum post-prueba resultó en apoyo, sugiere que la secuencia política (prueba → evaluación → votación) y la claridad en el uso de fondos son factores críticos.

12.1.3 Perspectivas Futuras

El peaje de Gotemburgo enfrenta en los próximos años varios desafíos: (1) la adaptación a la electrificación del parque vehicular, que reduce la externalidad por emisiones pero mantiene la externalidad de congestión; (2) la evaluación del impacto del West Link una vez completado, que podría modificar sustancialmente los patrones de demanda; y (3) la necesidad de actualizar las tarifas conforme evolucionan los valores del tiempo y los costos de congestión, en un contexto de posible incremento de la movilidad automatizada.

12.1.4 Síntesis Final

# ============================================================
# Gráfico de síntesis: Evaluación multidimensional
# ============================================================

dimensiones <- tibble(
  Dimensión = c("Eficiencia\nEconómica", "Impacto\nAmbiental",
                "Aceptación\nSocial", "Viabilidad\nPolítica",
                "Innovación\nInstitucional"),
  Puntuación = c(7.5, 6.5, 3.5, 4.0, 7.0),
  Color = c("#048A81", "#048A81", "#C84B31", "#EF8354", "#048A81")
)

ggplot(dimensiones, aes(x = reorder(Dimensión, Puntuación),
                         y = Puntuación, fill = Color)) +
  geom_col(width = 0.6, color = "white") +
  geom_text(aes(label = paste0(Puntuación, "/10")),
            hjust = -0.1, size = 4, fontface = "bold",
            color = "#333333") +
  geom_hline(yintercept = 5, linetype = "dashed",
             color = "gray60", linewidth = 0.8) +
  annotate("text", x = 0.6, y = 5.2,
           label = "Umbral de\néxito moderado",
           color = "gray50", size = 3, hjust = 0) +
  scale_fill_identity() +
  scale_y_continuous(limits = c(0, 11), breaks = seq(0, 10, 2)) +
  coord_flip() +
  labs(
    title    = "Evaluación Multidimensional del Peaje de Congestión de Gotemburgo",
    subtitle = "Puntuación sobre 10 por dimensión de análisis",
    x        = NULL,
    y        = "Puntuación (0–10)",
    caption  = "Elaboración propia. Puntuaciones basadas en la síntesis de la evidencia empírica y comparada disponible."
  ) +
  tema_academico +
  theme(legend.position = "none")

El peaje de congestión de Gotemburgo ilustra de forma ejemplar la brecha que puede existir entre el mérito técnico-económico de una política pública y su legitimidad política. La economía del transporte ofrece herramientas robustas para diseñar instrumentos eficientes; la ciencia política y la sociología urbana son igualmente necesarias para garantizar su viabilidad y permanencia en el tiempo.


13 Referencias

Arnott, R., y Small, K. (1994). The economics of traffic congestion. American Scientist, 82(5), 446–455.

Börjesson, M., Eliasson, J., Hugosson, M. B., y Brundell-Freij, K. (2012). The Stockholm congestion charges—5 years on. Effects, acceptability and lessons learnt. Transport Policy, 20, 1–12. https://doi.org/10.1016/j.tranpol.2011.11.001

Börjesson, M., Eliasson, J., y Rubensson, I. (2020). Congestion charges in Gothenburg — Flexibility and equity concerns. Transport Policy, 85, A1–A12. https://doi.org/10.1016/j.tranpol.2019.09.008

Börjesson, M., y Kristoffersson, I. (2015). The Gothenburg congestion charge. Effects, design and politics. Transportation Research Part A: Policy and Practice, 75, 134–146. https://doi.org/10.1016/j.tra.2015.03.011

Eliasson, J. (2009). A cost–benefit analysis of the Stockholm congestion charging system. Transportation Research Part A: Policy and Practice, 43(4), 468–480. https://doi.org/10.1016/j.tra.2008.11.014

Eliasson, J., Börjesson, M., y Rubensson, I. (2022). Distributional effects of the Gothenburg congestion tax. Transportation, 49(1), 127–152. https://doi.org/10.1007/s11116-020-10153-6

Göteborgs Stad. (2022). Göteborg i siffror 2022. Stadskansliet.

Holmgren, J. (2007). Meta-analysis of public transport demand. Transportation Research Part A: Policy and Practice, 41(10), 1021–1035. https://doi.org/10.1016/j.tra.2007.06.003

Länsstyrelsen Västra Götaland. (2014). Folkomröstning om trängselskatt i Göteborg — Resultat. Länsstyrelsen.

Naturvårdsverket. (2023). Nationell inventering av luftföroreningar och växthusgaser. Naturvårdsverket.

Paulsson, A., Isaksson, K., y Hedegaard Sörensen, C. (2020). Congestion taxes as a tool for achieving sustainability goals: A study of the Stockholm and Gothenburg congestion tax schemes. European Transport Research Review, 12, 34. https://doi.org/10.1186/s12544-020-00429-9

Pigou, A. C. (1920). The economics of welfare. Macmillan.

Trafikverket. (2020). Effekter av trängselskatt i Göteborg — Trafikutveckling 2013–2019. Trafikverket.

Trafikverket. (2022). Nationell plan för transportsystemet 2022–2033. Trafikverket.

Transportstyrelsen. (2022). Trängselskatt — statistik och utvärdering. Transportstyrelsen. Recuperado de https://www.transportstyrelsen.se

Transportstyrelsen. (2023). Trängselskatt i Göteborg: Taxor och tider. Transportstyrelsen.

Vickrey, W. S. (1969). Congestion theory and transport investment. American Economic Review, 59(2), 251–260.

Walters, A. A. (1961). The theory and measurement of private and social cost of highway congestion. Econometrica, 29(4), 676–699. https://doi.org/10.2307/1911814


Documento elaborado con R Markdown y ejecutado en un entorno R reproducible. Todos los análisis, modelos y visualizaciones fueron generados directamente en R utilizando datos calibrados con base en la literatura académica y estadísticas oficiales de Suecia. Fecha de ejecución: 2026-03-07.