Ideas clave
- Las ventas registradas son el menor de dos valores, la demanda y el stock del lineal; el día que el lineal se vacía, el resto de la demanda no deja rastro.
- Las previsiones entrenadas con esas ventas subestiman la demanda, y el error es mayor en las categorías de frescos, que son las que más se agotan.
- El error se alimenta a sí mismo: una previsión más baja trae un pedido más pequeño, una rotura más temprana y un registro todavía más bajo.
- Los encargados de tienda cometen el mismo error a mano cuando recortan un pedido después de una rotura de stock.
- Trata los días de lineal vacío como datos que faltan o como un mínimo, y comprueba que el stock en sistema que hay detrás de la marca es correcto.
La caja registra lo que se vendió, no lo que se quería comprar. Cuando el yogur se agota a las tres de la tarde, el registro del día se queda en lo que había en el lineal, y los clientes que llegan a última hora no dejan ninguna huella. Los estadísticos llaman censurados a estos datos. Casi todo el reaprovisionamiento de las cadenas de tiendas se basa en ellos, y el error que introducen no se queda quieto.
1. Las ventas son la demanda limitada por el stock
Llamemos D a la demanda del día e I al stock disponible. La caja ve y = min(D, I): toda la demanda el día que el lineal aguanta, y exactamente el stock el día que no. La parte perdida, D − y, nunca se registra. Por eso una media de ventas de 28 días mezcla dos tipos de día, y los días con rotura la arrastran hacia abajo. Lo mismo le pasa a la variabilidad de las ventas, el otro dato que necesita el stock de seguridad. Encontrar esos días es el primer paso; la guía sobre roturas de stock explica cómo detectarlos en los datos de ventas y de stock.
2. Cuánto esconde un día
La medición pública más clara viene de FreshRetailNet-50K, un conjunto de datos publicado en 2025 por el supermercado online chino Dingdong: ventas por hora de 863 productos perecederos en 898 puntos de 18 ciudades, con cada hora marcada cuando el producto estaba agotado1. Los puntos son pequeños almacenes de frescos que entregan en 30 minutos y que el artículo llama tiendas. Después de la reposición de las 6:00, las roturas bajaban de un 2 %; a partir de ahí subían de forma constante hasta el 26 % a las 20:00.
A la venta a las 06:00, después de la reposición98Todavía a la venta a las 20:0074
Un producto que se agota por la tarde sigue teniendo ventas ese día, así que un informe diario lo cuenta como disponible. A su registro le falta lo que se habría vendido a última hora. En el conjunto de datos, recuperar la demanda oculta eliminó una subestimación sistemática del 7,37 %1. Un estudio de 2026 sobre los mismos datos desglosó la censura por categoría2:
| Categoría | Horas-tienda con rotura | Error de previsión, entrenada con ventas | Error de previsión, teniendo en cuenta la censura | Reducción simulada de mermas |
|---|---|---|---|---|
| Verdura de hoja | Horas-tienda con rotura31,2 % | Error de previsión, entrenada con ventas42,8 % | Error de previsión, teniendo en cuenta la censura38,9 % | Reducción simulada de mermas4,7 puntos |
| Pescado y marisco | Horas-tienda con rotura27,6 % | Error de previsión, entrenada con ventas41,5 % | Error de previsión, teniendo en cuenta la censura38,0 % | Reducción simulada de mermas4,2 puntos |
| Fruta | Horas-tienda con rotura21,4 % | Error de previsión, entrenada con ventas39,4 % | Error de previsión, teniendo en cuenta la censura36,9 % | Reducción simulada de mermas3,4 puntos |
| Carne | Horas-tienda con rotura19,8 % | Error de previsión, entrenada con ventas38,3 % | Error de previsión, teniendo en cuenta la censura36,2 % | Reducción simulada de mermas3,0 puntos |
| Hortalizas de raíz | Horas-tienda con rotura17,3 % | Error de previsión, entrenada con ventas37,6 % | Error de previsión, teniendo en cuenta la censura35,8 % | Reducción simulada de mermas2,6 puntos |
| Lácteos | Horas-tienda con rotura8,9 % | Error de previsión, entrenada con ventas35,2 % | Error de previsión, teniendo en cuenta la censura34,4 % | Reducción simulada de mermas1,4 puntos |
La pauta es monótona: cuanto más a menudo se agota una categoría, más falla una previsión entrenada con ventas y más recupera una que tiene en cuenta la censura. Los lácteos, con una vida útil larga y pocas horas de lineal vacío, apenas se mueven.
3. El modelo aprende el lineal
Cualquier modelo al que se le pide reproducir las ventas reproduce también su tope. Yin, Zheng y Kong lo dicen sin rodeos: «Todo modelo entrenado para reproducir las ventas subestima la demanda en torno a un ocho por ciento»2. Cuando ocultaron más horas punta, de una décima parte a la mitad, el sesgo de un buen modelo entrenado con ventas pasó del −4,2 % al −21,1 %. Su modelo trata una hora con rotura como un mínimo y no como la demanda: la demanda fue, como poco, lo que se vendió. En su simulación, pedir a partir de él redujo las mermas modelizadas del 9,8 % al 6,4 %, mientras la parte de la demanda atendida subía del 92,9 % al 94,7 %2. Menos mermas y mejor disponibilidad a la vez es lo que se ve cuando se corrige un sesgo; un modelo que simplemente pidiera más habría ganado en una cosa a costa de la otra.
4. La espiral
Con el tiempo el sesgo crece, porque la previsión fija el siguiente pedido y el pedido fija el siguiente registro:
El lineal se vacía por la tardeLas ventas se quedan en lo que había
El día entra en el histórico como un día flojoLa demanda de última hora no aparece
La previsión aprende la cifra más baja
El siguiente pedido es más pequeño
El lineal se vacía antesy el registro vuelve a bajar
Pedregal, Trapero y Holgado de Frutos lo pusieron a prueba con una serie de producto del conjunto de datos M5 de ventas de Walmart, censurándola en el stock que habría tenido una política de pedidos3. Con un objetivo del 70 %, una previsión estándar de suavizado exponencial siguió la demanda durante cinco semanas, hasta las primeras roturas; después de una mala semana, «ETS nunca se recupera de esa mala previsión», porque cada pedido corto generaba el siguiente registro corto. Su variante Tobit, que lee un día agotado como un límite inferior, mantuvo el rumbo. Con un objetivo del 80 % de ciclos de pedido sin rotura:
Suavizado exponencial estándar
Suavizado exponencial Tobit
Misma serie, mismo objetivo
Las personas también lo hacen. En una cadena de supermercados de gama alta cuyos encargados de tienda podían modificar las propuestas de pedido de frescos del sistema, un estudio de 2026 encontró que, después de una rotura de stock, los encargados tendían más a recortar la propuesta, como si el lineal vacío hubiera demostrado que el producto se vende menos, y que esos recortes hacían más probable la siguiente rotura4. Bloquear los recortes que seguían a una rotura redujo esas roturas provocadas por los propios encargados con un coste de inventario razonable4. Qué cambios debería poder hacer un comprador y cuáles debería cuestionar el sistema lo explica la guía de IA para el reaprovisionamiento de tiendas.
5. Cuando la propia marca es errónea
Detectar un lineal vacío en los datos depende del stock en sistema, y ese registro puede estar mal justo en el sentido que lo oculta. Cuando el sistema muestra unidades que el lineal no tiene, las ventas se paran, nada dispara un pedido y el día parece un día sin demanda en lugar de una rotura. En un estudio de unos 24.000 productos en 11 tiendas de una gran cadena europea de alimentación, un recuento completo del stock subió las ventas de toda la tienda un 11 %, y todo ese aumento vino de productos cuyo registro mostraba más stock del que había en el lineal5. En esos productos el efecto fue 2,67 veces la media de la tienda. La censura y los errores de registro son un mismo problema visto desde dos lados: ambos convierten el stock que falta en una aparente falta de demanda.
6. Qué hacer con los días de lineal vacío
- Marca cada día de tienda y producto que cerró sin stock, y cada racha de ventas cero mientras el stock en sistema sigue mostrando unidades.
- Deja los días marcados fuera de la media y de la variabilidad de las ventas, o trátalos como un mínimo, como hacen Tobit y modelos parecidos. Nunca como un día de demanda nula o baja.
- En los frescos, guarda la hora en que se vació el lineal. Un día que se agotó a las 14:00 perdió mucho más que uno que se agotó a las 20:00.
- No recortes un pedido porque las ventas de la semana pasada fueron bajas si el lineal estuvo vacío parte de ella.
- Cuenta los productos que muestran stock pero han dejado de venderse, para poder fiarte de las propias marcas.
La media corregida alimenta después el punto de pedido y el stock de seguridad como siempre.
7. Limitaciones
FreshRetailNet-50K procede de los puntos de entrega de un supermercado online en China, no de tiendas físicas, y su artículo es un preprint. La tabla por categorías y las cifras de mermas salen de simulaciones sobre esos datos, con la demanda reconstruida a partir de supuestos. Las cifras de la espiral proceden del preprint del artículo publicado y se basan en una sola serie de producto. El estudio sobre los encargados se cita a partir de su resumen, y el del recuento de stock procede de un solo minorista. Ninguno mide directamente las ventas perdidas de una cadena de tiendas europea, algo que ninguna caja puede hacer.
Cómo lo resuelve marql
En Retail-Bench, la simulación abierta que ha creado marql para probar políticas de reaprovisionamiento, todos los estimadores leen un día que terminó con el lineal vacío al nivel de los días que no, ya sea la fórmula de manual, la regla que se aplica a mano o el motor de marql6. La simulación conoce la demanda real detrás de cada venta, así que puede medir lo que cuestan los lineales vacíos, algo que una cadena real solo puede estimar.
Fuentes
- Wang, Y., Gu, J., Long, L. et al. (2025). FreshRetailNet-50K: a stockout-annotated censored demand dataset for latent demand recovery and forecasting in fresh retail. arXiv:2505.16319, preprint. arxiv.org
- Yin, C., Zheng, Y. y Kong, Z. (2026). Demand hidden by stockouts: censored demand recovery and green waste-reduction forecasting for sustainable fresh-food consumption under emerging-market urbanization. Sustainability, 18(15), 7642. doi.org
- Pedregal, D. J., Trapero, J. R. y Holgado de Frutos, E. (2025). Tobit exponential smoothing, towards an enhanced demand planning in the presence of censored data. International Journal of Production Research. Cifras del preprint, arXiv:2407.17920. doi.org
- Özdemir, B. y Tenhiälä, A. (2026). Discretion in automated supermarket replenishment: censorship bias and self-inflicted stockouts. Manufacturing & Service Operations Management. doi.org
- Rekik, Y., Oliva, R., Syntetos, A. y Glock, C. H. (2026). Inventory record inaccuracy in grocery retailing: impact of promotions and product perishability, and targeted effect of audits. Journal of Business Logistics. doi.org
- MARQL Retail-Bench (2026). Metodología, ecuación 2. retail-bench.marql.one
TemasDemanda censurada, Ventas perdidas, Previsión de la demanda, Reaprovisionamiento de tiendas