How much safety stock do you really need — and what does each extra point of service cost?¿Cuánto inventario de seguridad necesitas en realidad — y cuánto cuesta cada punto adicional de servicio?

Enter demand variability and lead time, choose a service level and get the statistically correct buffer — plus the capital it ties up and the annual cost to hold it. Paste the MAPE from the Forecast Studio if you don’t know σ.Ingresa la variabilidad de la demanda y el lead time, elige el nivel de servicio y obtén el inventario de seguridad estadísticamente correcto — más el capital que inmoviliza y su costo anual. Si no conoces σ, usa el MAPE del Estudio de Pronóstico.

King (2011) · σDLTKing (2011) · σDLTCycle service levelNivel de servicio por ciclo100% in-browser · no upload100% en navegador · sin subir datos
🧮
This is the textbook formula, applied transparently. It assumes normally-distributed demand and a cycle-service-level target. It is the right starting point — and the baseline that demand-sensing / AI inventory optimization (RELEX, o9, Blue Yonder) must improve on by modeling non-normal demand, dynamic lead times, and multi-echelon pooling. See the inventory section in the Demand Forecasting reference. Esta es la fórmula de libro de texto, aplicada de forma transparente. Supone una demanda con distribución normal y un objetivo de nivel de servicio por ciclo. Es el punto de partida correcto — y la línea base que la optimización de inventario con IA y la detección de demanda (RELEX, o9, Blue Yonder) deben mejorar al modelar demanda no normal, lead times dinámicos y agregación de riesgo multinivel. Consulta la sección de inventario en la referencia Pronóstico de demanda.
How it's computedCómo se calcula
Combined demand + lead-time variability (King, 2011).Variabilidad combinada de la demanda + el lead time (King, 2011).
Working capital vs. service levelCapital de trabajo vs. nivel de servicio
The cost of certainty is non-linear — the last few points of service level are the most expensive.El costo de la certeza no es lineal — los últimos puntos de nivel de servicio son los más caros.
About this tool. Runs entirely in your browser — nothing is uploaded. It uses the classical safety-stock model with a cycle service level (z from the inverse normal CDF) and the combined demand/lead-time standard deviation σDLT = √(LT·σD² + D²·σLT²). Real inventory policy should also weigh order frequency, MOQs, shelf life, demand correlation and fill-rate (vs. cycle-service-level) targets — this calculator sizes the buffer, it does not set the full policy. Sobre esta herramienta. Corre completamente en tu navegador — no se sube nada. Usa el modelo clásico de inventario de seguridad con nivel de servicio por ciclo (z a partir de la función de distribución acumulada normal inversa) y la desviación estándar combinada de demanda y lead time σDLT = √(LT·σD² + D²·σLT²). Una política de inventario real también debe considerar la frecuencia de pedido, los lotes mínimos (MOQ), la vida útil, la correlación de la demanda y los objetivos de fill rate (vs. nivel de servicio por ciclo) — esta calculadora dimensiona el inventario de seguridad, no define la política completa.
💡How to use this toolCómo usar esta herramientaStart hereEmpieza aquí
1
Enter demand variabilityIngresa la variabilidad de la demanda
Don’t know σ? Switch to From MAPE and paste the error % from the Forecast Studio — the tool converts it automatically.¿No conoces σ? Cambia a A partir del MAPE y pega el % de error del Estudio de Pronóstico — la herramienta lo convierte automáticamente.
2
Set lead time & costDefine lead time y costo
Lead time = how long your supplier takes to deliver. Holding rate is typically 20–30% per year (storage + capital cost + obsolescence).Lead time = cuánto tarda tu proveedor en entregar. La tasa de mantenimiento suele ser de 20–30% anual (almacenaje + costo de capital + obsolescencia).
3
Compare service level costsCompara costos por nivel de servicio
The bar chart shows how working capital scales non-linearly. Going from 95% to 99.9% can triple your buffer investment — is the stockout cost worth it?La gráfica de barras muestra cómo el capital de trabajo crece de forma no lineal. Pasar de 95% a 99.9% puede triplicar tu inversión en inventario de seguridad — ¿lo justifica el costo del desabasto?
'; } function exportReport(){ var doc=buildReportHTML(); var w=window.open('','ss_report','width=1000,height=820,scrollbars=yes,resizable=yes'); if(w){w.document.write(doc);w.document.close();w.focus();} } /* ── language + menu ── */ function interpSS(ss,unitCost,svcTarget){ if(!isFinite(ss)||ss<0)return ''; var icon,cls,txt; if(svcTarget>=99){ icon='⚠️';cls='amber'; txt=L(''+svcTarget+'% service level: very high protection, very high cost. At this threshold each extra point of service requires exponentially more safety stock. Make sure your stockout cost (lost margin, penalties, brand damage) truly justifies this capital.', 'Nivel de servicio de '+svcTarget+'%: protección muy alta, costo muy alto. En este umbral, cada punto adicional de servicio requiere exponencialmente más inventario de seguridad. Asegúrate de que el costo del desabasto (margen perdido, penalizaciones, daño a la marca) realmente justifique este capital.'); }else if(svcTarget>=95){ icon='✅';cls='green'; txt=L(''+svcTarget+'% service level: the sweet spot for most consumer goods. Protecting against most demand/supply surprises without over-investing in buffer. The table below shows how much more capital a 99%+ target requires.', 'Nivel de servicio de '+svcTarget+'%: el punto óptimo para la mayoría de los bienes de consumo. Protege contra la mayoría de las sorpresas de demanda y abastecimiento sin sobreinvertir en inventario de seguridad. La tabla de abajo muestra cuánto capital adicional requiere un objetivo de 99% o más.'); }else{ icon='🟡';cls='amber'; txt=L(''+svcTarget+'% service level: acceptable for low-criticality or easily substitutable items. For high-margin or critical SKUs, consider raising the target. At '+svcTarget+'%, roughly 1 in '+(100/(100-svcTarget)).toFixed(0)+' replenishment cycles may result in a stockout.', 'Nivel de servicio de '+svcTarget+'%: aceptable para artículos de baja criticidad o fácilmente sustituibles. Para SKUs de alto margen o críticos, considera elevar el objetivo. Con '+svcTarget+'%, aproximadamente 1 de cada '+(100/(100-svcTarget)).toFixed(0)+' ciclos de reabastecimiento puede terminar en desabasto.'); } return '
'+icon+'
'+txt+'
'; } var HOWTO_SHOW='Show ▼Mostrar ▼'; var HOWTO_HIDE='Hide ▲Ocultar ▲'; function toggleHowTo(){ var h=document.getElementById('howTo'),b=document.getElementById('howToBtn'); var col=h.classList.toggle('collapsed'); b.innerHTML=col?HOWTO_SHOW:HOWTO_HIDE; try{localStorage.setItem('howto_hidden',col?'1':'');}catch(ex){} } (function(){ try{ if(localStorage.getItem('howto_hidden')==='1'){ var h=document.getElementById('howTo'); if(h){ h.classList.add('collapsed'); var b=document.getElementById('howToBtn'); if(b){b.innerHTML=HOWTO_SHOW;} } } }catch(ex){} })(); var __lang="en"; function setLang(l){ __lang=l; document.querySelectorAll('.li-en').forEach(function(e){ e.style.display=l==='en'?(e.tagName==='SPAN'||e.tagName==='BUTTON'?'inline':'block'):'none'; }); document.querySelectorAll('.li-es').forEach(function(e){ e.style.display=l==='es'?(e.tagName==='SPAN'||e.tagName==='BUTTON'?'inline':'block'):'none'; }); document.getElementById('btn-lang-en').classList.toggle('on',l==='en'); document.getElementById('btn-lang-es').classList.toggle('on',l==='es'); try{localStorage.setItem('lang',l);}catch(ex){} } function toggleMenu(){var b=document.getElementById('hamburger'),m=document.getElementById('mobileMenu');b.classList.toggle('open');m.classList.toggle('open');} function closeMenu(){var b=document.getElementById('hamburger'),m=document.getElementById('mobileMenu');if(b)b.classList.remove('open');if(m)m.classList.remove('open');} document.addEventListener('click',function(e){var m=document.getElementById('mobileMenu'),b=document.getElementById('hamburger');if(m&&m.classList.contains('open')&&!m.contains(e.target)&&b&&!b.contains(e.target))closeMenu();},false); /* init */ refreshStaticI18n(); calc(); /* Re-render the tool whenever the site language (html.msc-es) changes; inputs, mode and service level are kept. */ (function(){ var lastES=isES(); new MutationObserver(function(){ var nowES=isES(); if(nowES===lastES)return; lastES=nowES; refreshStaticI18n(); calc(); }).observe(document.documentElement,{attributes:true,attributeFilter:['class']}); })(); /* Legacy nav sync: read-only (no calc()-time writes to localStorage 'lang'). */ (function(){try{var s=localStorage.getItem('lang');if(s==='es'||s==='en'){setLang(s);}}catch(e){}})();