Registro de precisión · para reproducir
D1 + D2
Lo que hace falta para repetir las 2 entradas de D1 + D2 en el registro: el código, la segunda implementación, el cotejo y los datos de validación agregados, cada uno con su huella md5. Son copias de lectura: las rutas del servidor van sustituidas por marcas, y lo que no se puede publicar se dice abajo, con su porqué.
Código de la medida
10
ficheros
Segunda implementación
3
ficheros
Cotejo
0
ficheros
Datos de validación
5
ficheros
Cómo se rehaceSQL con el lanzador DuckDB: 00_cobertura → 01_base → 02_poblacion → 03_n_controles → 05_screens; después 04_potencia (escrita antes de medir), 06_medir (AUC), 07_impl2 (segunda) y 07b_cotejo (comparación). El sobre de Cantabria lo escribió 08_cantabria una sola vez: no se re-ejecuta.
Código de la medida
10 ficheros| Fichero | Qué hace | md5 | Líneas |
|---|---|---|---|
| q.sh | Lanzador de los SQL en DuckDB: define las vistas de la base unificada y de identidad y el separador de sentencias4 rutas del servidor sustituidas | 2c68c50ab5b0fe82 |
36 |
| sql/00_cobertura.sql | Cobertura de nº de ofertas, oferta mínima y máxima y presupuesto por fuente, año y procedimiento | 843b9d20da5fc3c6 |
83 |
| sql/01_base.sql | Base de lotes PLACSP 2014-2025 con identidad de órgano y adjudicatario, etiqueta y exclusión de controles | 45ce5703c731b991 |
63 |
| sql/02_poblacion.sql | Filtros pre-registrados de la población (≥ 3 ofertas, mín/máx coherentes) y embudo | 5fa00876669e5291 |
27 |
| sql/03_n_controles.sql | Mercado afectado y recuento de positivas y controles por cártel y año | a8d53f9d39d3f4d6 |
32 |
| sql/05_screens.sql | Primera implementación de los screens RANGO, SEP, BAJA_COND, PNC, REP_IGUAL, ESTAB y unión temporal, percentiles y S3/S5 | 4f235613ea3859d8 |
117 |
| py/04_potencia.py | Potencia Hanley-McNeil con los recuentos previstos, escrita antes de medir | 9ce77cf960298225 |
23 |
| py/06_medir.py | AUC estratificada, bootstrap en dos etapas, permutación con Holm, dejar un cártel fuera y calibración | 79d6158d1f7cf60a |
276 |
| py/08_cantabria.py | Guion que calculó y selló la predicción de Cantabria (ámbito, regla de señalado, controles y md5 del código) | ec2d9a51da530bfa |
78 |
| DEFINICIONES_PREVIAS.original.md | Pre-registro sellado: screens, compuestos, etiqueta, criterio y la regla y criterio de acierto de Cantabria | ee85d2f57ed90842 |
150 |
Segunda implementación
3 ficheros| Fichero | Qué hace | md5 | Líneas |
|---|---|---|---|
| py/07_impl2.py | Segunda implementación en Python puro desde la base: población, screens, AUC, bootstrap y cifras de Cantabria | 969ec532e48fae7d |
322 |
| py/07b_cotejo.py | Compara las dos implementaciones lote a lote, en los AUC y en los IC del bootstrap | 23141318541475d2 |
41 |
| salidas/07_cotejo_impl2.md | Diferencias entre las dos implementaciones: por lote, 36 AUC, IC y cifras agregadas de Cantabria | 2e0ce82d60c4f708 |
82 |
Datos de validación
5 ficheros| Fichero | Qué hace | md5 | Líneas |
|---|---|---|---|
| salidas/00_cobertura.md | Cobertura de mínima y máxima por fuente, año, procedimiento y tipo, y coherencia de los importes | 3fe5172592dfdec3 |
125 |
| salidas/04_potencia.md | Tabla de potencia por cártel y efecto de diseño, escrita antes de medir | 5f64a8ecf18eca2f |
16 |
| salidas/05_screens.md | Recuentos de la población, mercados y distribución de los screens (sin etiqueta) | 42f4dcc79db49c77 |
119 |
| salidas/06_auc.md | AUC por cártel y en conjunto con IC95, p de permutación y Holm, dejar uno fuera, calibración y sensibilidades | 5cc476b87d1652cd |
68 |
| salidas/08_cantabria_publicable.md | Hash y fecha del sobre, criterio de acierto y cifras agregadas del ámbito y de los controles | 232b172ed7117644 |
37 |
Pre-registros
sellados antes de medir| Texto | Huella del sello (md5) | Sellado |
|---|---|---|
| DEFINICIONES_PREVIAS.mdtal cual: su md5 es el del sello | ee85d2f57ed90842 |
21/10/2026, 19:08:55 CEST |
Lo que no se publica
y por qué- Sobre cerrado de Cantabria y su copia (interno/CANTABRIA_SOBRE_CERRADO.md y .original.md, 273 KB): lista los 870 lotes con su percentil y la marca de señalado, órganos y adjudicatarias: revelaría la predicción antes de que la CNMC resuelva
- Screens por lote de las dos implementaciones (interno/sc_impl1.parquet 27 MB, sc_impl2.parquet 14 MB): fila a fila de lotes con id y percentil (incluye los de Cantabria, es decir, la predicción); demasiado grandes para la web
- Lista de empresas de los cuatro expedientes (interno/emp.csv) y etiqueta de lotes de cártel de P8 (c06_lotes_cartel.parquet, carpeta etiquetas/): NIF y nombres de empresas sancionadas o investigadas: la web nunca publica listas de empresas
- JSON intermedios de interno/ (06_auc.json, 07_impl2.json, 08_cantabria.json): están en interno/; lo agregado que contienen ya sale en salidas/06_auc.md, 07_cotejo_impl2.md y 08_cantabria_publicable.md
- Recuentos de trabajo por expediente (salidas/00b_explora.md, 01_base.md, 02_poblacion.md, 03_n_controles.md): no hacen falta para las cifras de las entradas; 02 lleva los lotes por año de las empresas investigadas en Cantabria, mejor fuera hasta abrir el sobre