Los votos se mueven (y tenemos cómo medirlo). Transferencias entre marcas nacionales y sellos provinciales
En SantaFe, los votos no se mueven al azar: cambian según cómo fluctúa la oferta electoral, los liderazgos, el territorio y el contexto.
Para entender quién capitaliza a quién y cómo son las principales trancisiones, desde Doxa Data utilizamos la tecnica de inferencia ecológica sobre datos oficiales por circuito y reconstruimos los flujos de electores entre fuerzas nacionales y provinciales para las elecciones generales de octubre 2023 y las convencionales de abril 2025.
Compartimos un flujograma y un mapa de calor que resumen retenciones, fugas y capturas, más las conclusiones clave que aportan a la discusión pública y el análisis del comportamiento electoral.
Cómo interpretar
En el flujograma, cada “flujo” representa la proporción (%) de votantes que migran desde una fuerza 2023 hacia una fuerza 2025.
En el heatmap, cada celda muestra ese % y se resalta el destino dominante por fila.
Lo clave
JxC → Unidos ~60%: retención y atracción adicional.
Voto libertario: ~30% alta dispersión y baja fidelidad a la marca en el interior
Peronismo: fidelidad estructural (~la mitad se mantiene en el ecosistema PJ).
Efectos locales: marcas provinciales reordenan más que la nacional cuando se juegan cargos subnacionales. El territorio importa.
Flujograma interactivo
Mapa de calor interactivo: transferencias entre presidenciales de octubre 2023 y convencionales de abril 2025
Conclusiones principales
Alta fidelidad electoral en algunos espacios, pero también desplazamientos relevantes entre escalas nacional/provincial. La elección provincial reconfigura alianzas territoriales más que la nacional.
JxC → UNIDOS: estimamos que 60% del voto de JxC en 2023 se mantuvo con Unidos en 2025. Además, captó aportes desde otros orígenes. El desempeño del Gobernador Pullaro se complementa con capturas que van desde votantes de Milei (≈30% de la franja libertaria estimada) y desde sectores de votantes de Massa (~20%). Esto sugiere atracción transversal entre segmentos no estrictamente de centro‑derecha.
Massa y peronismo: el votante de Sergio Massa mostró alta permanencia dentro del universo peronista: casi la mitad optó por candidaturas asociadas a esa identidad política (Monteverde y Lewandowski), consolidando la vigencia de un patrón de fidelidad estructural.
La presencia de Amalia Granata incide en el rendimiento del PJ en Santa Fe: sus casi 175.000 votos se explican en buena medida por fugas desde el peronismo hacia su espacio, afectando la capacidad de retención del PJ en distritos específicos, especialmente en Reconquista y barrios de Santa Fe.
Voto libertario: la “marca” del león no retiene totalmente a sus votantes (30%): parte migra a Unidos, otra a Más para Santa Fe y un remanente a Activemos y Somos Vida. A pesar de los esfuerzos, la identidad libertaria aunque mayoritaria no disimula la existencia de un electorado libertario fragmentado que, en elecciones provinciales, mira más al Gobernador que al Presidente.
Schiaretti: heterogeneidad. El electorado schiarettista es el más heterogéneo y menos leal. El 44% de sus votantes optaron por “Más para Santa Fe” o “Activemos”, mostrando que el “voto peronista” contribuyó al rendimiento del ex gobernador cordobés, 26% por Pullaro y una quinta parte acompañó a Nicolás Mayoraz.
El territorio y la estructura importan: Aunque perdieron eficacia respecto de años atrás, en elecciones provinciales y locales los factores tradicionales de motivación y movilización continuan siendo determinantes. En las elecciones nacionales los incentivos se encuentran por afuera de las fronteras provinciales: agenda nacional, fase del ciclo político presidencial y marcas nacionales se imponen.
Metodología en breve
- Técnica: inferencia ecológica (MD bayesiano) sobre datos oficiales por circuito.
- Alcance: Presidente oct-2023 → Convencionales abr-2025 para la Provincia de Santa Fe.
- Resultado: estimaciones de flujos (retenciones, fugas, capturas) con incertidumbre.
- Validación: coherencia con márgenes agregados.
Lic. Roque Cantoia
Lic. Mario Ramos
@doxadata__
Source Code
---title: ""subtitle: ""author: ""page-layout: fullformat: html: theme: cosmo # (opcional) tu tema toc: true # (opcional) tabla de contenidos self-contained: true # ideal para RPubs code-fold: true # oculta por defecto y permite desplegar code-summary: "Mostrar código" code-tools: true # menú flotante: mostrar/ocultar todo, copiar, etc.execute: echo: false # mostrar código por defecto (plegado) warning: false message: false---{fig-align="left" width="150" height="75"}## Los votos se mueven (y tenemos cómo medirlo). *Transferencias entre marcas nacionales y sellos provinciales*En SantaFe, **los votos no se mueven al azar:** cambian según cómo fluctúa la oferta electoral, los liderazgos, el territorio y el contexto.Para entender **quién capitaliza a quién** y **cómo son las principales trancisiones**, desde Doxa Data utilizamos la tecnica de inferencia ecológica sobre datos oficiales por circuito y reconstruimos los flujos de electores entre fuerzas nacionales y provinciales para las ***elecciones generales de octubre 2023*** y ***las convencionales de abril 2025.***Compartimos un **flujograma** y un **mapa de calor** que resumen retenciones, fugas y capturas, más las conclusiones clave que aportan a la discusión pública y el análisis del comportamiento electoral.::: {.callout-note icon="false"}### **Cómo interpretar**En el *flujograma*, cada "flujo" representa la proporción (%) de votantes que migran desde una fuerza 2023 hacia una fuerza 2025.En el *heatmap*, cada celda muestra ese % y se resalta el destino dominante por fila.:::::: {.callout-note icon="false"}### **Lo clave**- **JxC → Unidos \~60%**: retención y atracción adicional.- **Voto libertario**: \~**30%** alta dispersión y baja fidelidad a la marca en el interior- **Peronismo**: fidelidad estructural (\~la mitad se mantiene en el ecosistema PJ).- **Efectos locales**: marcas provinciales reordenan más que la nacional cuando se juegan cargos subnacionales. El territorio importa.:::## Flujograma interactivo```{r}library(readr); library(dplyr); library(tidyr); library(plotly)library(readr); library(dplyr); library(tidyr); library(plotly)# Leer datos widedf_wide <-read_csv(file="C:/Users/Roque/Desktop/DOXA 2020/DIPUTADOS 2025/transferencias_wide.csv", show_col_types =FALSE)# Largodf_long <- df_wide |>pivot_longer(-origen, names_to ="destino", values_to ="valor")# Nodos: 2023 y 2025 separados para evitar duplicadosnodes_2023 <-unique(df_long$origen)nodes_2025 <-unique(df_long$destino)nodes <-c(paste0(nodes_2023, " (2023)"), paste0(nodes_2025, " (2025)"))# Índices para plotlyid_2023 <-setNames(seq_along(nodes_2023) -1, nodes_2023)id_2025 <-setNames(seq_along(nodes_2025) -1+length(nodes_2023), nodes_2025)links <- df_long |>transmute(source = id_2023[origen],target = id_2025[destino],value =round(valor, 1), origen # lo conservamos para colorear los flujos )# Paleta por fuerza (mismos nombres que en tus datos)pal <-c("UxP"="#ADD8E6", "LLA"="#8A2BE2", "JxC"="#FFA500","Hacemos"="#DDA0DD", "FIT"="#E41A1C","Unidos"="#FFA500", "Activemos"="#ADD8E6","Mas_para_SFe"="#ADD8E6", "Somos_Vida"="lightgreen","Otros"="#CCCCCC")# Helper: hex -> rgba con alphahex2rgba <-function(hex, alpha =0.65){ rgb <- grDevices::col2rgb(hex)sprintf("rgba(%d,%d,%d,%.2f)", rgb[1], rgb[2], rgb[3], alpha)}# Colores de nodos (2023 y 2025)node_colors <-c(unname(pal[nodes_2023]), unname(pal[nodes_2025]))# Colores de flujos según ORIGENlink_colors <-sapply(links$origen, function(p) hex2rgba(pal[p], 0.65))sankey_plot <-plot_ly(type ="sankey",arrangement ="snap",node =list(label = nodes,color = node_colors,pad =20, thickness =18,hoverinfo ="skip"# << oculta tooltip al pasar sobre las cajas (partidos) ),link =list(source = links$source,target = links$target,value = links$value,color = link_colors, # << flujo toma el color del partido de ORIGENhovertemplate ="%{source.label} → %{target.label}<br>%{value}%<extra></extra>" )) |>layout(title =list(text ="Flujos estimados entre octubre 2023 (origen) y abril 2025 (destino)", # salto de línea + flecha HTMLx =0.5, xanchor ="center",y =0.98, yanchor ="top",font =list(size =18) ),margin =list(t =90, r =20, l =20, b =40) # más aire arriba )sankey_plot <- sankey_plot |>config(displaylogo =FALSE,responsive =TRUE,displayModeBar =TRUE, # deja la barra, pero sin las herramientas molestasmodeBarButtonsToRemove =c("zoom2d","pan2d","select2d","lasso2d","zoomIn2d","zoomOut2d","autoScale2d","resetScale2d" ),doubleClick =FALSE, # desactiva doble-tap para resetscrollZoom =FALSE# desactiva zoom con scroll/pinch ) |>layout(dragmode =FALSE)sankey_plot```## Mapa de calor interactivo: transferencias entre presidenciales de octubre 2023 y convencionales de abril 2025```{r}library(readr); library(dplyr); library(plotly)df_wide <-read_csv(file="C:/Users/Roque/Desktop/DOXA 2020/DIPUTADOS 2025/transferencias_wide.csv", show_col_types =FALSE)mat <-as.matrix(df_wide[,-1])rownames(mat) <- df_wide$origen# 2) Heatmap basefig <-plot_ly(x =colnames(mat),y =rownames(mat),z = mat,type ="heatmap",colorscale =list(list(0, "#FFFFCC"), list(0.25, "#FFEDA0"),list(0.5, "#FEB24C"), list(0.75, "#FD8D3C"),list(1, "#E31A1C") ),zmin =0, zmax =max(mat, na.rm =TRUE),showscale =TRUE,hovertemplate ="2023 %{y} → 2025 %{x}<br>%{z:.1f}%<extra></extra>")# 3) Etiquetas SIEMPRE visibles dentro de cada celda con contraste dinámicoumbral_blanco <-35ann <-list()for (i inseq_len(nrow(mat))) {for (j inseq_len(ncol(mat))) { val <- mat[i, j] col_txt <-ifelse(val >= umbral_blanco, "white", "black") ann[[length(ann)+1]] <-list(x =colnames(mat)[j],y =rownames(mat)[i],text =sprintf("%.0f%%", val),xref ="x", yref ="y",showarrow =FALSE,font =list(color = col_txt, size =12) ) }}fig <- fig |>layout(title ="",xaxis =list(tickangle =45),annotations = ann )heatmap_plot <- fig |>layout(title="Mapa de calor de transferencias", xaxis=list(tickangle=45), annotations = ann) |>config(displaylogo =FALSE, responsive =TRUE, displayModeBar =TRUE,modeBarButtonsToRemove =c("zoom2d","pan2d","select2d","lasso2d","zoomIn2d","zoomOut2d","autoScale2d","resetScale2d"),doubleClick =FALSE, scrollZoom =FALSE ) |>layout(dragmode =FALSE)heatmap_plot```## Conclusiones principales1) **Alta fidelidad electoral** en algunos espacios, pero también **desplazamientos relevantes** entre escalas nacional/provincial. La elección provincial **reconfigura alianzas territoriales** más que la nacional.2) **JxC → UNIDOS**: estimamos que 60% del voto de JxC en 2023 se mantuvo con Unidos en 2025. Además, captó aportes desde otros orígenes. El desempeño del Gobernador Pullaro se complementa con capturas que van desde votantes de Milei (≈30% de la franja libertaria estimada) y desde sectores de votantes de Massa (\~20%). Esto sugiere **atracción transversal** entre segmentos no estrictamente de centro‑derecha.3) **Massa y peronismo**: el votante de Sergio Massa mostró alta permanencia dentro del universo peronista: casi la mitad optó por candidaturas asociadas a esa identidad política (Monteverde y Lewandowski), consolidando la vigencia de un patrón de fidelidad estructural.4) La presencia de Amalia Granata **incide en el rendimiento del PJ** en Santa Fe: sus casi 175.000 votos se explican en buena medida por fugas desde el peronismo hacia su espacio, afectando la capacidad de retención del PJ en distritos específicos, especialmente en Reconquista y barrios de Santa Fe.5) **Voto libertario**: la “marca” del león no retiene totalmente a sus votantes (30%): parte migra a Unidos, otra a Más para Santa Fe y un remanente a Activemos y Somos Vida. A pesar de los esfuerzos, la identidad libertaria aunque mayoritaria no disimula la existencia de un electorado libertario fragmentado que, en elecciones provinciales, mira más al Gobernador que al Presidente.6) **Schiaretti: heterogeneidad**. El electorado schiarettista es el más heterogéneo y menos leal. El 44% de sus votantes optaron por "Más para Santa Fe" o "Activemos", mostrando que el "voto peronista" contribuyó al rendimiento del ex gobernador cordobés, 26% por Pullaro y una quinta parte acompañó a Nicolás Mayoraz.7) **El territorio y la estructura importan**: Aunque perdieron eficacia respecto de años atrás, en elecciones provinciales y locales los factores tradicionales de motivación y movilización continuan siendo determinantes. En las elecciones nacionales los incentivos se encuentran por afuera de las fronteras provinciales: agenda nacional, fase del ciclo político presidencial y marcas nacionales se imponen.::: callout-important### **Metodología en breve**\- **Técnica**: inferencia ecológica (MD bayesiano) sobre datos oficiales por circuito.\- **Alcance**: Presidente oct-2023 → Convencionales abr-2025 para la Provincia de Santa Fe.\- **Resultado**: estimaciones de flujos (retenciones, fugas, capturas) con incertidumbre.\- **Validación**: coherencia con márgenes agregados.:::Lic. Roque CantoiaLic. Mario Ramos@doxadata__