Calcolatore EOQ
Con una domanda di 1000 unità all'anno, 10 per ordine e 0,5 per unità all'anno di giacenza, il lotto economico è di 200 unità: cinque ordini all'anno e 50 per ciascun costo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Domanda annuale
- 1000
- Costo di ordinazione
- 10
- Costo di mantenimento delle scorte
- 0,5
- Eoq
- 200
- Ordini all'anno
- 5
- Costo annuale di ordinazione
- 50
- Costo annuale di mantenimento delle scorte
- 50
Il lotto economico d'acquisto, o EOQ, è la dimensione di lotto che minimizza la somma del costo di ordinazione e del costo di giacenza quando la domanda annuale è stabile. I team di acquisti e di operazioni usano ancora l'identità a radice quadrata di Harris–Wilson perché bastano tre cifre che Lei ha già: la domanda annuale in unità, il costo di emettere un ordine e il costo di detenere un'unità per un anno. Questo calcolatore EOQ accetta quelle tre grandezze finite e restituisce la dimensione d'ordine ottima, più il numero implicito di ordini all'anno e le due gambe di costo che si incontrano al minimo.
Che cos'è il lotto economico e da dove nasce la radice quadrata
Il lotto economico d'acquisto è la dimensione d'ordine Q che minimizza la somma di due costi di magazzino opposti quando la domanda è costante e il rifornimento è istantaneo. Il costo annuale di ordinazione scende al crescere di Q, perché Lei emette meno rifornimenti nel corso dell'anno. Il costo annuale di giacenza sale al crescere di Q, perché la scorta media a disposizione nel classico a dente di sega è Q diviso due.
La formula di Harris–Wilson trova l'unico Q positivo in cui quelle due gambe di costo coincidono: EOQ è la radice quadrata di due volte la domanda annuale per il costo di ordinazione per ordine, divisa per il costo di giacenza per unità e per anno. La domanda annuale è il numero di unità che Lei prevede di usare o vendere in un anno.
Il costo di ordinazione è il costo fisso di emettere un acquisto o un ordine di produzione — pratica, ricevimento o setup di macchina — non il prezzo d'acquisto della merce. Il costo di giacenza è quello di portare un'unità per un anno, coprendo capitale, magazzino, assicurazione e obsolescenza, e deve essere strettamente positivo. La capacità restituisce quella quantità-radice come eoq e, quando la quantità è positiva, gli ordini all'anno come domanda annuale divisa per eoq insieme alle due gambe di costo annuale che si incontrano al minimo.
Non applica sconti per quantità, rifornimento finito (il modello di quantità di produzione) né scorta di sicurezza; sono modelli diversi con parametri extra.
Dove un calcolatore EOQ merita il proprio posto
Acquirenti e pianificatori di magazzino usano un calcolatore di lotto economico quando un SKU ha domanda annuale ragionevolmente stabile e vogliono una dimensione di lotto che non sovraordini il magazzino né sottoordini fino a una tempesta di ticket di setup. I supervisori di produzione usano le stesse tre cifre come controllo del costo di setup rispetto al costo di giacenza prima di cambiare la lunghezza di una corsa.
Le aule di ricerca operativa e di catena di fornitura hanno bisogno di un oracolo deterministico della formula di Wilson perché compiti, plugin LMS e generatori d'esame segnino la stessa radice che uno studente calcolerebbe a mano, compreso il fallimento netto quando il costo di giacenza non è positivo. La convalida fallita non consuma saldo.
Casi d'uso
Dimensione di lotto d'acquisto per uno SKU stabile
Trasformi la domanda annuale, il costo di ordinazione per ordine e il costo di giacenza per unità e per anno nel lotto di ciclo che un acquirente può porre accanto alle quantità di confezione attuali.
Controlli d'aula e d'esame della formula di Wilson
Valuti i compiti EOQ e le voci d'esame generate con un oracolo deterministico a radice quadrata che rifiuta un costo di giacenza non positivo invece di inventare l'infinito.
Revisioni di rifornimento e di lunghezza di corsa
Versi le stesse tre cifre di politica in una revisione di produzione o di magazzino perché il costo di setup e quello di giacenza si incontrino su una dimensione di lotto documentata.
Domande frequenti
Che succede se il costo di giacenza è zero o negativo?
Il costo di giacenza per unità e per anno deve essere un numero finito maggiore di zero; un onere nullo o negativo rende indefinita l'identità a radice quadrata EOQ e non viene fatturato.
Si deve arrotondare l'EOQ a un numero intero di unità?
Se il Suo SKU non è frazionabile, arrotondi quella cifra a una dimensione di confezione fattibile nella propria politica; il modello non impone lotti interi.
L'EOQ include la scorta di sicurezza o gli sconti per quantità?
No. Questo calcolatore è il modello EOQ di base con rifornimento istantaneo e senza sconti. Scorta di sicurezza, punto di riordino, ritmi di produzione finiti (EPQ) e tabelle di scaglioni di prezzo sono modelli distinti con ingressi extra.
Qual è la formula del lotto economico d'acquisto?
È la radice quadrata di due volte la domanda annua per il costo di ogni ordine, divisa per il costo di giacenza per unità all'anno. Con 1000 unità, 10 per ordine e 0,5 di giacenza si ottengono 200 unità.
Che cosa va nel costo di ordinazione e in quello di giacenza?
Il costo di ordinazione è la spesa fissa per emettere un ordine: pratiche, ricevimento o attrezzaggio della macchina, non il prezzo della merce. Quello di giacenza è quanto costa tenere un'unità per un anno: capitale, magazzino, assicurazione e obsolescenza.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/fin/eoq \
-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/fin/eoq", {
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/fin/eoq",
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/fin/eoq", 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/fin/eoq", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"annual_demand": 1000,
"ordering_cost": 10,
"holding_cost": 0.5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.eoq",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Il costo di giacenza deve essere strettamente positivo; un onere di magazzino nullo o negativo dividerebbe per zero e viene rifiutato con invalid_input invece di una quantità vuota di infinito.
Che cos'è il lotto economico e da dove nasce la radice quadrata
Quando il costo di giacenza è zero l'identità a radice quadrata resta indefinita: non vi sarebbe penalità per una scorta infinita, quindi il modello non si applica e questo endpoint rifiuta la richiesta.
Contratto di ingresso, forma della risposta e comportamento di errore
Quei fallimenti non vengono fatturati. Se la convalida passa, il corpo ripete le tre voci e indica eoq. Esempio: mille unità di domanda annuale, dieci di costo di ordinazione per ordine e un mezzo di costo di giacenza per unità e per anno producono un lotto economico di duecento unità, cinque ordini all'anno e cinquanta di ciascuna gamba di costo. Invii per POST un corpo JSON con tre numeri finiti obbligatori. annual_demand è le unità per anno; gli alias demand e yearly_demand puntano allo stesso campo. ordering_cost è il costo fisso di emettere un ordine; gli alias order_cost e setup_cost sono accettati perché il libro acquisti conservi il nome delle colonne. holding_cost è l'onere di giacenza per unità e per anno; gli alias carrying_cost e holding_cost_per_unit sono accettati. Ogni campo numerico può arrivare come numero JSON o stringa numerica. Campi assenti, stringhe vuote e valori non finiti falliscono con invalid_input indicando il campo. Se holding_cost è zero o negativo, il gestore rifiuta la richiesta con un messaggio secondo cui il costo di giacenza per unità e per anno deve essere positivo, perché l'identità EOQ dividerebbe per zero. Se annual_demand o ordering_cost è negativo, la richiesta fallisce. Quando eoq è positivo, il corpo include anche orders_per_year, annual_ordering_cost, annual_holding_cost e total_relevant_cost; quelle gambe facoltative sono omesse, mai null, quando eoq è zero. Abbini il JSON al proprio polmone di lead time se Le serve un punto di riordino; questo endpoint restituisce solo la dimensione di lotto di ciclo, non un calendario di scorta di sicurezza.
Dove un calcolatore EOQ merita il proprio posto
Poiché l'implementazione è parse pura di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita. Mantenga holding_cost strettamente positivo, annual_demand e ordering_cost non negativi, fissi nelle prove la dimensione di lotto arrotondata e otterrà un lotto economico riproducibile per elenchi d'acquisto, aule e worker di bordo senza montare un motore MRP proprio.
Domande tecniche
Come si calcola il lotto economico d'acquisto?
EOQ = sqrt(2 × annual_demand × ordering_cost / holding_cost). Quando quella dimensione di lotto è positiva, l'API restituisce anche gli ordini all'anno (annual_demand / EOQ) e le due gambe di costo annuale che coincidono al minimo.
Quanto costa il calcolatore EOQ?
Lo strumento del browser è gratuito. Le richieste API usano saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non viene fatturato.