{
 "quelle": "Goodsway Preisbarometer",
 "dokument": "Methodik",
 "methodik_version": "1.0.0",
 "geaendert_am": "2026-11-13",
 "versionierung": "MAJOR: Rechenweg oder Datenbasis geändert, Zahlen früherer Ausgaben nicht mehr vergleichbar. MINOR: neue Kennzahl oder Warengruppe. PATCH: Textkorrektur.",
 "url": "https://goodsway.de/preisbarometer/methodik.json",
 "seite": "https://goodsway.de/preisbarometer",
 "lizenz": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/deed.de)",
 "hinweis": "Bitte Quelle nennen und die Seite verlinken.",
 "aktualisierung": {
  "rhythmus": "monatlich",
  "erscheint": "am 1. Tag eines Monats",
  "aktuelle_ausgabe": "2026-11",
  "stand": "2026-11-13"
 },
 "datenbasis": {
  "beschreibung": "Angebote von Partnershops, die der Auswertung ihrer Daten zugestimmt haben. Das ist nicht der gesamte Markt. Shopnamen und Zahl der Shops werden nicht veröffentlicht.",
  "ausgeschlossen": [
   "Gebrauchtware und aufbereitete Ware",
   "inaktive Angebote und Preise ohne positiven Wert",
   "Angebote, deren Titel nicht zur Warengruppe passt (z. B. bei Reifen ohne Reifengröße im Titel, bei Kopfhörern Zubehör wie Ladestationen oder Taschen)",
   "Angebote mit Preissprung über Faktor 3 innerhalb des Fensters (als Datenfehler)"
  ],
  "stichprobe": "Je Warengruppe höchstens 5000 Angebote, zufällig mit festem Startwert (42) gezogen, daher wiederholbar. Die Zahl der aktiven Angebote wird auf die Gesamtzahl hochgerechnet."
 },
 "rechenweg": {
  "vergleich": "Dasselbe Angebot beim selben Shop: letzter Preis zum Stichtag gegen letzter Preis vor 30 Tagen. Angebote ohne Preis zu beiden Zeitpunkten fließen nicht ein.",
  "fenster_tage": 30,
  "wochen_zurueck": 8,
  "mittelwert": "geometrisch, wie bei amtlichen Preisindizes üblich",
  "mindestzahl_angebote_mit_verlauf": 150,
  "mindestzahl_hinweis": "Warengruppen mit weniger Angeboten mit Verlauf werden nicht veröffentlicht.",
  "ausreisser_faktor": 3,
  "wochenindex_mindestzahl_angebote": 30
 },
 "kennzahlen": [
  {
   "name": "Angebote aktiv",
   "feld": "angebote_aktiv",
   "csv_spalte": null,
   "einheit": "Anzahl",
   "beschreibung": "Aktive Angebote (Neuware) der Warengruppe, aus der Stichprobe auf die Gesamtzahl hochgerechnet."
  },
  {
   "name": "Datenbasis",
   "feld": "angebote_mit_verlauf",
   "csv_spalte": "angebote_mit_verlauf",
   "einheit": "Anzahl",
   "beschreibung": "Angebote, für die ein Preis vor 30 Tagen vorliegt und die in die Berechnung eingehen."
  },
  {
   "name": "Preisindex 30 Tage",
   "feld": "index",
   "csv_spalte": "preisindex_30_tage",
   "einheit": "Index, 100 = unverändert",
   "beschreibung": "Geometrisches Mittel der Preisverhältnisse (Preis heute durch Preis vor 30 Tagen) je Angebot, mal 100."
  },
  {
   "name": "Anteil billiger",
   "feld": "anteil_billiger_pct",
   "csv_spalte": "anteil_billiger_prozent",
   "einheit": "Prozent",
   "beschreibung": "Anteil der Angebote, die heute um mehr als 0,1 Prozent günstiger sind als vor 30 Tagen."
  },
  {
   "name": "Anteil teurer",
   "feld": "anteil_teurer_pct",
   "csv_spalte": "anteil_teurer_prozent",
   "einheit": "Prozent",
   "beschreibung": "Anteil der Angebote, die heute um mehr als 0,1 Prozent teurer sind als vor 30 Tagen."
  },
  {
   "name": "Anteil am 30-Tage-Tief",
   "feld": "anteil_am_tief_pct",
   "csv_spalte": "anteil_am_30_tage_tief_prozent",
   "einheit": "Prozent",
   "beschreibung": "Anteil der Angebote, deren Preis heute höchstens 0,1 Prozent über dem niedrigsten Preis der letzten 30 Tage liegt."
  },
  {
   "name": "Aufschlag auf das 30-Tage-Tief, Median",
   "feld": "median_ueber_tief_pct",
   "csv_spalte": "median_ueber_30_tage_tief_prozent",
   "einheit": "Prozent",
   "beschreibung": "Median des Aufschlags auf das 30-Tage-Tief bei den Angeboten, die nicht darauf stehen."
  },
  {
   "name": "Aufschlag auf das 30-Tage-Tief, 75. Perzentil",
   "feld": "p75_ueber_tief_pct",
   "csv_spalte": null,
   "einheit": "Prozent",
   "beschreibung": "75. Perzentil desselben Aufschlags. Leer (null), wenn höchstens vier Angebote über dem Tief stehen."
  },
  {
   "name": "Preisänderungen je Angebot",
   "feld": "median_aenderungen",
   "csv_spalte": "median_preisaenderungen_30_tage",
   "einheit": "Anzahl",
   "beschreibung": "Median der Preisänderungen eines Angebots in den letzten 30 Tagen."
  },
  {
   "name": "Wochenverlauf",
   "feld": "wochenindex",
   "csv_spalte": null,
   "einheit": "Index, erster Stichtag = 100",
   "beschreibung": "Preisindex zu neun Stichtagen im Wochenabstand, bezogen auf den ersten. Ein Stichtag mit weniger als 30 vergleichbaren Angeboten bleibt leer (null)."
  },
  {
   "name": "Shop-Spanne",
   "feld": "haendlerspanne",
   "csv_spalte": "shopspanne_median_prozent",
   "einheit": "Prozent",
   "beschreibung": "Je EAN mit Angeboten von mindestens zwei Shops: (höchster durch niedrigsten Preis minus 1) mal 100, Median über alle EAN (Feld median_pct; modelle = Zahl der EAN, anteil_ueber_20_pct = Anteil mit mehr als 20 Prozent Spanne). EAN mit Faktor über 3 bleiben unberücksichtigt, ebenso eine Spanne aus weniger als 20 EAN. Nur bei breit getragener Warengruppe, sonst null."
  }
 ],
 "warengruppen": [
  "Winterreifen",
  "Ganzjahresreifen",
  "Toner",
  "Tintenpatronen",
  "Kopfhörer"
 ],
 "ausgaben": [
  {
   "ausgabe": "2026-11",
   "stand": "2026-11-13",
   "seite": "https://goodsway.de/preisbarometer",
   "json": "https://goodsway.de/preisbarometer/daten/2026-11.json",
   "csv": "https://goodsway.de/preisbarometer/daten/2026-11.csv"
  },
  {
   "ausgabe": "2026-09",
   "stand": "2026-09-29",
   "seite": "https://goodsway.de/preisbarometer/2026-09",
   "json": "https://goodsway.de/preisbarometer/daten/2026-09.json",
   "csv": "https://goodsway.de/preisbarometer/daten/2026-09.csv"
  }
 ],
 "aenderungsprotokoll": [
  {
   "version": "1.0.0",
   "datum": "2026-11-13",
   "aenderung": "Erste maschinenlesbare Fassung: Rechenweg, Kennzahlen, Ausschlussregeln und Datenbasis. Gilt für die Ausgaben ab 2026-11."
  }
 ]
}