← Volver al Knowledge Base Caso Integral Nº 08 · Finanzas Corporativas + BI

La caja que tarda 387 días en volver: el ciclo de conversión de efectivo de Ranieri S.A.

Una fábrica de anteojos que gana 55 centavos de margen bruto por cada peso vendido cerró el año con pérdida y destruyendo valor. La explicación no está en lo que vende, sino en el tiempo que su plata pasa atrapada. Lo desarmamos pieza por pieza, con un simulador para tocarlo vos mismo, y la solución concreta en Excel (matrices dinámicas) y Power BI (DAX).

Capital de Trabajo McKinsey Valuation 8ª Ed. DIO · DSO · DPO LET · LAMBDA · SCAN · AGRUPARPOR Buenas prácticas FAST Power BI · DAX
01 · La paradoja

Gana en cada venta. Y, aun así, pierde plata.

Imaginá una fábrica argentina de anteojos. La llamaremos Ranieri S.A. (los números son reales; el nombre, prestado). El año pasado vendió $8.470 millones y, de cada peso que facturó, le quedaron 55 centavos de margen bruto después de pagar la materia prima. Es un margen industrial envidiable: la mayoría de las fábricas sueña con la mitad.

Y sin embargo, ese mismo año, Ranieri cerró con una pérdida neta de $570 millones. Su rentabilidad sobre el patrimonio (ROE) fue de −13,5%: por cada $100 que los dueños tienen invertidos, la empresa les quemó $13,50.

La pregunta es inevitable, y casi todo el mundo la responde mal: ¿cómo puede una empresa ganar en cada venta y perder plata al final del año?

La respuesta fácil (y equivocada)

"Es por los costos financieros". Cierto que los intereses pagados ($422 millones) se comieron toda la ganancia operativa. Pero eso es el síntoma, no la enfermedad. La pregunta real es: ¿por qué Ranieri necesitaba tanta deuda para funcionar? Y ahí aparece el verdadero culpable, que no vive en el estado de resultados sino en el balance: el tiempo.

Toda la plata de Ranieri vive secuestrada en un viaje larguísimo: entra como materia prima, se transforma en anteojos, espera meses en un depósito, se vende a crédito, y recién muchísimo después vuelve a la caja convertida en efectivo. Ese viaje tiene un nombre técnico —Ciclo de Conversión de Efectivo— y en Ranieri dura 387 días. Más de un año. Eso significa que la empresa tiene que financiar más de doce meses de operación antes de recuperar el dinero. Y financiar plata en Argentina es caro.

Este caso trata de ese viaje: qué es, por qué importa más que el margen, cómo se mide, cómo se conecta con todo lo demás —rentabilidad, deuda, riesgo de quiebra— y, sobre todo, qué se puede hacer al respecto. Lo vamos a explicar para que lo entienda cualquiera, pero sin perder un gramo de rigor profesional.

02 · El concepto, en palabras simples

El viaje de un peso: qué es el Ciclo de Conversión de Efectivo

Seguí mentalmente a un solo peso desde que entra a la fábrica. Hace tres paradas:

1 · Inventario

El peso se vuelve materia prima y producto terminado. Duerme en el depósito hasta que se vende.

+
2 · Cobranza

Se vende, pero a crédito. El cliente promete pagar. El peso todavía no volvió.

3 · Proveedores

Buena noticia: a tus proveedores les pagás tarde. Mientras les debés, ellos financian tu viaje gratis.

Cada parada se mide en días, y cada una tiene su sigla en inglés que conviene conocer porque es el idioma universal de las finanzas:

  • DIO (Days Inventory Outstanding) — los días que la mercadería pasa guardada antes de venderse. Cuanto más alto, peor: plata dormida.
  • DSO (Days Sales Outstanding) — los días que tardan los clientes en pagarte después de comprar. Cuanto más alto, peor: les prestaste sin cobrar interés.
  • DPO (Days Payable Outstanding) — los días que vos tardás en pagarle a tus proveedores. Cuanto más alto, mejor (dentro de lo sano): es financiación gratis.
' La fórmula que une todo el viaje en un solo número: CCE = DIO + DSO − DPO ' Días que tu plata pasa "afuera" antes de volver convertida en efectivo.
Por qué se calcula así (la intuición)

Sumás lo que tardás en vender (DIO) más lo que tardás en cobrar (DSO): ese es el tiempo total que tu plata está afuera. Pero a una parte de ese viaje no la financiás vos, sino tus proveedores, mientras les debés (DPO). Por eso se resta. El resultado es cuántos días tenés que poner plata propia (o prestada) para sostener la rueda. Si te da negativo —como en Amazon o Mercado Libre— el modelo de negocio se financia solo: cobrás antes de pagar. Si te da 387, como Ranieri, financiás más de un año.

03 · El diagnóstico de Ranieri

Tres números que lo explican todo

Vamos a calcular cada parada con los datos reales del balance al 31/12/2025. Cada fórmula traduce un saldo del balance (un "stock" de plata) en un tiempo (cuántos días representa). El truco es dividir el saldo por cuánto se mueve por día.

ParadaCálculo (con datos de Ranieri)ResultadoLectura
DIOInventario $5.025M ÷ (CMV $3.782M / 365)485 díasCrítico
DSOCobrar $1.369M ÷ (Ventas $8.470M / 365)59 díasSano
DPOProveedores $1.628M ÷ (CMV $3.782M / 365)157 díasAprovecha
CCE485 + 59 − 157387 díasMás de un año

Detengámonos en el número que grita: DIO = 485 días. Ranieri tiene casi año y medio de mercadería guardada. El inventario son $5.025 millones: el 68% de todo el activo de la empresa es mercadería dormida en un depósito. Para una fábrica de anteojos —un producto que ni se vence ni cambia de moda cada semana— eso no es prudencia, es plata enterrada.

Un detalle técnico que casi nadie respeta

Fijate que el inventario y las cuentas por pagar se dividen por el costo de la mercadería vendida (CMV), mientras que las cuentas por cobrar se dividen por las ventas. ¿Por qué? Porque el inventario y la deuda con proveedores están valuados a costo, y las cuentas por cobrar están valuadas a precio de venta (incluyen el margen). Mezclar las bases —error habitual en planillas hechas a las apuradas— infla o desinfla el ciclo y lleva a decisiones equivocadas. El rigor está en los detalles.

De días a pesos: cuánta plata queda atrapada

Los días son abstractos. Llevémoslos a plata. Cada parada inmoviliza un monto:

' Capital de trabajo atrapado en el ciclo operativo: Inventario = 485 días × ($3.782M/365) = $5.025 M (plata dormida) + Por cobrar = 59 días × ($8.470M/365) = $1.369 M (plata prestada a clientes) − Proveedores = 157 días × ($3.782M/365) = $1.628 M (plata que te financian) = CAPITAL ATRAPADO ≈ $4.766 M

Casi $4.766 millones viven secuestrados en el ciclo. Para dimensionarlo: es 23 veces el EBITDA de la empresa ($204M). Esa plata hay que financiarla todos los días, llueva o truene, con deuda bancaria, con planes de la ARCA o con capital propio que podría estar generando renta en otro lado.

04 · La interrelación

Cómo un depósito lleno termina en un ROE negativo

Acá está el corazón del caso, y la razón por la que las finanzas corporativas se entienden como un sistema y no como casilleros sueltos. Seguí la cadena de dominó:

[DEPÓSITO LLENO] DIO de 485 días → $5.025M de plata dormida ↓ [NECESIDAD DE FINANCIAMIENTO] $4.766M atrapados que alguien tiene que pagar ↓ [COSTO FINANCIERO] Intereses $422M > EBITDA $204M ↓ [RESULTADO NETO] Pérdida de $570M ↓ [DESTRUCCIÓN DE VALOR] ROE −13,5% · Altman Z' 2,67 (zona gris)

Cada eslabón es una pieza distinta del análisis financiero, y todas cuelgan del primero:

↳ Se conecta con el ROE (análisis DuPont)

El método DuPont descompone la rentabilidad del accionista en tres motores: margen × rotación de activos × apalancamiento. La rotación de activos mide cuántas ventas generás por cada peso invertido. Con $5.025M dormidos en inventario, esa rotación se desploma: la empresa carga un activo enorme que casi no produce. El inventario excesivo ataca directamente el segundo motor del ROE.

↳ Se conecta con el apalancamiento (DOL y DFL)

Ranieri tiene un apalancamiento operativo (DOL) de 13,3x: una estructura de costos fijos altísima que amplifica todo. Y como los intereses superan a la ganancia operativa, el apalancamiento financiero (DFL) se vuelve negativo: la deuda dejó de potenciar al accionista y empezó a aplastarlo. La deuda que se tomó para financiar el inventario es la misma que hunde el resultado.

↳ Se conecta con el riesgo de quiebra (Altman Z)

El Z' de Altman da 2,67: zona gris. Curiosamente, el inventario gigante infla artificialmente uno de sus componentes (capital de trabajo / activos), haciendo que la empresa parezca más segura de lo que está. Es una trampa: el mismo activo que la pone en riesgo la disfraza de sólida.

↳ Se conecta con el contexto argentino

En un país con tasas en pesos por encima del 40% anual, cada día de ciclo es brutalmente caro. La desinflación de 2025 (de 31,5% hacia un 20% esperado en 2026) ayuda, pero no salva: la enfermedad de Ranieri no es la macro, es su propio depósito. La macro solo decide cuánto duele.

La tesis disruptiva del caso

El margen es una opinión; el ciclo de caja es la verdad. El estado de resultados te dice que ganás plata en cada venta. La cuenta bancaria te dice otra cosa. El Ciclo de Conversión de Efectivo es el puente entre ambos: traduce el tiempo en pesos, los pesos en intereses, y los intereses en pérdida. Quien gobierna el ciclo, gobierna la caja —y quien gobierna la caja, sobrevive.

05 · Tocá las variables vos mismo

Simulador: el viaje de la caja, en vivo

Acá podés ser el CFO de Ranieri por cinco minutos. Mové los días de cada parada y la tasa de financiamiento, y mirá cómo se reacomoda todo: cuánta plata queda atrapada, cuánto cuesta sostenerla, y si el resultado del año se da vuelta. Empezá con el botón "Ranieri hoy" y después probá "Meta sana" para ver el potencial.

387
CCE (días)
$4.766M
Capital atrapado
$1.668M
Costo del ciclo / año
−$1.464M
Resultado del ciclo
Cargando…

El "resultado del ciclo" compara el EBITDA real de Ranieri ($204M) contra el costo de financiar el capital atrapado. Es una simplificación didáctica para aislar el efecto del ciclo: mantiene fijas las ventas y el CMV reales, y mueve solo los días. Sirve para ver la palanca, no para reemplazar el modelo completo.

06 · La solución en Excel

Un motor de ciclo con matrices dinámicas (sin una sola celda arrastrada)

Acá viene la parte de ingeniería. Vamos a construir el motor del ciclo con el motor de cálculo de matrices dinámicas de Excel 365: fórmulas que se "derraman" solas, sin copiar y pegar, sin rangos rotos, sin VBA. Y lo hacemos respetando las buenas prácticas de modelado FAST (modelo Flexible, Apropiado, Estructurado y Transparente): los datos de entrada (azules) viven separados de los cálculos, cada cálculo cuenta una sola idea, y el flujo se lee de arriba hacia abajo. Eso es disciplina de construcción; la metodología analítica sigue siendo la de McKinsey/BCG.

El ciclo completo en una sola celda con LET

LET nos deja nombrar resultados intermedios y razonar como en un pizarrón: cada línea es un paso con nombre. Una sola fórmula calcula DIO, DSO, DPO y CCE, y los derrama etiquetados.

=LET( ventas; INPUTS!$C$10; ' ventas netas del año cmv; INPUTS!$C$11; ' costo de mercadería vendida inv; INPUTS!$C$30; ' inventario (balance) cxc; INPUTS!$C$28; ' créditos por ventas prov; INPUTS!$C$40; ' proveedores ventaDia; ventas/365; cmvDia; cmv/365; DIO; inv/cmvDia; DSO; cxc/ventaDia; DPO; prov/cmvDia; CCE; DIO+DSO-DPO; APILARH( {"DIO";"DSO";"DPO";"CCE"} ; REDONDEAR(APILARV(DIO;DSO;DPO;CCE);0) ) )

APILARV apila los cuatro valores en una columna; APILARH les pega al lado sus etiquetas. El resultado es una mini tabla que se arma sola. Si mañana cambia un input, el ciclo se recalcula sin tocar nada.

Una función propia y reutilizable con LAMBDA

"Saldo dividido por su flujo diario" es la misma operación tres veces. La encapsulamos en una función con nombre (Fórmulas → Administrador de nombres → DIAS):

' Definición del nombre "DIAS": DIAS = LAMBDA(saldo; flujoAnual; saldo/(flujoAnual/365)) ' Uso, limpísimo y autoexplicado: DIO = DIAS(inv; cmv) → 485 DSO = DIAS(cxc; ventas) → 59 DPO = DIAS(prov; cmv) → 157

Una sola definición, una sola fuente de verdad. Si algún día se discute la convención (365 vs 360 días), se corrige en un solo lugar. Eso es la "T" de transparente y la "F" de flexible de FAST.

La tabla de sensibilidad que se construye sola: SECUENCIA + MAKEARRAY

La pregunta del directorio será: "¿y si bajamos el inventario y suben/bajan las tasas?". En vez de armar una tabla de datos a mano, generamos toda la matriz de "costo del ciclo" cruzando días de inventario (columnas) contra tasas (filas):

=LET( dios; SECUENCIA(1; 6; 480; -80); ' 480,400,320,240,160,80 días tasas; SECUENCIA(6; 1; 0,15; 0,08); ' 15%,23%...55% por fila ventas; INPUTS!$C$10; cmv; INPUTS!$C$11; cxc; INPUTS!$C$28; prov; INPUTS!$C$40; MAKEARRAY( FILAS(tasas); COLUMNAS(dios); LAMBDA(f; c; LET( dio; INDICE(dios;1;c); tasa; INDICE(tasas;f;1); capital; dio*(cmv/365) + cxc - prov; capital*tasa ) ) ) )

SECUENCIA genera los ejes; MAKEARRAY recorre cada celda de la grilla y, con un LAMBDA, calcula el costo en esa combinación. El resultado es un mapa de calor instantáneo: el directorio ve, de un vistazo, cuánto se ahorra por cada bloque de inventario que se libera.

La caja atrapada mes a mes: SCAN para acumular

Para ver cómo se va llenando (o vaciando) el "tanque" de capital de trabajo a lo largo del año, SCAN acumula un flujo paso a paso, devolviendo el saldo en cada mes:

' flujoMensual = entradas de inventario − salidas por venta, por mes =SCAN( 0; flujoMensual; LAMBDA(acum; x; acum + x) ) ' Devuelve el saldo de capital atrapado al cierre de cada mes: ' Ene→Feb→Mar… ideal para graficar la curva del tanque.

Su primo REDUCE haría lo mismo pero devolviendo solo el total final; SCAN nos da la película completa, que es lo que alimenta el gráfico de evolución.

¿Qué producto traba la caja? AGRUPARPOR y FILTRAR

El ciclo global esconde a los culpables. Sobre una base de movimientos por SKU, AGRUPARPOR (GROUPBY) resume el inventario y los días por categoría, y FILTRAR aísla los lentos:

' Inventario y DIO promedio por categoría de producto: =AGRUPARPOR( Datos[Categoria]; Datos[ValorInv]; SUMA; ; 0 ) ' Los SKU que tardan más de 180 días en venderse (capital muerto): =FILTRAR( Datos; Datos[DIO] > 180 ) ' Referencia dinámica al escenario elegido en un desplegable: =SUMA( INDIRECTO( "'" & Escenario & "'!B2:B50" ) )

INDIRECTO arma el nombre de la hoja "al vuelo": si el usuario elige "Optimista" en una lista, la fórmula apunta sola a esa hoja. Así un mismo tablero compara escenarios sin duplicar fórmulas.

El resultado en Excel

Cinco bloques de fórmulas —ni una celda arrastrada— y el modelo entero respira: cambiás un input azul y se recalculan el ciclo, la sensibilidad, la curva mensual y el ranking de SKU. Mantenible, auditable, a prueba del próximo analista que lo herede.

07 · La solución en Power BI

El modelo en estrella y las medidas DAX que lo gobiernan

Excel es el laboratorio; Power BI es la sala de control que mira el ciclo todos los días y por todas las dimensiones (producto, sucursal, mes). El secreto es un modelo en estrella: una tabla de hechos en el centro (los movimientos diarios) rodeada de tablas de dimensión que la describen.

[Dim Calendario] | [Dim Producto] — [ HECHOS: Movimientos ] — [Dim Proveedor/Cliente] | [Param: Tasa Costo Capital]

Sobre ese modelo, las medidas DAX calculan el ciclo respetando cualquier filtro que el usuario aplique. DIVIDE evita los errores de división por cero; AVERAGEX promedia los saldos a lo largo del período (no se usa el saldo de un solo día):

// Días de inventario — usa saldo promedio del período DIO = DIVIDE( [Inventario Prom] * 365; [CMV] ) DSO = DIVIDE( [CxC Prom] * 365; [Ventas] ) DPO = DIVIDE( [Proveedores Prom] * 365; [CMV] ) // El ciclo completo CCE = [DIO] + [DSO] − [DPO] // De días a pesos atrapados (cada saldo en su base correcta) Capital Inmovilizado = [DIO] * DIVIDE([CMV];365) + [DSO] * DIVIDE([Ventas];365) − [DPO] * DIVIDE([CMV];365) // El costo de sostenerlo (la tasa entra como parámetro del usuario) Costo del Ciclo = [Capital Inmovilizado] * SELECTEDVALUE( Param[Tasa]; 0,35 ) // El golpe de gracia: el ciclo vs. la ganancia operativa Costo vs EBITDA = DIVIDE( [Costo del Ciclo]; [EBITDA] )

La medida promedio, indispensable para que el ciclo no dependa del saldo de un día puntual, se arma con AVERAGEX recorriendo el calendario:

Inventario Prom = AVERAGEX( VALUES( Calendario[Fecha] ); CALCULATE( SUM( Movimientos[SaldoInventario] ) ) )

Con estas medidas, una sola pantalla responde "¿cuántos días de ciclo tengo este mes, en esta sucursal, para esta familia de productos, y cuánto me cuesta?" — y se actualiza sola cada vez que entran datos nuevos.

08 · El tablero ejecutivo

Todo el caso en una sola pantalla

El cierre de cualquier modelo es el tablero: la traducción de toda esta ingeniería al lenguaje de quien decide. El panel de Ranieri se organiza en un semáforo de lectura inmediata:

  • Indicador maestro (gauge): CCE 387 días contra el benchmark sano del sector (~120 días). Aguja en rojo profundo.
  • Puente del resultado (waterfall): del EBITDA al resultado, mostrando cómo el costo del ciclo se come la ganancia operativa. El mismo gráfico del simulador de arriba.
  • Descomposición del ciclo: barras de DIO, DSO y −DPO, con DIO destacado como la palanca dominante.
  • Ranking de SKU lentos: los productos que más capital traban, ordenados, con su DIO individual. La lista de tareas concreta.
  • Mapa de calor de sensibilidad: cuánto se libera por cada combinación de "menos inventario × tasa", para priorizar.

Mové los controles del simulador de la sección 5: eso es, exactamente, lo que el directorio ve y toca en el tablero final. La diferencia es que en Power BI los datos entran solos, todos los días.

09 · Qué demuestra este caso

El plan de Ranieri: liberar la caja secuestrada

El diagnóstico es claro y la palanca es una sola: el inventario. Bajar el DIO de 485 a un saludable rango de 120–150 días liberaría más de $3.500 millones de caja, plata que hoy paga intereses y mañana podría cancelar deuda cara, sostener la operación sin financiamiento o, simplemente, dejar de quemar valor. Cuatro acciones concretas, en orden de impacto:

  1. Atacar los SKU dormidos primero. No todo el inventario pesa igual. El ranking de Power BI muestra qué familias de productos concentran el capital muerto. Liquidar, rematar o discontinuar los más lentos libera caja sin tocar las líneas que sí rotan.
  2. Planificar producción contra demanda, no contra capacidad. El DIO de 485 días sugiere que se fabrica para llenar el depósito, no para vender. Atar la producción a un pronóstico real corta el problema de raíz.
  3. Defender los 157 días de proveedores. Es financiación gratis y bien usada; el plan no debe perderla. La pelea es por el inventario, no por estirar pagos aún más.
  4. Refinanciar después, no antes. Mientras el ciclo dure 387 días, cualquier refinanciación solo cambia el color del dolor. Primero se libera la caja; recién entonces la deuda se vuelve manejable.

"El crecimiento sin caja es una ilusión contable. Una empresa puede mostrar ganancias y morir igual, porque las cuentas se pagan con efectivo, no con utilidades devengadas."

— Principio central de la gestión de capital de trabajo
La lección, en una frase

Ranieri no tiene un problema de ventas ni de márgenes: los tiene excelentes. Tiene un problema de tiempo. Y el tiempo, en finanzas, siempre se cobra en pesos. Medir el ciclo de conversión de efectivo, entenderlo como el sistema interconectado que es, y construir el modelo para gobernarlo —en Excel con matrices dinámicas y en Power BI con DAX— es la diferencia entre una empresa que parece sana y una que de verdad lo está.