EOQ-Rechner
Bei 1000 Stück Jahresbedarf, 10 je Bestellung und 0,5 Lagerkosten je Stück und Jahr liegt die optimale Bestellmenge bei 200 Stück: fünf Bestellungen pro Jahr und je 50 bei beiden Kostenarten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Jahresbedarf
- 1.000
- Bestellkosten
- 10
- Lagerhaltungskosten
- 0,5
- Eoq
- 200
- Bestellungen pro Jahr
- 5
- Jährliche Bestellkosten
- 50
- Jährliche Lagerhaltungskosten
- 50
Die optimale Bestellmenge, oder EOQ, ist die Losgröße, die die Summe aus Bestellkosten und Lagerhaltungskosten minimiert, wenn der Jahresbedarf stabil ist. Einkauf und Operations nutzen weiterhin die Quadratwurzel-Identität nach Harris–Wilson, weil nur drei Zahlen nötig sind, die Sie bereits haben: den Jahresbedarf in Stück, die Kosten einer Bestellung und die Kosten, eine Einheit ein Jahr zu halten. Dieser EOQ-Rechner nimmt diese drei endlichen Größen entgegen und liefert die optimale Bestellgröße, dazu die implizite Zahl der Bestellungen pro Jahr und die beiden Kostenbeine, die sich im Minimum treffen.
Was die optimale Bestellmenge ist und woher die Quadratwurzel kommt
Die optimale Bestellmenge ist die Bestellgröße Q, die die Summe zweier gegenläufiger Bestandskosten minimiert, wenn der Bedarf gleichmäßig und die Wiederbeschaffung instantan ist. Die jährlichen Bestellkosten fallen, wenn Q wächst, weil Sie über das Jahr weniger Nachschubaufträge auslösen. Die jährlichen Lagerhaltungskosten steigen, wenn Q wächst, weil der mittlere Griffbestand im klassischen Sägezahn Q geteilt durch zwei ist.
Die Harris–Wilson-Formel findet das einzige positive Q, an dem diese beiden Kostenbeine gleich sind: EOQ ist die Quadratwurzel aus zwei mal Jahresbedarf mal Bestellkosten je Auftrag, geteilt durch die Lagerhaltungskosten je Einheit und Jahr. Der Jahresbedarf ist die Zahl der Einheiten, die Sie in einem Jahr zu verbrauchen oder zu verkaufen erwarten. Bestellkosten sind die Fixkosten, einen Einkauf oder einen Fertigungsauftrag auszulösen — Schriftverkehr, Wareneingang oder Maschineneinrichtung — nicht der Einkaufspreis der Ware.
Lagerhaltungskosten sind die Kosten, eine Einheit ein Jahr zu tragen, einschließlich Kapital, Lager, Versicherung und Veralterung, und sie müssen streng positiv sein. Sind die Lagerhaltungskosten null, ist die Quadratwurzel-Identität undefiniert: es gäbe keine Strafe für unendlichen Bestand, das Modell gilt nicht, und dieser Endpunkt lehnt die Anfrage ab. Die Fähigkeit liefert jene Wurzelmenge als eoq und, wenn die Menge positiv ist, die Bestellungen pro Jahr als Jahresbedarf geteilt durch eoq zusammen mit den beiden jährlichen Kostenbeinen, die sich im Minimum treffen.
Sie wendet weder Mengenrabatte noch endliche Wiederbeschaffung (das Produktionsmengenmodell) noch Sicherheitsbestand an; das sind andere Modelle mit Extra-Parametern.
Wo ein EOQ-Rechner seinen Platz verdient
Einkäufer und Bestandsplaner nutzen einen Rechner für die optimale Bestellmenge, wenn ein SKU einen hinreichend stabilen Jahresbedarf hat und sie eine Losgröße wollen, die das Lager nicht überbestellt und auch nicht in einen Sturm von Einrichtungsbelegen unterbestellt. Fertigungsleiter nutzen dieselben drei Zahlen als Prüfung von Rüstkosten gegen Lagerhaltungskosten, bevor sie eine Lauflänge ändern. Operations-Research- und Lieferketten-Seminare brauchen ein deterministisches Orakel der Wilson-Formel, damit Hausaufgaben, LMS-Plugins und Klausurgeneratoren dieselbe Wurzel markieren, die ein Studierender von Hand rechnen würde, einschließlich des harten Fehlers, wenn die Lagerhaltungskosten nicht positiv sind.
Ungültige Eingabe wird nicht abgerechnet.
Anwendungsfälle
Einkaufslosgröße für ein stabiles SKU
Verwandeln Sie Jahresbedarf, Bestellkosten je Auftrag und Lagerhaltungskosten je Einheit und Jahr in die Zykluslosgröße, die ein Einkäufer neben die aktuellen Packmengen legen kann.
Seminar- und Klausurprüfungen der Wilson-Formel
Bewerten Sie EOQ-Hausaufgaben und erzeugte Klausuraufgaben mit einem deterministischen Quadratwurzel-Orakel, das nicht positive Lagerhaltungskosten zurückweist statt Unendlich zu erfinden.
Wiederbeschaffungs- und Lauflängenrunden
Legen Sie dieselben drei Politikzahlen in eine Fertigungs- oder Bestandsrunde, damit Rüstkosten und Lagerhaltungskosten sich an einer dokumentierten Losgröße treffen.
Häufige Fragen
Was geschieht, wenn die Lagerhaltungskosten null oder negativ sind?
Die Lagerhaltungskosten je Einheit und Jahr müssen eine endliche Zahl größer als null sein; eine Belastung von null oder darunter macht die EOQ-Quadratwurzel-Identität undefiniert und wird nicht abgerechnet.
Soll die EOQ auf eine ganze Stückzahl gerundet werden?
Der Endpunkt liefert die reelle Harris–Wilson-Menge, half-up auf sechs Dezimalstellen gerundet. Kann Ihr SKU nicht geteilt werden, runden Sie diese Zahl in Ihrer eigenen Politik auf eine machbare Packgröße; das Modell selbst erzwingt keine ganzen Lose.
Enthält die EOQ Sicherheitsbestand oder Mengenrabatte?
Nein. Dieser Rechner ist das Grundmodell EOQ mit instantaner Wiederbeschaffung und ohne Rabatte. Sicherheitsbestand, Meldebestand, endliche Fertigungsraten (EPQ) und Preisstaffeltabellen sind eigene Modelle mit Extra-Eingaben.
Wie lautet die Formel für die optimale Bestellmenge?
Sie ist die Quadratwurzel aus zweimal Jahresbedarf mal Kosten je Bestellung, geteilt durch die Lagerkosten je Stück und Jahr. Mit 1000 Stück, 10 je Bestellung und 0,5 Lagerkosten erhalten Sie 200 Stück.
Was gehört zu den Bestellkosten und was zu den Lagerkosten?
Bestellkosten sind die festen Kosten einer Bestellung: Formalitäten, Wareneingang oder Rüsten einer Maschine, nicht der Warenpreis. Lagerkosten sind, was ein Stück ein Jahr lang kostet: Kapital, Lagerfläche, Versicherung und Veralterung.
Was passiert, wenn die Lagerkosten null oder negativ sind?
Dann wird die Berechnung abgelehnt. Ohne Kosten für das Lagern gäbe es keinen Grund, nicht unbegrenzt viel zu bestellen, und die Wurzelformel hätte keine Lösung. Geben Sie daher Lagerkosten über null ein.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"annual_demand": 1000,
"ordering_cost": 10,
"holding_cost": 0.5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.eoq",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Die Lagerhaltungskosten müssen streng positiv sein; eine Lagerbelastung von null oder darunter würde durch null teilen und wird mit invalid_input zurückgewiesen statt einer hohlen Unendlichkeitsmenge.
Eingabevertrag, Antwortform und Fehlerverhalten
Bei Erfolg wiederholt der Körper die drei Eingaben und berichtet eoq. Beispiel: eintausend Einheiten Jahresbedarf, zehn Bestellkosten je Auftrag und ein Halbes an Lagerhaltungskosten je Einheit und Jahr ergeben eine optimale Bestellmenge von zweihundert Einheiten, fünf Bestellungen pro Jahr und fünfzig je Kostenbein. Senden Sie per POST einen JSON-Körper mit drei erforderlichen endlichen Zahlen. annual_demand sind Einheiten pro Jahr; die Aliasse demand und yearly_demand zeigen auf dasselbe Feld. ordering_cost sind die Fixkosten, einen Auftrag auszulösen; die Aliasse order_cost und setup_cost werden akzeptiert, damit das Einkaufsbuch seine Spaltennamen behält. holding_cost ist die Lagerbelastung je Einheit und Jahr; die Aliasse carrying_cost und holding_cost_per_unit werden akzeptiert. Jedes Zahlenfeld darf als JSON-Zahl oder numerische Zeichenkette ankommen. Fehlende Felder, leere Zeichenketten und nicht endliche Werte scheitern mit invalid_input unter Nennung des Feldes. Ist annual_demand oder ordering_cost negativ, scheitert die Anfrage. Diese Fehlschläge werden nicht abgerechnet. Ist eoq positiv, enthält der Körper außerdem orders_per_year, annual_ordering_cost, annual_holding_cost und total_relevant_cost; diese optionalen Beine werden weggelassen, niemals null, wenn eoq null ist. Verbinden Sie das JSON mit Ihrem eigenen Lieferzeitpuffer, wenn Sie einen Meldebestand brauchen; dieser Endpunkt liefert nur die Zykluslosgröße, keinen Sicherheitsbestandsplan.
Wo ein EOQ-Rechner seinen Platz verdient
Weil die Umsetzung reines Parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Grundpreis $0.002 ohne Modelltoken und ohne ausgehendes Netz. Halten Sie holding_cost streng positiv, annual_demand und ordering_cost nicht negativ, nageln Sie die gerundete Losgröße in Tests fest, und Sie erhalten eine reproduzierbare optimale Bestellmenge für Einkaufslisten, Seminarräume und Edge-Worker, ohne eine eigene MRP-Maschine aufzubauen.
Technische Fragen
Wie wird die optimale Bestellmenge berechnet?
EOQ = sqrt(2 × annual_demand × ordering_cost / holding_cost). Ist diese Losgröße positiv, liefert die API außerdem Bestellungen pro Jahr (annual_demand / EOQ) und die beiden jährlichen Kostenbeine, die im Minimum gleich sind.
Was kostet der EOQ-Rechner?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht abgerechnet.