Verbraucherpreisindex aus einem Warenkorb berechnen
Dieser Rechner bewertet denselben Warenkorb aus Gütern und Dienstleistungen zweimal: einmal mit den Preisen des Basisjahres und einmal mit den aktuellen Preisen.
Im Browser ausführen – kostenlos
Er teilt die aktuellen Warenkorbkosten durch die Basiskosten und multipliziert den Quotienten mit hundert. Geben Sie für jede Position die feste Menge und beide Preise ein. Sie erhalten beide Gesamtkosten, den Verbraucherpreisindex und die daraus folgende prozentuale Preisänderung. Weil die Mengen unverändert bleiben, bildet das Ergebnis Preisbewegungen ab und nicht Änderungen des Konsumverhaltens.
Stellen Sie einen wirklich festen Warenkorb zusammen
Ein Verbraucherpreisindex beginnt mit einem Warenkorb, der ein klar bestimmtes Verbrauchsmuster darstellt. Führen Sie jedes Gut oder jede Dienstleistung einmal auf, vergeben Sie eine eindeutige Bezeichnung und tragen Sie die im Bezugszeitraum gekaufte Menge ein. Für beide Bewertungen wird genau dieselbe Menge verwendet. Das ist entscheidend: Werden in der Basisrechnung zehn Brote, in der aktuellen Rechnung aber acht angesetzt, vermischt das Ergebnis Preis- und Mengenänderungen und ist kein Festwarenkorbindex mehr. Bruchteile sind etwa für Kilowattstunden, Kilogramm oder monatliche Leistungsanteile zulässig; jede Menge muss jedoch positiv sein. Verwenden Sie in beiden Perioden dieselbe Währung und Einheit. Ein Basispreis je Kilogramm lässt sich erst nach einer Umrechnung mit einem aktuellen Packungspreis vergleichen. Wählen Sie repräsentative Kategorien und dokumentieren Sie die Abdeckung. Der Rechner verarbeitet bis zu eintausend Positionen in einem transparenten Bewertungslauf, ohne Saisonbereinigung oder Ersetzungen.
Verstehen Sie Formel und Ergebnis
Für jede Zeile multipliziert der Rechner die feste Menge mit dem Stückpreis des Basisjahres und erhält so den Basiswert der Position. Getrennt davon wird dieselbe Menge mit dem aktuellen Stückpreis multipliziert. Die jeweiligen Summen ergeben die Basis- und aktuellen Warenkorbkosten. Der Verbraucherpreisindex entspricht den aktuellen Kosten geteilt durch die Basiskosten, multipliziert mit hundert. Ein Index von hundert bedeutet gleiche Gesamtkosten in beiden Perioden. Ein höherer Wert zeigt einen allgemeinen Anstieg, ein niedrigerer einen Rückgang. Die ausgewiesene Preisänderung ist der Index minus hundert: 112.5 entsprechen damit einem Anstieg um 12.5 Prozent gegenüber der Basisperiode. Positionen mit größeren Mengen oder Preisen beeinflussen das Ergebnis stärker. Die Basiskosten müssen positiv sein, weil eine Division durch einen Referenzkorb mit dem Wert null nicht definiert ist. Gerundet werden erst die ausgegebenen Werte, nachdem die Summen mit voller Genauigkeit berechnet wurden.
Deuten Sie Vergleiche sorgfältig
Das Ergebnis ist ein Preisindex für den von Ihnen eingegebenen Warenkorb und nicht automatisch ein amtlicher nationaler Verbraucherpreisindex. Statistikämter nutzen sorgfältige Preiserhebungen, Ausgabengewichte, Qualitätsbereinigungen, Ersatzregeln, saisonale Verfahren und regelmäßige Aktualisierungen. Ein privater, betrieblicher oder für den Unterricht erstellter Korb bleibt nützlich, wenn sein Umfang eindeutig und konsistent ist. Verwenden Sie dieselben Definitionen und Mengen, wenn Sie mehrere aktuelle Perioden mit einem Basisjahr vergleichen. Verschwindet ein Produkt, dokumentieren Sie einen vergleichbaren Ersatz, statt Größe oder Qualität unbemerkt zu ändern. Ein steigender Index zeigt höhere Kosten des festen Korbs, erklärt aber weder die verursachenden Positionen noch geänderte Einkäufe; prüfen Sie dazu die Einzelpreise. Das Werkzeug eignet sich für reproduzierbare Beispiele, interne Kostenbeobachtung und die Vermittlung des Laspeyres-Prinzips. Jede API-Anfrage kostet $0.002; im Browser läuft die Berechnung lokal. Bewahren Sie die Warenkorbdefinition mit jedem Ergebnis auf.
Anwendungsfälle
Privaten Warenkorb verfolgen
Vergleichen Sie eine einheitlich definierte Auswahl aus Lebensmitteln, Verkehr, Wohnen und Diensten mit einer Basisperiode.
Einkaufspreise überwachen
Bewerten Sie feste Einsatzmengen mit Vertrags- und aktuellen Lieferpreisen, um die Kostenentwicklung zusammenzufassen.
Indexmethoden vermitteln
Zeigen Sie, wie Mengen als Gewichte wirken und ein fester Warenkorb Preis- von Mengenänderungen trennt.
Häufige Fragen
Welche Formel verwendet der Rechner?
Er teilt die aktuellen Kosten des festen Warenkorbs durch dessen Kosten zu Basisjahrpreisen und multipliziert mit hundert.
Was bedeutet ein Index von 100?
Der Warenkorb hat zu aktuellen Preisen und zu Preisen des Basisjahres dieselben Gesamtkosten.
Dürfen sich die Mengen ändern?
Nein. Die Methode nutzt für beide Preissätze dieselbe Menge, damit sie Preise statt Kaufänderungen misst.
Darf eine Position den Preis null haben?
Ja, einzelne Preise dürfen null sein; die gesamten Basiskosten müssen jedoch größer als null sein.
Ist dies der amtliche Verbraucherpreisindex?
Nicht zwingend. Amtliche Indizes können zusätzlich Stichproben, Qualitätsanpassungen, Ersetzungen und weitere Verfahren nutzen.
Was kostet die Nutzung?
Die API kostet $0.002 je Anfrage. Die Browserversion führt dieselbe deterministische Berechnung lokal aus.
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/econ/cpi-from-basket \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"basket":[{"name":"Bread","quantity":10,"base_price":2,"current_price":2.5},{"name":"Milk","quantity":5,"base_price":3,"current_price":3.3},{"name":"Bus fares","quantity":20,"base_price":1.5,"current_price":1.8}]}'const res = await fetch("https://api.kit.forhosting.com/econ/cpi-from-basket", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"basket": [
{
"name": "Bread",
"quantity": 10,
"base_price": 2,
"current_price": 2.5
},
{
"name": "Milk",
"quantity": 5,
"base_price": 3,
"current_price": 3.3
},
{
"name": "Bus fares",
"quantity": 20,
"base_price": 1.5,
"current_price": 1.8
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/cpi-from-basket",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"basket": [
{
"name": "Bread",
"quantity": 10,
"base_price": 2,
"current_price": 2.5
},
{
"name": "Milk",
"quantity": 5,
"base_price": 3,
"current_price": 3.3
},
{
"name": "Bus fares",
"quantity": 20,
"base_price": 1.5,
"current_price": 1.8
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/cpi-from-basket", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"basket":[{"name":"Bread","quantity":10,"base_price":2,"current_price":2.5},{"name":"Milk","quantity":5,"base_price":3,"current_price":3.3},{"name":"Bus fares","quantity":20,"base_price":1.5,"current_price":1.8}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"basket":[{"name":"Bread","quantity":10,"base_price":2,"current_price":2.5},{"name":"Milk","quantity":5,"base_price":3,"current_price":3.3},{"name":"Bus fares","quantity":20,"base_price":1.5,"current_price":1.8}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/cpi-from-basket", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"basket": [
{
"name": "Bread",
"quantity": 10,
"base_price": 2,
"current_price": 2.5
},
{
"name": "Milk",
"quantity": 5,
"base_price": 3,
"current_price": 3.3
},
{
"name": "Bus fares",
"quantity": 20,
"base_price": 1.5,
"current_price": 1.8
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.cpi_from_basket",
"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. |