Calculadora de cantidad económica de pedido
Con una demanda de 1.000 unidades al año, 10 por pedido y 0,5 por mantener cada unidad un año, el lote óptimo es de 200: cinco pedidos anuales y un coste de inventario de 100, repartido a partes iguales. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Demanda anual
- 1 000
- Costo de pedido
- 10
- Costo de mantenimiento de inventario
- 0,5
- Eoq
- 200
- Pedidos por año
- 5
- Costo anual de pedido
- 50
- Costo anual de mantenimiento de inventario
- 50
La cantidad económica de pedido (EOQ) es el tamaño de lote que minimiza el coste combinado de emitir pedidos y de mantener existencias cuando la demanda es estable y el reaprovisionamiento es instantáneo. Planificadores, compradores y analistas de operaciones siguen recurriendo a la fórmula clásica de Harris–Wilson con raíz cuadrada cuando necesitan una línea base transparente antes de añadir plazos de entrega, descuentos por cantidad o restricciones multi-escalón.
Qué significa el EOQ y cómo funciona la fórmula de la raíz cuadrada
Los responsables de inventario se enfrentan a un compromiso clásico: pedir con demasiada frecuencia y se acumulan los costes fijos de pedido o de preparación; pedir demasiado de una vez y suben el capital, el almacenamiento, el seguro y la obsolescencia con el stock medio.
Bajo los supuestos estándar —demanda anual constante, coste fijo por pedido, coste de posesión proporcional al inventario medio y reaprovisionamiento instantáneo— el coste anual relevante total es la suma del coste de pedido multiplicado por el número de pedidos más el coste de posesión multiplicado por la mitad de la cantidad de pedido.
Al derivar respecto de la cantidad Q e igualar la derivada a cero se obtiene la familiar cantidad económica de pedido EOQ igual a la raíz cuadrada de dos veces la demanda anual D por el coste de pedido S, todo dividido por el coste de posesión H por unidad y año. En ese óptimo, el coste anual de pedido iguala el coste anual de posesión, lo cual es una comprobación útil al auditar una hoja de cálculo.
La fórmula no sustituye el stock de seguridad, el punto de reorden ni el análisis de descuentos; es la línea base transparente sobre la que se construyen esas extensiones cuando la demanda se trata como determinista y continua.
Dónde aporta valor una calculadora EOQ
Los equipos de compras e inventario usan una calculadora de cantidad económica de pedido para dimensionar las órdenes de compra recurrentes cuando el consumo anual y los parámetros de coste se conocen desde el ERP o desde los datos reales del año anterior. Los cursos de finanzas y operaciones necesitan un oráculo determinista que rechace un coste de posesión no positivo en lugar de emitir NaN en silencio, que un calificador defectuoso podría tratar como acierto. La validación fallida no consume saldo.
Mantenga las solicitudes pequeñas, fije en las pruebas los campos EOQ y de costes redondeados, y obtendrá tamaños de lote reproducibles para formación, plugins LMS y workers de borde sin montar una pila completa de optimización de inventario por su cuenta.
Qué puede hacer con ella
Dimensionado de lotes en compras
Dimensione órdenes de compra recurrentes a partir de la demanda anual, el coste fijo de pedido y el coste anual de posesión por unidad cuando necesite una línea base EOQ transparente para el ERP o la lista del comprador.
Calificación en aula y LMS
Corrija ejercicios de gestión de inventarios con un oráculo EOQ determinista que rechaza un coste de posesión no positivo y devuelve raíces redondeadas estables para D, S y H.
Modelos de S&OP y consultoría
Genere un EOQ continuo y el reparto de costes dentro de cuadernos de planificación antes de aplicar múltiplos de envase, descuentos o restricciones multi-escalón en otro lugar.
Preguntas frecuentes
¿Cuál es la fórmula de la cantidad económica de pedido?
EOQ = sqrt(2 × demanda anual D × coste de pedido S ÷ coste de posesión H).
¿Qué ocurre si el coste de posesión es cero o negativo?
El coste de posesión debe ser estrictamente positivo; de lo contrario la expresión del EOQ es indefinida o carece de sentido y la llamada no se factura.
¿Qué unidades debo usar para la demanda y los costes?
Mantenga las unidades coherentes: demanda anual en unidades por año, coste de pedido en moneda por pedido, coste de posesión en moneda por unidad y año. La calculadora no convierte monedas ni unidades de medida.
¿El EOQ incluye stock de seguridad o plazo de entrega?
No. El EOQ clásico optimiza la cantidad de pedido con demanda estable y reaprovisionamiento instantáneo. El stock de seguridad y los puntos de reorden son cálculos separados que se aplican después de elegir el tamaño de lote.
¿Por qué el coste de pedir y el de almacenar salen iguales?
Porque el EOQ es justo el punto en que ambos se equilibran. Con 1.000 unidades al año, 10 por pedido y 0,5 de posesión, cada uno suma 50 y el total de 100 es el más bajo posible. Sirve para comprobar una hoja de cálculo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/biz/eoq-calculate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"annual_demand":1000,"ordering_cost":10,"holding_cost":0.5}'const res = await fetch("https://api.kit.forhosting.com/biz/eoq-calculate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"annual_demand": 1000,
"ordering_cost": 10,
"holding_cost": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/eoq-calculate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"annual_demand": 1000,
"ordering_cost": 10,
"holding_cost": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/eoq-calculate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"annual_demand":1000,"ordering_cost":10,"holding_cost":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"annual_demand":1000,"ordering_cost":10,"holding_cost":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/eoq-calculate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"annual_demand": 1000,
"ordering_cost": 10,
"holding_cost": 0.5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.eoq_calculate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Esta calculadora de cantidad económica de pedido acepta la demanda anual D, el coste de pedido S y el coste de posesión por unidad y año H, devuelve el tamaño de lote óptimo EOQ junto con los pedidos al año y el coste anual de pedido y de posesión en ese tamaño de lote, y falla con invalid_input cuando el coste de posesión (u otro factor) no es estrictamente positivo.
Qué significa el EOQ y cómo funciona la fórmula de la raíz cuadrada
Este endpoint implementa exactamente esa forma cerrada: calcula EOQ igual a la raíz de (2 por D por S dividido por H), luego obtiene los pedidos al año como D entre EOQ, el coste anual de pedido como esa frecuencia por S, el coste anual de posesión como la mitad de EOQ por H, y el coste total anual de inventario como la suma de ambos.
Contrato de entrada, forma de la respuesta y comportamiento ante errores
El coste de posesión debe ser estrictamente positivo: cuando H es cero o negativo la expresión del EOQ es indefinida o carece de sentido, así que la tarea falla en lugar de devolver infinito o un cero vacío. Comprobación de libro: demanda anual mil, coste de pedido diez, coste de posesión cero coma cinco produce EOQ doscientos, cinco pedidos al año y costes anuales de pedido y de posesión iguales a cincuenta cada uno, con un coste total anual de cien. Mantenga las unidades coherentes: si la demanda está en cajas al año, el coste de posesión debe ser por caja y año, no por pieza. Envíe un cuerpo JSON con POST y tres números finitos positivos obligatorios: annual_demand (D, unidades al año), ordering_cost (S, moneda por pedido o por preparación) y holding_cost (H, moneda por unidad y año). Cada campo puede llegar como número JSON o como cadena numérica; los campos ausentes, las cadenas vacías, los valores no finitos, el cero y los negativos fallan con invalid_input indicando el campo. Si tiene éxito, el cuerpo repite los tres factores y devuelve eoq, orders_per_year, annual_ordering_cost, annual_holding_cost, total_annual_cost y una cadena breve de fórmula que reafirma EOQ igual a la raíz de (2 por D por S sobre H). Combine el resultado numérico con su propia política de tamaño de lote (redondeo a múltiplos de envase, cantidades mínimas de pedido o tramos de carga completa) fuera de este endpoint; la calculadora devuelve solo el óptimo continuo y no emite órdenes de compra ni asientos ERP.
Dónde aporta valor una calculadora EOQ
Los modelos de consultoría y los libros de trabajo de S&OP suelen necesitar un tamaño de lote base transparente antes de apilar descuentos por cantidad, reposición conjunta o asignación multi-almacén; llamar a una API de parseo pequeña evita incrustar raíces cuadradas frágiles en hojas de cálculo que se desvían cuando alguien cambia el formato de una celda. Como la implementación es parse de nivel A puro, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red de salida.
Preguntas técnicas
¿Cuánto cuesta la calculadora de cantidad económica de pedido?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago de KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.