A primera vista, tuplas y listas son casi idénticas. Ambas guardan colecciones ordenadas de elementos. La única diferencia visual es que una usa [] y otra ().Pero esa pequeña diferencia de sintaxis esconde una diferencia conceptual enorme. Y elegir la equivocada te costará horas de debugging, o peor, escribirás código que parece funcionar pero se rompe de formas … [Leer más...] acerca de Tuplas vs Listas en Python: parecen lo mismo, pero no
Qué significa realmente “calidad de datos”
"Nuestros datos no tienen buena calidad."Escuchas esto constantemente en reuniones. El problema es que casi nadie dice exactamente qué significa eso. ¿Son datos incompletos? ¿Inconsistentes? ¿Viejos? ¿Irrelevantes? ¿Todo a la vez?La frase "calidad de datos" se usa como paraguas para tapar agujeros muy distintos, y ese es precisamente el problema. En Machine Learning, … [Leer más...] acerca de Qué significa realmente “calidad de datos”
Cómo Detectar Pseudo-IDs y Data Leakage en el Constructor de Scorecards
El artículo Data Leakage en Credit Scoring explicó por qué este es el error más silencioso y más costoso en la construcción de un scorecard: un modelo contaminado con información del futuro puede mostrar métricas de validación excelentes y ser completamente inútil en producción.Este tutorial muestra cómo usar el detector automático del constructor de scorecards del … [Leer más...] acerca de Cómo Detectar Pseudo-IDs y Data Leakage en el Constructor de Scorecards
Cómo Verificar la Normalidad de tus Datos antes de un Test Estadístico
Antes de aplicar muchos tests estadísticos clásicos (el t-test, el ANOVA, la regresión lineal) aparece un supuesto que con frecuencia se ignora o se verifica de forma superficial: que los datos siguen una distribución normal. Si ese supuesto se viola de forma grave, las conclusiones del test pueden ser incorrectas, p-valores que no significan lo que parecen, intervalos de … [Leer más...] acerca de Cómo Verificar la Normalidad de tus Datos antes de un Test Estadístico
Docker Compose: el día a día. Cómo ver qué funciona y qué no
Si acabas de montar tu aplicación en Docker Compose, la primera pregunta que haces cada mañana es siempre la misma: ¿está todo levantado y funcionando? Y la segunda, cuando algo va mal: ¿dónde está el problema?Este manual te enseña exactamente cómo comprobar eso: los comandos que necesitas en el día a día para saber qué está corriendo, qué falla, cómo entrar dentro de un … [Leer más...] acerca de Docker Compose: el día a día. Cómo ver qué funciona y qué no
Migrar tslane a un paquete dual CommonJS y ESM con tsup y Vitest
tslane es la plantilla que uso como punto de partida para mis librerías TypeScript, nacida de la serie de 2020 y actualizada varias veces desde entonces. La más reciente, sobre consistencia de nombres con ESLint. En esta entrada aplico el razonamiento de la primera entrada de esta serie a este proyecto, pero con una diferencia clave respecto a la anterior: tslane no es una … [Leer más...] acerca de Migrar tslane a un paquete dual CommonJS y ESM con tsup y Vitest
Cómo construir tu primer scorecard paso a paso
En los artículos anteriores de esta serie vimos la teoría detrás del credit scoring: qué son el WOE y el IV, cómo funciona el binning, cómo se transforma una regresión logística en un scorecard, qué diferencia la calibración de la discriminación y cómo monitorizar un modelo en producción. En este tutorial conectamos toda esa teoría con la práctica: construiremos un scorecard … [Leer más...] acerca de Cómo construir tu primer scorecard paso a paso
Actualizar expresslanets a ES Modules con tsx y Vitest
expresslanets es la plantilla de API REST con Express y TypeScript que empezó como una serie de diez entradas en 2022 y que desde entonces ha ido incorporando mejoras, como la documentación con OpenAPI/Swagger. En esta entrada aplico el razonamiento de la entrada anterior de esta serie a este proyecto en concreto: paso la plantilla a ES Modules, sustituyo ts-node/Nodemon por … [Leer más...] acerca de Actualizar expresslanets a ES Modules con tsx y Vitest
Pareto/NBD: cuando el abandono silencioso cambia el CLV
En el artículo del Dashboard vimos que Pareto/NBD aparecía junto a BG/NBD con un ajuste estadístico casi idéntico (log-verosimilitud -17.135,8 vs -17.138,2) pero un CLV medio bastante más bajo (15 € vs 29 €). Quedó pendiente explicar por qué. Este artículo cierra ese hueco: la diferencia entre ambos modelos no está en cómo se ajustan a los datos observados, sino en qué asumen … [Leer más...] acerca de Pareto/NBD: cuando el abandono silencioso cambia el CLV
Por qué migrar tus proyectos TypeScript a ES Modules en 2026
Durante años, CommonJS (require/module.exports) ha sido la forma por defecto de organizar módulos en Node.js, y la inmensa mayoría de proyectos TypeScript (incluidos los publicados en Analytics Lane) se han construido sobre esa base sin cuestionarla demasiado. Pero el ecosistema lleva tiempo moviéndose en otra dirección, y creo que ha llegado el momento de explicar por qué he … [Leer más...] acerca de Por qué migrar tus proyectos TypeScript a ES Modules en 2026
Método del codo: interpretación correcta y limitaciones
Cuando usas k-means tienes que decidir algo incómodo de entrada: cuántos grupos, , vas a buscar en el conjunto de datos. Y como el algoritmo no lo decide por ti, casi todo el mundo recurre al mismo truco: el método del codo. Dibujas una curva, buscas el "punto donde se dobla" y ese es tu número de clusters. Rápido, visual y aparentemente objetivo.El problema es que el … [Leer más...] acerca de Método del codo: interpretación correcta y limitaciones
Errores comunes al interpretar resultados estadísticos
La estadística no suele fallar en los cálculos: falla en la interpretación. El test está bien hecho, el número es correcto… y aun así la conclusión que se saca de él es errónea. Estos malentendidos no son anécdotas de principiante; aparecen en artículos científicos, informes de empresa y, especialmente, titulares de prensa todos los días.En esta entrada reunimos los errores … [Leer más...] acerca de Errores comunes al interpretar resultados estadísticos









