El Fill Rate (o Tasa de Cumplimiento) es uno de los indicadores clave de desempeño (KPI) más importantes en la gestión de inventarios y logística. Mide la capacidad de una empresa para satisfacer la demanda de sus clientes con el stock disponible en el momento inmediato, sin generar pedidos pendientes (backorders) ni ventas perdidas.
En términos simples, el Fill Rate responde a la pregunta: "De todo lo que me pidieron mis clientes, ¿qué porcentaje pude entregar inmediatamente?".
Fórmula para Calcular el Fill Rate
La fórmula básica para calcular el Fill Rate a nivel de unidades es bastante directa. Se trata de una relación porcentual entre lo entregado y lo solicitado:
Unidades Entregadas: Cantidad real de productos que se enviaron al cliente en el primer intento.
Demanda Total: Cantidad total de productos que el cliente solicitó en la orden de compra.
Ejemplo Práctico de Cálculo
Imaginemos que gestionas un almacén de repuestos automotrices. Durante el último mes, recibiste pedidos por un total de 5,000 unidades de diversos componentes.
Debido a roturas de stock en algunos filtros de aceite, solo pudiste enviar 4,850 unidades inmediatamente. El cálculo sería el siguiente:
Demanda Total: 5,000
Entregados: 4,850
Cálculo: (4,850 ÷ 5,000) × 100 = 97%
Esto significa que tu Fill Rate es del 97%. El 3% restante representa ventas perdidas o pedidos pendientes, lo cual puede afectar la satisfacción del cliente a largo plazo.
¿Por qué es importante un Fill Rate alto?
Mantener un Fill Rate elevado es crucial por varias razones:
Satisfacción del Cliente: Los clientes confían en proveedores que entregan pedidos completos y a tiempo.
Costos Operativos: Gestionar pedidos pendientes (backorders) es costoso, ya que implica dobles envíos y procesamiento administrativo adicional.
Ventaja Competitiva: En mercados saturados, la disponibilidad de producto suele ser el factor decisivo de compra.
Tipos de Fill Rate
Es importante notar que existen variaciones de esta métrica:
Unit Fill Rate: (El que usa esta calculadora) Mide el porcentaje de unidades individuales entregadas.
Line Fill Rate: Mide el porcentaje de líneas de pedido (SKUs distintos) que se completaron al 100%.
Order Fill Rate: Mide el porcentaje de órdenes completas que se entregaron sin ningún faltante. Es la métrica más estricta.
function calculateFillRate() {
// 1. Get input values
var demandInput = document.getElementById("totalDemand");
var deliveredInput = document.getElementById("totalDelivered");
var demand = parseFloat(demandInput.value);
var delivered = parseFloat(deliveredInput.value);
// 2. Validate Inputs
if (isNaN(demand) || isNaN(delivered)) {
alert("Por favor, ingrese valores numéricos válidos en ambos campos.");
return;
}
if (demand <= 0) {
alert("La demanda total debe ser mayor que cero.");
return;
}
if (delivered demand) {
alert("Nota: Las unidades entregadas son mayores que la demanda. El Fill Rate se limitará al 100% para este cálculo, aunque esto podría indicar un error de entrada o un sobre-envío.");
delivered = demand; // Cap at 100% for the logical metric
}
// 3. Perform Calculation
var fillRate = (delivered / demand) * 100;
var lostUnits = demand – delivered;
var lostPercentage = 100 – fillRate;
// 4. Display Results
var resultContainer = document.getElementById("resultContainer");
var resultText = document.getElementById("fillRateResult");
var lostText = document.getElementById("lostSalesResult");
var analysisText = document.getElementById("analysisText");
resultContainer.style.display = "block";
resultText.innerHTML = fillRate.toFixed(2) + "%";
if (lostUnits > 0) {
lostText.innerHTML = "Unidades No Entregadas: " + lostUnits + " (" + lostPercentage.toFixed(2) + "%)";
} else {
lostText.innerHTML = "¡Pedido Completado al 100%!";
lostText.style.color = "#27ae60";
}
// 5. Generate Analysis Text
var analysis = "";
if (fillRate >= 98) {
analysis = "Excelente: Su tasa de cumplimiento es de clase mundial. Está maximizando las ventas y la satisfacción del cliente.";
} else if (fillRate >= 95) {
analysis = "Bueno: Tiene un buen nivel de servicio, aunque hay un pequeño margen para mejorar la gestión de inventarios.";
} else if (fillRate >= 90) {
analysis = "Regular: Está perdiendo ventas potenciales. Revise sus niveles de stock de seguridad y pronósticos de demanda.";
} else {
analysis = "Crítico: Un Fill Rate bajo indica problemas serios en la cadena de suministro que están afectando la rentabilidad y la retención de clientes.";
}
analysisText.innerHTML = analysis;
}