Sabes por qué una planilla "maestra" deja de servir aunque Excel la abra sin problema, y viste con tus ojos dos números que deciden plata y que esa planilla no puede darte.
El notebook de esta clase: https://gaa1104.vercel.app/notebooks/clase-01.ipynb
Ing. en Administración · mención Finanzas · Prof. Tomás Fernández
Hoy se lee una planilla y se discute su forma. Un gráfico ahora taparía la pregunta.
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.
«Un cliente te compra mil millones de pesos al año y nunca te ha quedado debiendo.
¿Es un buen cliente?»
La idea central, dicha una vez y despacio:
«Todo número de gestión nació como una fila en un sistema operativo. El EBITDA que discute
un directorio, el ratio que mira el banco antes de prestarte, la utilidad del año. Todos
empiezan en un documento chico y repetido: una factura.»
La cadena, en lámina, de arriba abajo:
| Lo que lee el mercado | ← de dónde sale |
|---|---|
| Resultado del ejercicio publicado en la CMF | de los estados financieros |
| Estados financieros | del mayor contable |
| Mayor contable | de los asientos |
| Asientos | de una factura |
Las cifras del archivo, proyectadas:
| Líneas de factura | 6.000 |
|---|---|
| Facturas | 2.951 |
| Período | 2022–2024 |
| Columnas | 22 |
| La versión real de la empresa | 810.000 líneas |
| Grupo | De quién es la pregunta |
|---|---|
fecha_emision numero_factura rut_cliente cliente | Administración de ventas |
segmento region_cliente canal vendedor centro_costo | Gerencia comercial |
sku descripcion_producto linea_negocio cantidad | Control de gestión |
precio_unitario costo_unitario moneda tipo_cambio descuento_factura flete_despacho | Finanzas |
condicion_pago_dias fecha_vencimiento fecha_pago | Tesorería |
Ahora la pregunta del gerente, leída despacio, una sola vez:
«¿Cuál es mi margen bruto por línea de negocio, trimestre a trimestre, y cuánto de eso todavía no lo he cobrado?»
«Todo eso está bien pensado. Y las cuatro cosas que dijeron dan el número equivocado. No por torpeza: por la forma de los datos. Ese es el problema de este semestre.»
Pararse, estirar, subir la luz un segundo. Clase nocturna: el cuerpo también aprende.
.pbix de este semestre son material de portafolio de título.Idea que va a volver todas las clases del semestre.
«La pregunta que hizo el gerente no la responde el que sabe la herramienta. La responde el
que sabe qué significa cada columna en esta empresa. Y esa persona casi nunca sabe SQL.»
| Duda del dato | Quién tiene la respuesta |
|---|---|
| ¿Esta cantidad negativa es un error o una devolución? | Contabilidad |
| ¿Este cliente y este otro son el mismo? | El ejecutivo comercial |
| ¿Por qué este sector paga a 90 días? | Tesorería |
| ¿Este precio en 0 es error o es una muestra? | Gerencia comercial |
La regla del curso, se escribe en la pizarra y se queda:
Una consulta sin una conversación previa es una opinión con formato de tabla.
Y el cierre del hilo, dirigido a su carrera:
«Ustedes van a terminar sabiendo las dos cosas: el negocio y la herramienta. Ese es el perfil que las empresas no encuentran, y es la razón por la que este ramo está en su malla y no en la de informática.»
GROUP BY?». Sí — nivel 2: declaras y validas. Lo que no puedes es entregar lo que no entiendes.El momento de la sesión. Volver a la pizarra, a la pregunta del principio, y leerla otra vez.
«Un cliente te compra mil millones al año y nunca te ha quedado debiendo. ¿Es buen cliente?»
Y ahora sí: proyectar el resultado. Se corre en vivo, aunque nadie entienda todavía la consulta — el punto no es el SQL, es que el número existe.
-- Se corre tal cual. Hoy no se explica: se muestra. WITH cabecera AS ( SELECT numero_factura, ANY_VALUE(descuento_factura) AS descuento, ANY_VALUE(flete_despacho) AS flete, SUM(cantidad * precio_unitario) AS venta_factura FROM ventas WHERE moneda = 'CLP' GROUP BY numero_factura ) SELECT upper(strip_accents(trim(replace(replace(v.cliente,' ',' '),'.','')))) AS cliente, ROUND(SUM(v.cantidad * v.precio_unitario) / 1e6) AS venta_mm, ROUND(100.0 * (SUM(v.cantidad * v.precio_unitario) - SUM(v.cantidad * v.costo_unitario) - SUM((v.cantidad * v.precio_unitario / NULLIF(c.venta_factura,0)) * (c.descuento + c.flete))) / SUM(v.cantidad * v.precio_unitario), 1) AS margen_pct, ROUND(AVG(DATE_DIFF('day', TRY_CAST(v.fecha_emision AS DATE), TRY_CAST(v.fecha_pago AS DATE)))) AS dias_de_cobro FROM ventas v JOIN cabecera c USING (numero_factura) WHERE v.moneda = 'CLP' GROUP BY 1 ORDER BY venta_mm DESC LIMIT 4;
Lo que aparece, y lo que hay que decir de cada línea:
| Cliente | Vende | Margen | Paga en |
|---|---|---|---|
| Constructora Vilches S.A. | $1.341 MM | 26,5 % | 75 días |
| Ferretería Los Andes Ltda. | $1.012 MM | 26,8 % | 61 días |
| Minera Altos del Loa SpA | $986 MM | 15,3 % | 59 días |
| Comercial Ñuble SpA | $711 MM | 25,3 % | 53 días |
Primer golpe — el que compra mucho y deja poco:
«Minera Altos del Loa vende casi lo mismo que Ferretería Los Andes. Pero deja 15,3 % de margen cuando el resto de la cartera deja 25,7 %. Son 10,4 puntos de diferencia.»
Escribir en la pizarra:
$102.624.455 — el margen que Minera Altos del Loa no deja, comparada con el resto.
Segundo golpe — el que paga siempre, pero tarde:
«Constructora Vilches es el cliente más grande y nunca ha quedado debiendo. Paga a 75 días. Su condición pactada eran 30. Son 45 días de plata tuya financiando a otro.»
-- El costo de esperar: 45 días de más, al 12% anual SELECT ROUND(1340553999 * 0.12 * 45 / 365) AS costo_financiero_clp; -- 19.832.854
Escribir en la pizarra, debajo del anterior:
$19.832.854 al año — lo que cuesta financiar al mejor cliente.
Y el cierre, mirando a la sala:
«Ninguno de esos dos números está en la planilla. Los dos deciden plata. Y los dos salen del
mismo archivo que acaban de ver — el que Excel abre sin ningún problema.
Eso es lo que van a aprender a hacer este semestre. No la herramienta: el número.»
Queda planteado (se escribe en la pizarra y no se responde):
→ ¿Qué hace que una planilla deje de servir: el volumen o la forma?
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-01.ipynb