# Revisión de «¿A quién votar?» (versión 2.1)

Fecha: 8-10-2026. Afecta a `preguntas.json` (versión 2026-10-08) y a `quien.html`.
Sustituye a la versión del 7-10-2026, que tenía preguntas sobre medidas concretas codificadas
con votaciones del Congreso; el código de aquella versión está en
`fuentes-quien/version-1-votaciones/`.

La ha hecho quien redactó las preguntas. **Falta una segunda revisión humana** antes de
publicar (ver el apartado 8).

## 1. Qué cambia y por qué

- **Frases sobre lo que crees, no sobre medidas.** El objetivo es que el usuario vea qué
  partido le representa, no qué votación le gusta. Las frases son generales
  («El Estado debería intervenir más en la economía»), cortas y sin nombres de leyes ni siglas.
- **Doce partidos**: BNG, CC, EH Bildu, ERC, Junts, PNV, Podemos, PP, PSOE, SALF, Sumar y Vox.
  Se muestran en orden alfabético salvo en la clasificación.
- **Posiciones de una fuente externa y citable**: la Chapel Hill Expert Survey 2024 (CHES), y
  no nuestro criterio.

## 2. De dónde salen las posiciones

**Fuente.** Chapel Hill Expert Survey 2024.

- Rovny, Polk, Bakker, Hooghe, Jolly, Marks, Steenbergen y Vachudova (2025), *Electoral
  Studies* 97, doi:10.1016/j.electstud.2025.102981.
- Hecha a politólogos especialistas entre el 10 de octubre y el 20 de noviembre de 2024 (países
  de Europa occidental).
- 609 expertos, 279 partidos y 31 países. Para España, 16 expertos.
- Datos: `fuentes-quien/ches/CHES_2024_final_v2.csv` (medias por partido) y
  `CHES_2024_ALL_Stacked_Expert.csv` (respuesta de cada experto), descargados de chesdata.eu.

**Los doce partidos están en la encuesta**, incluidos SALF y CC. Para Sumar se usa la fila
«Sumar» (551), no la de IU, que la encuesta trata aparte.

**Cada frase corresponde a una variable de CHES** (tabla del apartado 4). La media de los
expertos se pasa de su escala a la del test de forma lineal y sin redondear:

- valor = (x − 5) / 2,5 en las escalas de 0 a 10; las de 1 a 7 (`eu_position`, `eu_foreign`) se llevan antes a 0-10;
- se gira (10 − x) cuando estar de acuerdo con la frase es el extremo bajo de la variable;
- el 0 de la encuesta es «muy en desacuerdo» o «muy de acuerdo» según la frase, el 5 es neutral y el 10 el otro extremo.

**Regla de fiabilidad, igual para todos.** Una posición no se usa si la valoraron menos de 3
expertos o si los expertos discrepan mucho (desviación típica de 2,5 o más sobre 10). Queda
«sin posición documentada» y el partido no cuenta en esa pregunta. **No se rellena con
nuestra opinión** ni deduciéndola de su ideología. Salen 11 huecos (apartado 5).

**Las votaciones del Congreso, solo como contexto.** En cinco frases se enseña cómo votó cada
partido una iniciativa relacionada (enlace al PDF oficial), pero no cambia el cálculo.

**Cambio de fuente previsto.** Cada posición lleva `source.type` (`ches`, `documento`,
`votacion` o `programa`). Cuando salgan los programas del 29-N se pueden sustituir posiciones
concretas en `SUSTITUCIONES` (en `fuentes-quien/construir.py`) sin tocar la web.

## 3. Las preguntas

17 frases, una idea cada una y una variable de CHES por frase, para que ningún tema pese el doble.

### Revisión de frases con dos ideas (8-10-2026)

Se revisaron las 19 frases de la versión anterior buscando dos ideas unidas por «y» u «o», o
una afirmación con una condición o un precio.

| Antes | Ahora | Por qué |
|---|---|---|
| El Gobierno debería defender más el orden y los valores tradicionales. | El Gobierno debería defender los valores tradicionales. (`galtan`) | Eran dos ideas. «El orden» corresponde a `civlib_laworder`, la variable de «La policía debería tener más poder para luchar contra el delito». Se queda esa frase y se quita la del orden para no repetir variable. `galtan` mezcla tradición y orden en su definición, pero es la variable más cercana a «valores tradicionales» |
| Las empresas deberían tener menos normas y menos trabas. | Las empresas deberían tener menos normas. (`deregulation`) | «Normas» y «trabas» decían lo mismo dos veces |
| Los inmigrantes deberían poder mantener su cultura y sus costumbres. | Los inmigrantes deberían poder mantener su propia cultura. (`multiculturalism`) | Lo mismo: la cultura ya incluye las costumbres |
| La Unión Europea debería decidir más en política exterior y defensa. | La Unión Europea debería decidir más en política exterior. (`eu_foreign`) | La variable de CHES es una sola («foreign and security policy»), pero la frase decía dos cosas. Se queda la principal |
| Europa debería gastar más en defensa para protegerse de Rusia. | Europa debería gastar más en defensa frente a Rusia. (`eu_russia`) | «Para protegerse» añadía un motivo. Ahora es una sola idea, más defensa ante Rusia, que es un extremo de la variable (el otro es «más comercio y diplomacia con Rusia») |
| Luchar contra el cambio climático no debería frenar la economía. | El crecimiento económico es más importante que luchar contra el cambio climático. (`climate_change`) | La negación la hacía confusa. Ahora es una comparación, que es justo lo que mide CHES |
| España debería proteger sus productos frente a los de fuera. | Quitada (`protectionism`) | Separaba poco a los partidos: casi todos quedaban cerca del neutral |
| El campo debería recibir más apoyo que las ciudades. | Quitada (`urban_rural`) | Separaba poco a los partidos: casi todos quedaban cerca del neutral |

**Frases con un precio que se quedan**, porque CHES mide exactamente ese dilema:

- **«Los impuestos deberían bajar, aunque haya menos servicios públicos.»** `spendvtax` es
  literalmente «mejorar los servicios públicos frente a bajar impuestos». Sin el «aunque», casi
  todo el mundo diría que sí y la frase no mediría la variable.
- **«Proteger el medio ambiente es más importante que el crecimiento económico.»**
  `environment` enfrenta la protección del medio ambiente, aunque cueste crecimiento, con lo contrario.
- **«El crecimiento económico es más importante que luchar contra el cambio climático.»**
  `climate_change` plantea el mismo dilema con el clima. Va al revés que la anterior, para que
  «sí» no sea siempre del mismo lado.

**Variables descartadas**, porque los expertos no dan posiciones fiables para muchos partidos:

- derechos de las mujeres (4 partidos con discrepancia alta);
- minorías étnicas (5);
- nacionalismo (4). Además, CHES pone a los partidos nacionalistas vascos, catalanes y gallegos
  en el centro de esa escala.

Para los derechos LGTBI se usa el matrimonio entre personas del mismo sexo, que deja fuera solo
a SALF; la variable general de derechos LGTBI dejaba fuera a 3 partidos.

**Sin preguntas sobre independencia ni sobre recaudar impuestos propios.** CHES no las tiene y
habría que codificarlas a mano. El eje territorial lo recoge la frase de autogobierno (`regions`).

## 4. Matriz partido × pregunta

Los valores van de −2 (muy en desacuerdo) a +2 (muy de acuerdo); «—» es sin posición
documentada. La columna «Sí =» dice qué lado suele estar de acuerdo con la frase; solo sirve
para revisar el equilibrio.

| # | Frase | Variable CHES | Sí = | BNG | CC | EH Bildu | ERC | Junts | PNV | Podemos | PP | PSOE | SALF | Sumar | Vox |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | El Estado debería intervenir más en la economía. | `lrecon` | izq. | +0,9 | -0,3 | +1,0 | +0,9 | -0,5 | -0,5 | +1,4 | -0,9 | +0,4 | -1,4 | +1,1 | -1,6 |
| 2 | Los impuestos deberían bajar, aunque haya menos servicios públicos. | `spendvtax` | der. | -1,1 | +0,4 | -1,3 | -1,0 | +0,8 | +0,4 | -1,6 | +1,1 | -1,1 | +1,6 | -1,4 | +1,9 |
| 3 | El Gobierno debería reducir las diferencias entre ricos y pobres. | `redistribution` | izq. | +0,9 | -0,1 | +1,0 | +0,7 | -0,5 | -0,2 | +1,3 | -0,7 | +0,7 | -1,3 | +1,2 | -1,4 |
| 4 | Las empresas deberían tener menos normas. | `deregulation` | der. | -0,9 | +0,2 | -0,9 | -0,6 | +0,5 | +0,3 | -1,3 | +0,9 | -0,3 | +1,6 | -1,1 | +1,5 |
| 5 | Las comunidades autónomas deberían tener más autogobierno. | `regions` | izq. | +2,0 | +1,7 | +2,0 | +2,0 | +2,0 | +2,0 | +0,8 | -0,8 | +0,6 | — | +0,6 | -2,0 |
| 6 | España debería recibir menos inmigración. | `immigrate_policy` | der. | -0,8 | +0,6 | -0,8 | -0,7 | +0,7 | +0,2 | -1,4 | +0,8 | -0,3 | +1,8 | -1,1 | +1,9 |
| 7 | Los inmigrantes deberían poder mantener su propia cultura. | `multiculturalism` | izq. | — | -0,4 | +0,4 | +0,1 | -1,1 | -0,6 | +1,1 | -1,0 | +0,3 | -1,9 | +1,0 | -2,0 |
| 8 | Proteger el medio ambiente es más importante que el crecimiento económico. | `environment` | izq. | +0,9 | +0,3 | +1,0 | +1,0 | +0,3 | +0,2 | +1,2 | -0,3 | +1,0 | -1,6 | +1,3 | -1,7 |
| 9 | El crecimiento económico es más importante que luchar contra el cambio climático. | `climate_change` | der. | -0,7 | -0,1 | -1,0 | -0,6 | +0,3 | +0,2 | -1,1 | +0,6 | -0,8 | +1,4 | -1,4 | +1,6 |
| 10 | Las parejas del mismo sexo deben poder casarse. | `samesex_marriage` | izq. | +1,9 | +1,2 | +1,9 | +1,9 | +1,2 | +1,1 | +2,0 | +0,4 | +1,9 | — | +2,0 | -1,2 |
| 11 | La religión no debería influir en las leyes. | `religious_principles` | izq. | +1,7 | +0,2 | +1,7 | +1,5 | +0,1 | -0,6 | +1,8 | -0,4 | +1,0 | -1,7 | +1,7 | -1,3 |
| 12 | El Gobierno debería defender los valores tradicionales. | `galtan` | der. | -1,0 | +0,5 | -1,1 | -1,0 | +0,4 | +0,5 | -1,4 | +0,8 | -0,8 | +1,4 | -1,5 | +1,8 |
| 13 | La policía debería tener más poder para luchar contra el delito. | `civlib_laworder` | der. | -1,1 | -0,6 | -1,0 | -0,9 | +0,3 | -0,1 | -1,4 | +0,9 | -0,7 | — | -1,2 | +1,9 |
| 14 | La Unión Europea debería tener más poder. | `eu_position` | transv. | +0,9 | +1,2 | +0,7 | +1,1 | +1,1 | +1,4 | +0,5 | +1,6 | +2,0 | -0,8 | +0,9 | -0,6 |
| 15 | La Unión Europea debería decidir más en política exterior. | `eu_foreign` | transv. | +0,3 | +1,1 | +0,1 | +0,4 | +0,5 | +1,1 | -0,5 | +1,3 | +1,5 | -0,7 | +0,1 | +0,1 |
| 16 | Europa debería gastar más en defensa frente a Rusia. | `eu_russia` | der. | -0,6 | +0,2 | -0,8 | -0,3 | +0,1 | +0,5 | -1,2 | +0,7 | +0,2 | — | — | +1,0 |
| 17 | Las decisiones importantes debería votarlas la gente en referéndum. | `people_v_elite` | transv. | +0,7 | — | +0,7 | +0,4 | +0,4 | -0,3 | +1,3 | -1,0 | -0,6 | — | +1,0 | — |
| | **Posiciones documentadas** | | | **16** | **16** | **17** | **17** | **17** | **17** | **17** | **17** | **17** | **12** | **16** | **16** |

## 5. Huecos y partidos ocultos

- **9 posiciones quedan sin documentar.**
  - SALF, 5: autogobierno, matrimonio, policía, Rusia y referéndum. Son variables que
    valoraron 2 expertos, o 4-5 que no coinciden.
  - BNG, 1: integración de inmigrantes (desviación de 2,5).
  - Sumar, 1: Rusia (desviación de 2,7).
  - CC, 1: referéndum (2 expertos).
  - Vox, 1: referéndum (desviación de 4,1: los expertos no se ponen de acuerdo).
- **SALF queda fuera de la clasificación**: tiene 12 posiciones y el mínimo es 15. La web lo
  dice debajo de la clasificación y enseña igualmente sus 12 posiciones. Se buscó un programa
  propio para rellenar huecos: salf.es es una página que no es del partido y
  seacabolafiesta.es no resuelve. No hay documento citable, así que se deja así.
- **El resto de partidos tiene 16 o 17 posiciones** (sobre 17). Cada porcentaje se calcula solo sobre las
  preguntas en las que el partido tiene posición, así que un hueco no resta puntos.

## 6. Comprobaciones de neutralidad

**Dirección de las frases.** En 7, estar de acuerdo es de izquierdas; en 7, de derechas; 3 son transversales.

**Frases invertidas**, para que «sí» no sea siempre del mismo lado:

- «La religión **no** debería influir en las leyes» (estar de acuerdo es el extremo laico);
- «Los inmigrantes deberían poder mantener su propia cultura» (estar de acuerdo es el extremo multicultural);
- «Europa debería gastar más en defensa…» (estar de acuerdo es el extremo bajo de `eu_russia`, el de la derecha);
- «El crecimiento económico es más importante que luchar contra el cambio climático», que va en sentido contrario a la del medio ambiente.

**Usuarios ficticios** que responden lo mismo a todo (`fuentes-quien/comprobar.py`), sobre los 11 partidos visibles:

| Responde a todo | Más alto | Más bajo | Diferencia |
|---|---|---|---|
| «Muy de acuerdo» | Junts 60 % | Vox 50 % | 10 puntos |
| «Muy en desacuerdo» | Vox 50 % | Junts 40 % | 10 puntos |
| «Neutral» | CC 86 % | Vox 63 % | 23 puntos |

- **El «sí» a todo no empuja hacia un bloque.** Arriba quedan partidos de centro (Junts, CC,
  PNV) y abajo los dos extremos (Podemos 52 %, Vox 50 %). La izquierda y la derecha quedan
  mezcladas en medio (PSOE 57 %, PP 56 %).
- **«Neutral» a todo acerca a los partidos de centro (CC, PNV, Junts) y aleja a los de los
  extremos.** Es lo que debe pasar: quien no tiene opinión en nada está, por definición, en el
  centro de todas las escalas.
  - Hay un efecto que conviene conocer: la encuesta pone a casi todos los partidos lejos de
    los extremos (pocos pasan de ±1,5).
  - Por eso alguien que responde muchas veces «muy» se aleja algo de todos. La clasificación
    sigue ordenando bien, pero los porcentajes absolutos son más bajos que con posiciones redondeadas.

**Autocoincidencia.** Se responde lo que dice cada partido (redondeado a la escala del test) y se
mira quién sale primero:

| Responde como | Resultado |
|---|---|
| PP, PSOE, Vox, CC, PNV, Podemos, Sumar, Junts, ERC | Ese partido sale el primero (93-95 %) |
| BNG | EH Bildu 97, BNG 96, ERC 94 |
| EH Bildu | BNG 96, EH Bildu 96, ERC 94 |

- **BNG, EH Bildu y ERC no se distinguen bien.** Los expertos les dan casi la misma posición en
  todas las escalas usadas: se separan menos de 0,5 en casi todas. Ninguna frase general de las
  que tiene la encuesta los separa.
- **La web lo trata como empate técnico.** Si dos o más partidos se separan por menos de 3
  puntos, lo dice encima de la clasificación. En la prueba, con ese margen, cada uno de los 11
  partidos visibles sale siempre en el grupo de cabeza al responder como él.
- **SALF**: respondiendo como SALF sale Vox primero (88 %), pero SALF está fuera de la clasificación.

**Redacción.** Se revisaron estas cosas:

- ninguna frase nombra partidos, leyes ni siglas, y «UE» va siempre escrito entero;
- se evitaron palabras marcadas («ilegales», «sin papeles», «okupas», «ideología de género»);
- la frase de inmigración va en su forma más neutra («recibir menos inmigración»), la que usan las encuestas;
- «autogobierno» es la única palabra algo técnica; se mantiene porque es la del ejemplo pedido y se entiende en contexto.

## 7. Colores de las respuestas

La escala va de verde a rojo: verde fuerte, verde suave, gris neutro, rojo suave y rojo fuerte.
Los tonos son tan suaves como en el test a ciegas.

**No se reutilizan tal cual `--si-*` y `--no-*`.** Medidos, no pesan igual:

- en claro, el borde rojo contrasta 2,13:1 con el blanco y el verde 1,91:1, y el texto rojo 7,4:1 frente a 6,0:1 el verde;
- en oscuro pasa al revés: el borde verde contrasta 3,37:1 y el rojo 2,49:1.

**Se definieron tokens propios** (`--q-si-*` y `--q-no-*`, en el bloque de `estilo.css`), con
los mismos tonos y ajustados para que los dos extremos pesen igual:

| | Claro | Oscuro |
|---|---|---|
| Borde fuerte con la superficie | 2,0:1 en los dos | 2,9:1 en los dos |
| Borde suave con la superficie | 1,45:1 | 1,8:1 |
| Fondo con la superficie | 1,10:1 | 1,10:1 |
| Texto sobre su fondo | ~7:1 en los dos lados (AA) | ~9:1 |
| Gris neutro | 7,7:1 | 7,3:1 |

La respuesta elegida se marca igual en las cinco: borde del color del texto y «✓».

## 8. Pendiente

1. **Segunda revisión humana** de las frases y de qué variable corresponde a cada una.
2. **Antigüedad.** CHES es de octubre y noviembre de 2024. Si algún partido ha cambiado de
   posición desde entonces, no se refleja hasta que salgan los programas del 29-N; el formato ya
   permite sustituir posiciones concretas (`SUSTITUCIONES`).
3. **Pocos expertos en algunas variables.** En algunas variables cada experto respondió solo
   una parte de las preguntas, y hay celdas con 3 a 5 expertos. La regla de 3 y 2,5 es nuestra
   y se puede discutir; está en `construir.py` (`MIN_EXPERTOS`, `MAX_DESV`).
4. **UPN** está en la encuesta y tiene un escaño, pero no está en la lista de partidos pedida.
5. **«Valores tradicionales» usa `galtan`**, que en CHES mezcla tradición y orden. Es la
   variable más cercana; si se quiere más precisión, la alternativa sería `religious_principles`,
   pero ya la usa «La religión no debería influir en las leyes».
