Tienes escrito un informe de calidad que un Gerente de Administración y Finanzas puede leer en ocho minutos y firmar, y justificas la elección de herramienta frente a volumen y costo con una matriz que defiendes en voz alta — el requisito 3 del Parcial 1, al 100 %.
El notebook de esta clase: https://gaa1104.vercel.app/notebooks/clase-06.ipynb
Ing. en Administración · mención Finanzas · Prof. Tomás Fernández
La salida de esta clase es una tabla de criterios con pesos, no un gráfico. Dibujarla no la haría más clara.
La forma la decide el trabajo que hace el dato —magnitud, identidad, polaridad, cambio en el tiempo, distribución—, no el gusto. Regla del curso: un solo eje.
Lo que quedó planteado la clase anterior (se proyecta la pregunta, NO la respuesta):
«Ya sabes qué está sucio y por qué. ¿Cómo se lo cuentas a alguien que no va a leer una sola consulta?»
Tres preguntas, en silencio, 90 segundos (espaciado 1–3–7–21):
Par (2 min) → plenaria (3 min).
Devolución del C2 (2 min de los 8): cada uno lee su corrección en silencio. El docente nombra en voz alta sólo el ítem que más se falló, y lo re-entrena en 3 minutos si hace falta.
La pregunta colgada se responde con ellos, y es el programa de la primera mitad:
«Se lo cuentas en cuatro secciones, con la cifra adentro y con el nombre de la persona a la que hay que preguntarle. Nada más. Y hoy lo escribimos.»
Empezar por el destinatario, no por la estructura:
«El que va a leer esto es el Gerente de Administración y Finanzas. Tiene ocho minutos, no sabe SQL, y no le interesa. Lo que sí le interesa es una sola cosa: ¿puedo usar este dato para decidir, sí o no, y qué me estoy jugando si lo uso?
Y hay algo más, que es lo que hace que esto sea un entregable profesional y no una tarea: él firma. Cuando el número salga mal en un directorio, el que responde es él. Por eso el riesgo residual no es un adorno de cierre: es lo que él necesita saber para poder firmar.»
Las cuatro secciones, con la exigencia de cada una:
| Sección | Qué tiene que contener | El error típico |
|---|---|---|
| Hallazgo | una frase que se entiende en un ascensor, sin jerga y sin nombre de columna | «hay inconsistencias en los datos» — no dice nada |
| Evidencia | la cifra y dónde se concentra y la consulta que la produce | citar un porcentaje sin el denominador |
| Tratamiento | qué se hizo, con el criterio declarado (no "se limpió") | «se limpiaron los datos» — ¿cómo? ¿bajo qué regla? |
| Riesgo residual | qué queda vivo, cuánto puede doler, y a quién hay que preguntarle | dejarlo vacío, o poner «se recomienda revisar» |
Ejemplo terminado, proyectado en grande (se lee en voz alta, entero, una sección por lámina):
El mismo cliente aparece hasta seis veces distintas en el libro de ventas, así que el ranking de clientes está partido y ningún cliente aparece con su venta completa.
El archivo contiene 100 formas de escribir el nombre de 18 clientes y 74 formas de escribir el RUT de los mismos 18. Normalizando sólo el texto (mayúsculas, espacios, punto final) quedan todavía 24 formas; agrupando por RUT normalizado cierra en 18. El cliente más afectado es Constructora Vilches S.A., con 6 escrituras y CLP 1.340,6 millones de venta que hoy aparecen repartidos.
(SELECT COUNT(DISTINCT cliente), COUNT(DISTINCT rut_cliente) FROM ventas;→100 | 74)
Se agrupa por RUT normalizado —quitando puntos, guion y espacios, y llevando el dígito verificador a mayúscula— y el nombre para mostrar se toma del maestro de clientes. Criterio declarado: el nombre no se usa nunca como llave de agrupación.
El maestro contiene el RUT 96.701.443-5 dos veces, con segmento contradictorio (Minería e Industrial), lo que duplica 294 líneas al unir. Y 15 de los 18 RUT no pasan el control de dígito verificador, por lo que ninguno puede validarse contra el SII sin corregirse antes. Ambos puntos requieren confirmación del ejecutivo comercial y de Administración de Ventas antes de publicar el ranking.
Regla de las cifras, en la pizarra:
CLP 1.340,6 millones, 24,59 %. En el código, punto decimal. No se mezclan.Y la exigencia que hace accionable el informe, dicha con todas sus letras:
Cada hallazgo lleva su cifra medida y el nombre del rol al que hay que preguntarle. Un informe de calidad sin destinatarios no es accionable: es una queja ordenada.
Contraejemplo obligatorio, proyectado 30 segundos:
«Se revisaron los datos y se encontraron algunos valores atípicos y datos faltantes que fueron tratados adecuadamente para asegurar la calidad del análisis.»
«Esto tiene 24 palabras y cero información. No dice cuántos, no dice cuáles, no dice qué se hizo, no dice qué queda. Y sin embargo se ve profesional. Ése es el peligro: la prosa vacía se ve igual que la prosa buena hasta que la lees. Es exactamente lo que la IA produce por defecto.»
Hilo 3 — salir de Excel: «El informe se entrega en texto o en PDF, nunca en .xlsx, y no es capricho: un .xlsx invita a que el que lo recibe recalcule la celda y te devuelva otro número. Lo que se entrega es la conclusión con su consulta al lado. La planilla es donde se trabaja; el informe es donde se responde.»
Primero el inventario: tres láminas seguidas, y se dejan a la vista todo el taller (están en el deck y en el sitio del curso: nadie escribe sin material). Cinco semanas de trabajo, un cuadro. Los estudiantes eligen de aquí.
| # | Hallazgo | Cifra medida | Tipo | A quién se le pregunta |
|---|---|---|---|---|
| 1 | Cliente escrito de muchas formas | 100 formas · 18 clientes (RUT: 74 · 18) | ambiguo → información | KAM / Adm. de Ventas |
| 2 | Segmento y región con variantes | 23 formas · 5 segmentos · 62 formas · 14 regiones | información | Adm. de Ventas |
| 3 | El JOIN por RUT sin normalizar | pega 3.641 de 6.000 líneas (60,7 %) | error de método | — (se corrige) |
| 4 | Cliente duplicado en el maestro | el JOIN devuelve 6.195 filas de 6.000 · Punta Verde pasa de 294 a 588 | error del maestro | KAM de la cuenta |
| 5 | Cliente ausente del maestro | Salmonera Chiloé: 99 líneas · 49 facturas · CLP 85,3 MM | error del maestro | Cuentas por Cobrar |
| 6 | Clientes sin región en el maestro | 774 líneas afectadas (Comercial Ñuble 415 · Constructora Aysén 359) | error del maestro | Adm. de Ventas |
| # | Hallazgo | Cifra medida | Tipo | A quién se le pregunta |
|---|---|---|---|---|
| 7 | Condición de pago fuera de catálogo | 368 líneas: 233 a 45 d (existe, no vigente) + 135 a 120 d (no existe) · las 346 en CLP suman 538,3 MM | error de gobierno | Tesorería / GAF |
| 8 | Fechas de emisión en dd/mm/yyyy | 21 líneas (0,35 %) que el CAST vuelve NULL en silencio | error de captura | Adm. de Ventas / TI |
| 9 | Facturas en USD sin tipo de cambio | 89 de 395 (22,5 %); 2 caen en días que faltan en la serie | error de captura | Control de Gestión |
| 10 | Venta sumada sin consolidar moneda | brecha de CLP 695,7 MM (7,6 %) entre suma ciega y consolidada | error de método | Control de Gestión |
| # | Hallazgo | Cifra medida | Tipo | A quién se le pregunta |
|---|---|---|---|---|
| 11 | Cartera abierta | 639 líneas · 324 facturas sin fecha de pago (530 sin notas de crédito) | información | Cuentas por Cobrar |
| 12 | Líneas a precio cero | 43 líneas · CLP 56,2 MM entregados a costo | ambiguo | Gerencia Comercial |
| 13 | Notas de crédito | 109 líneas · 54 facturas · 219,0 MM de venta bruta (2,34 %), suma sin consolidar moneda — ver hallazgo 10 | información | Contador / CxC |
| 14 | Venta de línea atípica | 389 de 5.500 (7,07 %) sobre la valla de CLP 4.195.446 | información | Adm. de Ventas |
| 15 | Mora extrema | 455 facturas pagadas a más de 37 días del vencimiento | información | Tesorería |
| 16 | RUT sin dígito verificador válido | 15 de 18 no pasan módulo 11 | error de fuente (dataset sintético, declarado) | — |
| — | ¿El dato está vigente? | la condición a 45 días existe y ya no está vigente (hallazgo 7) · el dólar observado publicado hoy es del día hábil anterior (clase 04) | dato obsoleto | Tesorería / Control de Gestión |
«La última fila no lleva número porque no es un hallazgo más: es la pregunta que se le hace a los dieciséis. Un dato puede estar bien escrito, bien tipado y bien unido, y estar obsoleto — y un número obsoleto se informa igual de convencido que uno errado. Vigencia: de qué día es, y hasta cuándo sirve.»
«Dieciséis hallazgos. Su informe tiene una página y no caben. Y ésa es la primera decisión profesional del entregable: ¿cuáles tres van arriba? No los tres más numerosos: los tres que más cambian una decisión.»
Y ahora se escribe. Individual, sobre los hallazgos ya medidos: 3 hallazgos, 4 secciones cada uno.
El docente circula con el sello de editor y hace dos pasadas, en este orden y sin mezclarlas:
Meta del bloque: que cada estudiante salga con el primer hallazgo completo escrito de su puño y el esqueleto de los otros dos. El informe se termina en trabajo autónomo y se entrega el sábado 23:59, con el protocolo de IA y el anexo de declaración (ver la sección de sacrificios, al final).
Éste es el bloque que convierte dos sesiones en una clase. Se dicta de pie, sin proyectar SQL.
«Tu informe dice qué hay que limpiar. ¿Con qué herramienta lo haces cuando el archivo tenga 810.000 líneas y no 6.000?»
Dejar 60 segundos. Van a decir «con la misma». Y ahí la vuelta:
«Puede ser. Pero fíjense en lo que acaban de escribir: cada tratamiento del informe es una operación sobre todas las filas —normalizar 100 nombres, rescatar 89 tipos de cambio, separar 639 líneas de cartera. Hoy eso corre en un archivo de 1,4 megas. El escenario del parcial dice 300.000 registros nuevos al mes durante dos años.
El informe no cambia cuando el archivo crece: cambia la herramienta con la que se ejecuta. Y esa elección hay que justificarla por escrito, porque es el requisito 3 del Parcial 1. En los próximos cuarenta minutos la justificamos con una división y con 810.000 líneas cargando delante de ustedes.»
Proyectar el escenario del Parcial 1 textual, tal como viene en el enunciado oficial: la empresa suma 300.000 registros nuevos al mes y hay que sostener el análisis dos años, con parte del equipo trabajando sólo en Excel.
Y ahora la aritmética, hecha con ellos en la pizarra. Nadie dicta nada:
SELECT 300000 AS filas_por_mes, 24 AS meses, 300000 * 24 AS filas_en_dos_anios, 1048576 AS techo_de_una_hoja_excel, CEIL(1048576.0 / 300000) AS mes_en_que_revienta; -- 300000 | 24 | 7.200.000 | 1.048.576 | 4
Los tres números, escritos grandes:
7.200.000 filas proyectadas. 1.048.576 filas de techo. Y el techo se cruza en el mes 4.
«Esto no es una opinión sobre Excel. Es una división. La hoja de cálculo tiene un límite duro y está publicado: 1.048.576 filas. Con 300 mil al mes, en el cuarto mes el archivo ya no cabe en una hoja.»
Y la palabra que va escrita en el informe: suficiencia.
«Lo que acaban de hacer no es criticar Excel: es evaluar la suficiencia de una herramienta frente a un volumen declarado. Suficiente o insuficiente se demuestra con una división, no con una opinión. Así se escribe en el párrafo del requisito 3: la hoja de cálculo es insuficiente para este escenario, porque los 7.200.000 registros proyectados a dos años superan su techo de 1.048.576 y lo cruzan en el mes 4.»
La demo. El momento no verbal de la semana. Se hace despacio y sin adornos.
Primero, el archivo. Mostrar el peso en disco antes de tocarlo:
ventas_extracto.csv — 1,4 MB, 6.000 filas. El que usan hace seis semanas.ventas_full.csv.gz — 24,0 MB comprimido, y 189,8 MB descomprimido (189.774.517 bytes). La planilla maestra.«Ciento noventa megas. Excel no lo abre. Y no lo vamos a descomprimir.»
SELECT COUNT(*) AS lineas, COUNT(DISTINCT numero_factura) AS facturas FROM read_csv_auto('datos/finanzas/ventas_full.csv.gz'); -- 810.000 | 403.675
Silencio de cuatro segundos. (Medido en la máquina del docente: 1,2 segundos. En el laboratorio puede ser el doble; da igual, el punto se sostiene.)
«Ochocientas diez mil líneas. Cuatrocientas tres mil seiscientas setenta y cinco facturas. Leídas comprimidas, sin descomprimir el archivo, en el tiempo que demoré en decir esta frase.»
Y ahora una pregunta de gerente de verdad, sobre las 810.000:
SELECT upper(strip_accents(trim(segmento))) AS segmento, COUNT(*) AS lineas, ROUND(SUM(cantidad * precio_unitario) / 1e9, 1) AS venta_miles_de_MM_clp FROM read_csv_auto('datos/finanzas/ventas_full.csv.gz') WHERE moneda = 'CLP' GROUP BY 1 ORDER BY venta_miles_de_MM_clp DESC; -- INDUSTRIAL | 211.355 | 355.4 -- RETAIL | 195.260 | 344.7 -- CONSTRUCCION | 196.955 | 330.8 -- MINERIA | 116.035 | 179.6 -- PUBLICO | 37.074 | 56.9
(0,7 segundos en la máquina del docente.)
Y el remate honesto, que es el que enseña:
«Esto no significa que DuckDB sea "mejor" que Excel. Significa que para esta pregunta, con este volumen, es la herramienta correcta. Elegir según la pregunta y no según la costumbre: eso es RA1, y eso es lo que se evalúa en el requisito 3 del parcial.»
Cero minutos de núcleo. La demo de las 810.000 líneas ya hizo el trabajo. Esto existe para que quede en el notebook y para el que pregunte «¿y esto pasa sólo con los datos del curso?».
La respuesta es no, y se muestra en una consulta. El panel de Global Macro Data son 239 países, 65 años y 31 variables macro, publicado por investigadores a partir de fuentes oficiales:
bd.macro()
SELECT COUNT(*) AS filas, COUNT(DISTINCT ISO3) AS paises, MAX(year) - MIN(year) + 1 AS anios FROM macro; -- 16335 | 239 | 71
16.335 filas caben en una hoja de cálculo. No es un problema de techo. El problema es otro, y es el que importa para el requisito 3:
«Estas 16.335 filas sí entran en Excel. Pero son 31 columnas por 239 países. Contesten
esto con una tabla dinámica: ¿en qué años la tasa de política monetaria de Chile subió mientras
la inflación ya estaba bajando? En SQL son cuatro líneas. Con filtros y tablas dinámicas, son
veinte minutos y no queda registro de cómo lo hicieron.»
SELECT year, ROUND(infl, 1) AS inflacion, ROUND(cbrate, 2) AS tpm FROM macro WHERE ISO3 = 'CHL' AND year BETWEEN 2019 AND 2024 ORDER BY year; -- 2022: inflación 11,6 y TPM 11,25 · 2024: inflación 4,3 y TPM 5,00
La suficiencia tiene dos caras y hoy vieron las dos: el techo de filas, que es una división; y la reproducibilidad, que es el criterio con peso ×3 de la matriz. Un archivo que cabe en Excel puede seguir siendo insuficiente si la respuesta que produce no se puede auditar.
Fuente: Global Macro Data (globalmacrodata.com), bajada el 02-09-2026. Se cita cada vez que se proyecta — de dónde salió el dato es parte del dato.
Decirlo de frente al empezar:
«Excel vuelve hoy. Es la segunda y última vez del semestre, y no volvemos a usarlo: volvemos a analizarlo. Porque despreciar una herramienta que usan cuatro millones de personas en este país no es criterio profesional, es pereza. Vamos a compararlo con argumentos y va a ganar en varias celdas. Y hay que decirlo cuando gane.»
La matriz, proyectada e impresa. Se completa DE A PARES, con puntaje de 1 a 5 por celda y un ganador argumentado:
| Criterio (peso) | Excel | DuckDB / SQL | Python / pandas | Power BI |
|---|---|---|---|---|
| Volumen (×3) | ||||
| Reproducibilidad (×3) | ||||
| Costo y licencias (×1) | ||||
| Curva de aprendizaje del equipo (×2) | ||||
| Publicación y colaboración (×1) |
Antes de que empiecen, tres reglas del ejercicio:
Plenaria (8 min de los 20): dos pares defienden su ganador y el docente juega al abogado del diablo de cada opción. Los argumentos que hay que forzar si no aparecen solos:
La respuesta de nivel 100 % —la que da los puntos en la rúbrica— tiene tres partes y hay que dictarla así:
1) Una herramienta principal para preparar y escalar el dato, elegida contra las restricciones del escenario (volumen y reproducibilidad). 2) Un complemento declarado para lo que la principal hace mal (publicar, o automatizar). 3) Un puente para el equipo que no va a migrar: exportar el resultado a CSV o a Excel, con una sola fuente de verdad. Nadie recalcula nada en su copia.
«Fíjense en la parte 3, porque es la que casi todo el mundo olvida y es la más profesional de las tres: no se gana la discusión obligando al equipo a aprender tu herramienta. Se gana entregándoles el resultado en el formato que ya usan, con la garantía de que nadie lo va a recalcular por su cuenta.»
Validación externa de la matriz, dicha en 2 minutos (baja ansiedad y evita que la matriz parezca invento del profesor). Se proyecta la lámina de criterios del material oficial de la asignatura (1.3.1_Presentación_Selección y justificación de la herramienta), que propone seis:
| El material oficial propone | Nuestra matriz |
|---|---|
| Facilidad de uso | Curva de aprendizaje del equipo (×2) |
| Compatibilidad con el sistema existente | Publicación y colaboración (×1) |
| Capacidades de análisis | Volumen (×3) |
| Comparación de costos | Costo y licencias (×1) |
| Escalabilidad | dentro de Volumen |
| Soporte y comunidad | — no está |
| — | Reproducibilidad (×3) — la agregamos nosotros |
«Cuatro de los seis criterios oficiales están en la matriz con otro nombre. El que no está —soporte y comunidad— es real, pero para una decisión interna de Finanzas pesa poco. Y agregamos uno que el material oficial no tiene: reproducibilidad, con peso ×3. Ésa es la diferencia entre elegir una herramienta y elegirla para un cierre contable que alguien va a auditar.»
Hilo 3 — salir de Excel rápido, dicho completo hoy y cerrado. El veredicto se dice en clase, no en la casa:
«Nos salimos de Excel en la clase 02 y no volvimos. La razón no era la velocidad, y esto es lo importante: en Excel, el margen de Fijaciones sale −13,22 % con una tabla dinámica perfectamente bien hecha. No es un problema de herramienta lenta: es un problema de modelo. Ninguna herramienta te salva de un modelo mal declarado. Ésa es la clase 09 y ése es el corazón del semestre.»
Los dos roles en la misma lámina. Las dudas concretas, escritas en la pizarra:
Gerente de Administración y Finanzas: «¿Cuál de estos dieciséis hallazgos impide publicar el reporte del directorio la semana que viene?» Y después: «¿cuánto cuesta al año la herramienta que me recomiendas y quién lo aprueba?»
Jefatura de TI: «¿Quién firma la licencia, quién la instala y qué pasa cuando el analista se va?»
«Fíjense en la primera. El GAF no te va a preguntar cuántos hallazgos encontraste. Te va a preguntar cuáles bloquean y cuáles se pueden convivir, y va a decidir con eso. Miren la diferencia entre el hallazgo 7 y el 13: el 7 —538 millones de crédito a plazos que Finanzas no autorizó— es de él: es su política, incumplida. El 13 —las notas de crédito— es información normal que sólo hay que tratar bien. Los dos son hallazgos correctos. Uno le arruina la semana y el otro no. Si los pones al mismo nivel, tu informe no lo ayuda a priorizar y tú acabas de convertirte en ruido.»
«Y la segunda es la que hace que una recomendación técnica correcta muera en una reunión. La jefatura de TI pregunta si se puede instalar en el parque de máquinas, si pasa las políticas de seguridad, quién le da soporte, y —la peor de todas— qué pasa con esto cuando el analista que lo montó se va de la empresa. Si su recomendación no responde eso, no es una recomendación: es una preferencia. Y por esoherramientas/consola-sql.pyexiste en este curso: porque en la mitad de los laboratorios y en la mitad de las empresas no te van a dar permisos de administrador. Una herramienta que no se puede instalar es una herramienta que no existe.»
A quién se le pregunta, hoy:
| Rol | Qué hace con tu entregable |
|---|---|
| Gerente de Administración y Finanzas | lee el informe, prioriza, autoriza el tratamiento y asume el riesgo residual que tú escribiste · aprueba el costo anual de la herramienta |
| Jefatura de TI | ¿se puede instalar? ¿pasa las políticas? ¿quién le da soporte? |
| ¿Quién mantiene esto cuando el analista se va? | los dos, y por escrito |
| Control de Gestión | ejecuta la corrección de tipo de cambio y de consolidación |
| Administración de Ventas | corrige el maestro y el catálogo |
| Tesorería | responde por las condiciones fuera de catálogo y por la mora |
| Gerencia Comercial | responde por el precio cero |
Hilo 2 — dónde vive esto en la organización: «Este documento existe de verdad y tiene nombre: es el correo que el área que arma el reporte mensual manda antes de mandar el reporte. Y el área casi nunca elige su herramienta sola: la elige con TI y la paga Finanzas. Saber presentar la decisión a esas dos audiencias a la vez es, literalmente, la diferencia entre que tu propuesta se apruebe o se archive. Y en Duoc: éste es el primer entregable del semestre que sirve tal cual en el portafolio de título.»
Construida con ellos:
Ticket TC06 (3 min, se proyecta): a) ¿Qué parte del informe de calidad es la que decide la herramienta? Una frase. b) Escribe el hallazgo de «100 formas de razón social donde hay 18 clientes» con su evidencia, y di qué criterio de la matriz cambia de ganador cuando el archivo pasa de 6.000 a 810.000 líneas. c) 1–5 y qué te falta.
Las tres tareas del sábado 23:59, dictadas y anotadas (detalle en la sección de sacrificios):
ia/plantilla-declaracion.md).Anuncio del simulacro, dicho con calma y sin dramatizar:
«La próxima clase es el simulacro del Parcial 1. Mismo formato, mismo tiempo, misma rúbrica — y con datos más sucios que los del parcial de verdad, y de otro sector a propósito, para que quede claro que no están memorizando este caso.
No lleva nota. Y les hago la promesa completa del curso: si hoy entendieron la matriz y esta semana escriben el informe, el parcial les va a parecer más fácil que el simulacro. Ése es todo el diseño.»
Pregunta que queda planteada (se escribe en la pizarra y no se responde hoy):
→ Herramienta elegida, dato obtenido, calidad medida. Frente a un archivo que nunca viste y dos horas de reloj, ¿en qué orden atacas?
Tres minutos. No suma nota. Sirve para armar la apertura de la próxima clase.
El notebook de esta clase:
https://gaa1104.vercel.app/notebooks/clase-06.ipynb