MAPE-Rechner: mittlerer absoluter prozentualer Fehler
Dieser Rechner vergleicht eine geordnete Reihe beobachteter Werte mit einer gleich langen Reihe von Prognosen und gibt den Mittelwert ihrer absoluten prozentualen Abweichungen zurück.
Im Browser ausführen – kostenlos
MAPE stellt Fehler als leicht verständlichen Prozentsatz dar und erleichtert Vergleiche zwischen Prognosen unterschiedlicher Größenordnung. Geben Sie zusammengehörige Werte in derselben Reihenfolge ein, um den Prozentsatz und die Anzahl der ausgewerteten Paare zu erhalten. Beobachtungen mit dem Wert null werden abgelehnt, da ein prozentualer Fehler bei einem Nenner von null nicht definiert ist und Berichte verfälschen würde.
Richten Sie Ist- und Prognosewerte korrekt aus
Bereiten Sie zwei Arrays vor, die dieselben Ereignisse in derselben Reihenfolge beschreiben. Der erste Istwert muss zur ersten Prognose gehören, der zweite zur zweiten und so weiter. Beide Arrays müssen gleich lang sein, mindestens eine endliche Zahl enthalten und die veröffentlichte Grenze einhalten. Kein Istwert darf null sein, weil er als Nenner dient. Prognosen dürfen null oder negativ sein, sofern dies fachlich sinnvoll ist. Verwenden Sie weder null, leere Zeichenfolgen, als Text geschriebene Zahlen, Infinity noch NaN; zulässig sind ausschließlich endliche JSON-Zahlen. Prüfen Sie außerdem übereinstimmende Einheiten. Umsätze in Euro dürfen nicht mit Prognosen in Tausend Euro verglichen werden. Senden Sie die Arrays in observed und predicted. Die Antwort enthält mape als Prozentsatz und count als Anzahl der ausgewerteten Paare, sodass Sie die Abdeckung prüfen können.
Verstehen Sie die Berechnung
Für jedes Paar zieht der Rechner die Prognose vom Istwert ab, bildet den Absolutbetrag der Differenz und teilt ihn gemäß der Standardformel durch den Istwert. Anschließend mittelt er diese Verhältnisse und multipliziert das Ergebnis mit 100. Ein mape von 8.5 bedeutet somit eine durchschnittliche absolute Abweichung von 8.5 Prozent, ohne die Richtung einzelner Fehler zu bewahren. Der Absolutbetrag verhindert, dass sich positive und negative Abweichungen aufheben. Jedes Paar hat unabhängig von seiner Größe dasselbe Gewicht. Deshalb kann ein kleiner Istwert einen sehr hohen Prozentfehler erzeugen. Die Implementierung rechnet deterministisch mit Gleitkommazahlen und rundet nicht; Sie können die passende Anzeigegenauigkeit selbst festlegen. Das Feld count bestätigt, wie viele Paare tatsächlich in die Berechnung eingegangen sind.
Deuten Sie MAPE mit Bedacht
MAPE eignet sich besonders, wenn Istwerte ungleich null sind, eine sinnvolle Verhältnisskala besitzen und prozentuale Abweichungen die fachliche Frage beantworten. Die Kennzahl wird häufig für Nachfrage, Verkehr, Umsatz und Bestand verwendet. Vergleichen Sie nur einheitlich vorbereitete Datensätze, denn ein anderer Zeitraum oder Produktmix kann das Ergebnis stark verändern. Bei Werten nahe null ist Vorsicht geboten: Schon eine geringe absolute Abweichung kann den Mittelwert beherrschen. Negative Beobachtungen werden mathematisch akzeptiert, sind prozentual aber oft schwer zu deuten. MAPE zeigt weder Verzerrung noch zeitliche Muster oder die Fehlerverteilung. Ergänzen Sie eine vorzeichenbehaftete Kennzahl, wenn systematische Überschätzung wichtig ist, oder nutzen Sie bei häufigen Nullen MAE, RMSE, WAPE beziehungsweise ein fachliches Maß. Die API kostet $0.002 je Anfrage und weist ungültige Eingaben ausdrücklich zurück.
Anwendungsfälle
Nachfrageprognosen bewerten
Vergleichen Sie die prognostizierte Wochennachfrage mit beobachteten Verkäufen ungleich null und berichten Sie den mittleren Prozentfehler.
Modellversionen überwachen
Berechnen Sie dieselbe Kennzahl für Modellkandidaten und verfolgen Sie Verbesserungen der prozentualen Genauigkeit.
Planungsschätzungen prüfen
Messen Sie, wie nahe geplante Budgets, Zugriffe oder Kapazitäten an den späteren Istwerten lagen.
Häufige Fragen
Was bedeutet der ausgegebene MAPE-Wert?
Er ist der mittlere absolute prozentuale Fehler. Ein Wert von 7 steht für eine durchschnittliche absolute Abweichung von 7 Prozent.
Warum werden Istwerte von null abgelehnt?
Jeder Prozentfehler wird durch den Istwert geteilt. Eine Division durch null ist nicht definiert, daher wird die gesamte Eingabe abgelehnt.
Müssen beide Arrays gleich lang sein?
Ja. Jeder Beobachtung muss genau eine Prognose entsprechen; unterschiedliche Längen gelten als ungültig.
Rundet der Rechner das Ergebnis?
Nein. Er gibt das deterministische Gleitkommaergebnis aus, damit Sie die geeignete Genauigkeit wählen können.
Dürfen Istwerte negativ sein?
Ja, endliche negative Werte sind zulässig, auch wenn MAPE bei fachlich bedeutsamen Vorzeichen schwerer zu interpretieren ist.
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/stat/mape-error \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"observed":[100,200,50,400],"predicted":[110,190,55,360]}'const res = await fetch("https://api.kit.forhosting.com/stat/mape-error", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"observed": [
100,
200,
50,
400
],
"predicted": [
110,
190,
55,
360
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/mape-error",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"observed": [
100,
200,
50,
400
],
"predicted": [
110,
190,
55,
360
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/mape-error", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"observed":[100,200,50,400],"predicted":[110,190,55,360]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"observed":[100,200,50,400],"predicted":[110,190,55,360]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/mape-error", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"observed": [
100,
200,
50,
400
],
"predicted": [
110,
190,
55,
360
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.mape_error",
"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.
Limits
max_items | 100000 |
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. |