tapscrollWIKI

Preis-Intelligenz

Wie Gavel den Wert eines Items schätzt — gewichteter Median abgeschlossener Verkäufe, Zeitzerfall, Trimming, Konfidenz und Verkaufsquoten.

Gavel v1.0.0Paper · Folia supported1.21 – 1.21.x

Der Preis-Assistent beantwortet zwei Fragen: was ist das wert und wird es sich verkaufen. Beides kommt aus derselben Stichprobe abgeschlossener Verkäufe.

Verkäufe, keine Wunschpreise

Aktive Angebote fließen in keine Schätzung ein. Sie sind, was Verkäufer sich erhoffen — und wer sie verwendet, erzeugt eine Rückkopplung, bei der sich jedes Angebot am Preis des letzten Optimisten orientiert und der „Marktwert" ewig steigt.

Aktive Angebote werden für genau eine Sache genutzt: die Anzeige des aktuell günstigsten Exemplars.

Die Stichprobe bauen

plugins/Gavel/config.yml
pricing:  enabled: true  window-days: 30  half-life-days: 5.0  min-samples: 5  confidence:    high: 25    medium: 10  max-share-per-seller: 0.30  outlier-iqr-factor: 1.5

Vier Filter, in dieser Reihenfolge:

1. Zeitfenster. Nur Verkäufe der letzten window-days (30) zählen.

2. Zeitzerfall. Ein Verkauf, der half-life-days alt ist, zählt halb so viel wie einer von heute. Kleinerer Wert = die Schätzung reagiert schneller auf einen sich verschiebenden Markt; größerer Wert = ruhiger, aber träger.

3. Ausreißer-Trimming. Werte, die weiter als outlier-iqr-factor Interquartilsabstände vom Median entfernt liegen, fliegen raus. Das entfernt das versehentliche „Netheritschwert für 1 verkauft", ohne dass du eine Plausibilitätsliste pflegen musst.

4. Verkäufer-Deckel. Kein einzelner Verkäufer stellt mehr als max-share-per-seller (30 %) der gewichteten Stichprobe. Ein Spieler mit zwanzig Angeboten definiert den Marktpreis nicht.

Konfidenz

DatenpunkteStufe
25 oder mehrHoch
10–24Mittel
5–9Niedrig
Weniger als min-samples (5)Nicht belastbar — Fallback-Kaskade

Die Stufe steht im GUI neben der Schätzung. Eine Schätzung ohne ihre Konfidenz ist eine Vermutung im Anzug.

Die Fallback-Kaskade

Unter min-samples ist eine exakte Schätzung nicht vertrauenswürdig, also geht Gavel eine Stufe zurück:

YAML
pricing:  fallback:    relaxed-key: true    component-estimate: true    component-confidence-penalty: 0.75
  1. Exakter Schlüssel — dieses Item mit diesen Verzauberungen und diesem NBT.
  2. Gelockerter Schlüssel — nur das Material, Verzauberungen ignoriert.
  3. Komponenten-Schätzung — Materialwert plus Wert jeder Verzauberung, abgeleitet aus Verkäufen verzauberter Bücher.

Die Komponenten-Schätzung ist der Grund, warum Gavel eine Kombination bepreisen kann, die auf deinem Server noch nie verkauft wurde. Sie ist naturgemäß grob, deshalb rechnet component-confidence-penalty sie herunter, damit sie konservativ statt maßgeblich wirkt.

Drei Vorschläge, nicht einer

YAML
pricing:  suggestions:    quick-percentile: 25    fair-percentile: 50    patient-percentile: 75
VorschlagPerzentilLiest sich als
Schnell25.Verkauft sich zügig, unter Markt
Fair50.Der Marktpreis
Geduldig75.Höherer Erlös, braucht evtl. die volle Laufzeit

Warum nicht eine Zahl

Ein einzelner Preisvorschlag wird selbsterfüllend: Alle listen dort, jeder Verkauf passiert dort, und der Median bewegt sich nicht mehr. Drei Perzentile halten die Stichprobe gestreut und den Markt lebendig.

Verkaufsquote

YAML
pricing:  sell-through:    enabled: true    min-outcomes: 8

Für jede Preisspanne zeigt Gavel, welcher Anteil der Angebote dort tatsächlich verkauft wurde statt abzulaufen. Das ist die Zahl, die „wird sich das verkaufen?" beantwortet — und oft nützlicher als der Preis selbst. Wer „bei 12.000: 34 % Verkaufsquote" liest, versteht den Kompromiss sofort.

Spannen mit weniger als min-outcomes Ergebnissen werden ausgeblendet statt als Rauschen angezeigt.

Warnungen und Deal-Badges

YAML
pricing:  warnings:    overpriced-factor: 2.5    underpriced-factor: 0.5  deal-badges:    enabled: true    great-below: 0.75    good-below: 0.90    fair-below: 1.15

Im Bestätigungsdialog löst ein Preis, der 2,5× über oder 0,5× unter dem Median liegt, einen Hinweis aus. Beide sind beratend — der Spieler kann immer fortfahren. Die Unterpreis-Warnung ist wichtiger, als sie aussieht: Sie schützt Neulinge davor, ein wertvolles Item für einen Bruchteil zu listen und binnen Sekunden weggeschnappt zu werden.

Im Browse-Menü sind Angebote als großartig / gut / fair / überteuert relativ zum Median gekennzeichnet, sodass man die Seite überfliegen kann, ohne bei jedem Item den Preis-Check zu öffnen.

Historie und Rollups

YAML
pricing:  rollups:    enabled: true    raw-retention-days: 45    run-at-hour: 4  sparkline-days: 14

Jede Nacht um run-at-hour werden Rohzeilen des Marktlogs, die älter als raw-retention-days sind, zu Tages-Rollups zusammengefasst und gelöscht. Rollups sind winzig und bleiben für immer erhalten — Langzeit-Historie geht also nicht verloren, nur die Detailtiefe dahinter.

Die 14-Tage-Sparkline im Preis-Check wird aus diesen Rollups gezeichnet.

Integrität speist die Preisberechnung

Trades, die die Marktintegrität markiert, werden standardmäßig aus der Stichprobe ausgeschlossen. Genau das macht die Preisdaten schwer manipulierbar: Den Median eines Items durch Hin-und-Her-Handel mit einem Alt hochzupumpen funktioniert nicht, weil diese Trades gar nicht erst in die Rechnung eingehen.