lección 4
Día 3 (mañana) — El ranking de superficie
Con los datos limpios, montas en SQL la foto que mira Distribución cada día: pólizas, prima suscrita, prima media y CAC por canal. Los comparadores ganan las cuatro, y por un día el titular de Álex parece inatacable. Añades el contexto (ramo, provincia, edad) y recibes la corazonada de Lucía: «los comparadores salen mal por el auto». La guardas para el jueves. Hoy, todo le da la razón a Álex.
⏱ 55 min
### De limpiar en Pandas a analizar en SQL
Recuerda cómo cerraste ayer: con los siete ficheros limpios, el canal normalizado a cinco valores y la métrica del margen definida en una frase. Hoy cambias de herramienta. La exploración y la limpieza se hacen en Pandas porque lees los ficheros crudos y hay que domar el texto sucio; pero el análisis —los números que acaban en un panel y que defiende el equipo— se produce en SQL sobre las tablas ya saneadas. Es como trabaja el equipo de datos de Ampara: Hugo y tú limpiáis en Python y calculáis en SQL, porque SQL es el lenguaje en el que están el almacén y los cuadros de mando, y porque una consulta bien escrita es más fácil de revisar y de repetir que un cuaderno de Pandas. A partir de hoy trabajas sobre unas tablas limpias —canales, productos, mediadores, clientes, polizas, siniestros y campanas— con el canal, el ramo y los importes ya normalizados.
Un recordatorio que hoy es la clave de todo: una póliza nueva es la de tipo «nueva» con prima positiva. Las renovaciones no son captación —no cuentan como pólizas nuevas de un canal—, y una prima cero o negativa es basura. Así que casi todas las consultas de hoy empiezan igual: FROM polizas WHERE tipo = 'nueva' AND prima_anual > 0. Ese filtro es el que hace que salgan los 60.000 que contaste ayer, repartidos en los cinco canales. Si te lo saltas, mezclarás altas con renovaciones y las cifras dejarán de cuadrar con la narrativa de la empresa.
### La foto que enamora a Distribución
Distribución mira cada mañana cuatro números por canal, y son los cuatro que le dan la razón a Álex: cuántas pólizas trae, cuánta prima suscribe en total, cuál es su prima media y cuánto cuesta captar cada póliza (el CAC). Vas a reproducir esa foto exactamente, sin trampa, porque parte de tu credibilidad del viernes depende de haberle dado la razón a Álex en lo que la tiene. Y la tiene: por pólizas, por prima suscrita, por prima media y por CAC, los comparadores ganan de calle. La primera consulta es la más simple y la más citada: el reparto de pólizas nuevas por canal, con su porcentaje sobre el total.
Para el porcentaje sobre el total en una sola consulta vas a usar una función de ventana, que ya conoces de SQL: SUM(COUNT(*)) OVER () suma los recuentos de todos los canales por encima de los grupos, de modo que puedes dividir cada canal entre ese total sin cerrar la agrupación. Es el patrón para calcular el peso de cada categoría sobre el conjunto. Lo verás repetido cuando calcules la cuota de prima, que es la misma idea aplicada a la suma de prima en vez del recuento.
### El CAC: por qué se calcula por CTE y no cruzando tablas
El CAC es el coste de las campañas de un canal dividido entre las pólizas nuevas que trajo. Suena a un JOIN entre campanas y polizas, pero ahí está la primera trampa de cálculo de la semana, y conviene entenderla porque el mismo error acecha mañana en el loss ratio. Si cruzas campanas con polizas directamente, cada campaña se emparejaría con cada póliza de su canal, multiplicando las filas: una campaña por 24.000 pólizas de comparadores aparecería 24.000 veces, y cualquier suma saldría inflada sin sentido. La forma correcta es agregar por separado: una consulta suma el coste por canal, otra cuenta las pólizas por canal, y solo al final se dividen. Eso se hace con CTE (las cláusulas WITH que dan nombre a una subconsulta), y es el patrón que vas a repetir para todo lo que combine dos agregados de tablas distintas.
Nunca dividas dos cosas que vienen de tablas distintas cruzándolas y sumando sobre el JOIN: agrega cada una en su propia CTE y divide los totales. El CAC (coste de campañas / pólizas) y el loss ratio (siniestros / prima) son el mismo caso, y el error de cruzar-y-sumar es tan fácil de cometer como difícil de detectar, porque el número que sale es plausible: solo está inflado por un factor que no ves. Si un CAC te sale en cientos o miles de euros por póliza, casi seguro has cruzado y sumado.
Al montar el CAC por CTE hay otra decisión: el tipo de JOIN entre las pólizas (que existen para los cinco canales) y los costes de campaña. Usa un LEFT JOIN partiendo de las pólizas, para que ningún canal desaparezca aunque no tuviera una fila de coste. En Ampara los cinco canales tienen campañas, pero acostúmbrate al LEFT JOIN cuando partes de la dimensión que quieres conservar entera: es el mismo reflejo que necesitarás con los mediadores y con las pólizas sin siniestro. El resultado le da la razón a Álex por cuarta vez: el CAC del comparador es de 15 € por póliza, el más bajo de todos; el de mediadores, 90 €, el más alto. Guarda ese contraste, porque el viernes será la prueba de que «CAC bajo = bueno» es exactamente el error.
### Por qué los paneles enseñan siempre lo que engaña
Merece la pena parar un momento en una pregunta de fondo: ¿por qué las cuatro métricas que mira Distribución cada día son justo las que engañan? No es casualidad ni mala fe. Es que las métricas de volumen —pólizas, prima suscrita— tienen tres propiedades que las hacen irresistibles para un cuadro de mando: están disponibles el primer día (en cuanto firmas la póliza ya sabes cuánta prima suscribiste), suben con el esfuerzo (más campañas, más pólizas, la gráfica sube y todos contentos), y se entienden sin explicación. El margen técnico, en cambio, tarda meses en verse (hay que esperar a los siniestros y a las renovaciones), no siempre sube cuando trabajas más, y hay que explicarlo. Un panel premia lo inmediato, lo creciente y lo simple, y por eso enseña volumen. La métrica que decide vive escondida precisamente porque es tardía, incómoda y difícil.
Esto tiene una historia que se repite en todos los sectores. Cuando llegaron las hojas de cálculo y luego los cuadros de mando, de repente fue barato medir y enseñar cualquier número, y las empresas se llenaron de paneles con métricas que subían. El problema es que medir es fácil y medir lo correcto es difícil: es mucho más sencillo contar cuántas pólizas entran que calcular cuánto margen deja cada una a lo largo de su vida. Así que los paneles se poblaron de métricas de vanidad —números grandes que suben y hacen sentir bien pero no deciden nada— y el trabajo del analista pasó a ser, en buena parte, distinguir la métrica de vanidad de la métrica que importa. Hoy estás haciendo exactamente eso: reproduces la foto de vanidad para reconocerla, y mañana bajas a la que decide.
Consejo de senior: una métrica de vanidad no es una métrica falsa, es una métrica verdadera que responde a la pregunta equivocada. La prima suscrita de los comparadores es correcta: sí suscriben 11,5 millones. El error no está en el número, está en usarlo para decidir el presupuesto, porque no mide lo que decide el presupuesto (el margen). Cuando presentes, no digas «esta métrica está mal»: di «esta métrica mide lo que entra, no lo que queda, y la decisión depende de lo que queda». Respetar el número y cuestionar su uso es más honesto y más convincente que descalificarlo.
### El contexto: ramo, provincia y la corazonada de Lucía
Con la foto de superficie montada, sacas el contexto que enmarca el análisis y que te van a pedir. El reparto por ramo dentro de cada canal esconde algo llamativo: los comparadores venden muchísimo más auto que el resto (un 60% de sus pólizas, frente al 25% de mediadores). No es el hallazgo —todavía no sabes qué cuesta cubrir a esa gente—, pero es contexto importante, porque es la semilla de la corazonada que te va a llegar. El reparto por provincia, en cambio, es parecido en todos los canales: la provincia no separa a los canales, es ruido. Y la edad revela un mecanismo interesante: los comparadores captan clientes más jóvenes de media (unos 34 años, frente a los 44 de banca), el perfil del cazador de precio.
Fíjate en cómo se comportan estas tres variables de contexto, porque el patrón es instructivo. Dos de ellas —provincia y descuento— salen uniformes entre canales: reparto parecido, así que no pueden explicar por qué unos canales van a dejar más margen que otros. La tercera —la edad, con los comparadores captando más joven— sí varía, y es tentador quedarse con ella («captemos gente mayor»). Pero la edad es un mecanismo, no la palanca: ayuda a entender por qué el comparador atrae mala calidad de riesgo (el joven cazador de precio), sin ser la explicación por sí sola, porque dentro de cada tramo de edad los comparadores seguirían siniestrando más. La regla que se repite: una variable de contexto que varía entre canales puede iluminar el porqué, pero solo el margen decide, y una que no varía se descarta como explicación.
Guarda estos cortes de contexto aunque hoy no den titular, porque en la demo del viernes van a servir para dos cosas. La primera, enmarcar: cuando enseñes que los comparadores dejan margen negativo, alguien preguntará «¿y no será por dónde venden, o por la edad?», y tener el contexto medido te deja responder sin titubear. La segunda, blindar: la provincia uniforme y el descuento uniforme son la prueba de que no son la explicación, y el sesgo de auto es la semilla de la corazonada de Lucía que descartarás con el control de confusión. Un buen analista no calcula el contexto para lucirlo, sino para tener respuesta a las objeciones antes de que lleguen. Hoy lo mides; el viernes lo usas.
1Lucia Vega 11:472Oye, ya que estas con los canales... le echas un ojo al loss ratio POR RAMO? 👀3Estoy casi segura de que los comparadores salen mal solo porque meten muchisimo AUTO, que4siniestra un monton de lo caro que es. Si es eso, el problema es el ramo, no el canal, y no5habria que tocar la captacion, sino subir la prima de auto. Seria clave para el comite de6suscripcion. Es una cosita, no?
La corazonada de Lucía: una explicación alternativa razonable que hay que tomarse en serio y luego descartar con datos. No la ignores, pero tampoco dejes que te desvíe el eje
La corazonada de Lucía es de las que hay que tomarse en serio. Es una explicación alternativa razonable: el auto siniestra más que otros ramos, y si los comparadores venden sobre todo auto, podrían salir mal en loss ratio sin que el canal tenga la culpa. Sería el ramo, no el canal. No la ignores ni la aceptes: la guardas para el jueves, cuando tendrás el loss ratio y podrás abrirlo por canal dentro de cada ramo. Si dentro del mismo ramo los comparadores siguen siniestrando más, la corazonada queda descartada y tu hallazgo sale blindado. Hoy solo anotas que el comparador vende un 60% de auto: es el dato que alimenta la hipótesis, y el que la desmontará.
Consejo de senior: cuando un stakeholder te trae una corazonada a media semana, ni la descartas por venir «de fuera» ni la conviertes en el nuevo eje del encargo. La absorbes como lo que es —una hipótesis a comprobar— y la colocas en el momento correcto del análisis. La corazonada de Lucía es un control de confusión, no un segundo hallazgo: sirve para blindar tu conclusión, no para competir con ella. Saber encajar un cambio de alcance sin perder el hilo del encargo principal es una habilidad tan importante como el SQL.
Cierras la mañana con la foto de Distribución completa y confirmada: los comparadores son el número uno en pólizas, en prima suscrita, en prima media y en CAC bajo. Le has dado la razón a Álex en las cuatro. Todo apunta a escalarlos, y si tu encargo fuera confirmar el CAC —lo que Álex pidió—, ya habrías terminado. Pero tu encargo es otro: saber si esas pólizas dejan margen. Y para eso hay que preguntarle a una tabla que Distribución no mira nunca. Ya sabes cuánta prima entra por cada canal; ahora falta saber cuánto cuesta cubrir a esa gente. Ahí empieza la grieta.
Regístrate para guardar tu progreso.