Feasty
Ranking-Version: v2.0 · aktiv seit 17. Mai 2026

Ranking-Parameter

Restaurantbetreiber, die Feasty nutzen, haben das Recht zu verstehen, wie ihre Lokale auf der Karte, in der Suche und im Matchmaker-Modus positioniert werden. Dieses Dokument legt alle Ranking-Parameter und ihre relative Gewichtung gemäß Artikel 5 der EU-Verordnung 2019/1150 (P2B) offen.

1. Haupt-Ranking-Parameter

Jedes Restaurant in der Feasty-Datenbank besitzt ein aggregiertes Bündel von Signalen. Der Algorithmus kombiniert sie multiplikativ mit der Standardsortierung nach Qualität (dominantTier) und Entfernung (Geohash-Abfrage). Alle Felder sind öffentlich zugänglich (außer den als server-only markierten).

ParameterRolleDatenquelle
restaurantStats.dominantTier Primäres Qualitätssignal Gewichteter Mittelwert-Tier mit Recency Decay (Scoring v2 — siehe §2)
restaurantStats.scoreNumericAvg Numerisch 0–10 (B2B-Dashboard) Neu berechnet durch requestRestaurantScoreRefresh Callable (alle 7 Tage / Cron 30 Tage)
restaurantStats.ratingsCount Tie-Break + Proof-of-Work-Cap (§3) Öffentlicher Bewertungszähler
Geografische Nähe Hard Filter (Karte, Matchmaker) Geohash-Abfrage gegen Restaurant-Lat/Lng
restaurantStats.trendingScore Recency-Boost Zeitlich abnehmender Zähler (proportional zu frischen Bewertungen)
inMembersLists (Matchmaker) Social-Signal-Boost Abfrage gegen Listen der Matchmaker-Session-Mitglieder
restaurantStats.isPromoted Sponsored — separater Bucket mit "Anzeige"-Label Erfordert b2bSettings.tier == 'premium' + aktive Kampagne in adPlacements/*

1.1. Feed „Entdecken“ — Reihenfolge der Nutzerinhalte

Seit dem 24. August 2026 ist der Tab „Entdecken“ in der App keine reine Zeitleiste mehr: Er ordnet Nutzerbewertungen mit einer automatischen Formel. Eine Bewertung betrifft ein bestimmtes Restaurant, sodass die Reihenfolge dessen Sichtbarkeit mittelbar beeinflusst — deshalb legen wir die Parameter hier zusammen mit den übrigen offen, obwohl Nutzerinhalte und nicht das Lokal gerankt werden.

ParameterCharakterGewicht
Beziehung des Autors zum Betrachter Hauptsignal ×3,0 gefolgt · ×1,6–2,0 von den Gefolgten des Betrachters gefolgt · ×1,0 alle anderen
Markierung einer Person, der der Betrachter folgt Signal aus dem Graphen des Betrachters Beziehung mindestens ×2,0, wenn der Autor in der Bewertung eine Person markiert hat, der der Betrachter folgt — nicht additiv zur Beziehung des Autors (es gilt der höhere Wert)
Likes der Bewertung Soziales Signal Multiplikator (1 + Anzahl der Likes)
Alter des Beitrags Zeitlicher Abfall Geteilt durch (Alter in Stunden + 2)^1,4
Übereinstimmung der Stadt des Lokals mit der Stadt des Betrachters Lokaler Boost ×1,3

2. Bewertungsgewichte (Scoring v2)

Jede Bewertung trägt zu ihrem Tier-Bucket mit einem Gewicht bei, das multiplikativ aus den folgenden Signalen berechnet wird. Floor und Ceiling werden auf der Ebene authorWeight (0,3 – 2,0) und recencyMul (Floor 0,15) angewendet.

SignalMultiplikator-Wert
Alter des Autorenkontos<7 Tage → ×0,6 · 7–30 Tage → ×0,85 · ≥30 Tage → ×1,0
Follower des Autors0 → ×0,8 · 1–9 → ×0,9 · ≥10 → ×1,0
Lifetime-Bewertungen des Autors<5 → ×0,7 · 5–19 → ×0,85 · ≥20 → ×1,0
Low-Variance-Flag (Autor bewertet fast immer im gleichen Tier)×0,5
Prestige des AutorsStandard → ×1,0 · Elite → ×1,5 · Connoisseur → ×2,0
Alter der Bewertung (Halbwertszeit 180 Tage)max(0.15, 0.5 ^ (ageDays / 180))
Warum konkrete Zahlen zeigen? Autoren-Prestige (Tier) wird ausschließlich server-seitig über einen zyklischen Cron auf Basis der Bewertungshistorie berechnet — es lässt sich nicht "kaufen" oder fälschen. Volle Transparenz der Multiplikatorwerte ist uns wichtiger als „Security through Obscurity": Ein Restaurantbetreiber sollte genau verstehen, warum sein Lokal den Tier hat, den es hat.

3. Proof-of-Work-Cap (ratingsCount < 10 → Tier auf A begrenzt)

Unabhängig vom Durchschnitt darf ein Restaurant mit weniger als 10 Bewertungen nicht als S oder S+ angezeigt werden. Der Tier wird auf A begrenzt, bis die Schwelle überschritten ist.

Begründung: Eine einzelne 5-Sterne-Bewertung (selbst von einem Connoisseur) sollte ein Lokal nicht zum "Elite"-Status erheben. Der Tier muss durch wiederholte Übereinstimmung vieler Bewerter verdient werden. Dieser Cap schützt vor Manipulation und versehentlicher Überbewertung neu eröffneter Lokale ohne ausreichende Stichprobengröße.

Closed-Beta-Tuning (2026-05-26): Die PoW-Schwelle wurde vorübergehend auf 2 Bewertungen gesenkt, damit die Pre-MVP-Karte (dünne Lokalanzahl) sichtbare S+/S-Restaurants anzeigt. Der Wert kehrt vor dem öffentlichen Launch auf 10 zurück.

4. Sponsored — Kennzeichnung und Platzierung

Jedes Restaurant, das mit isPromoted == true angezeigt wird, trägt ein verpflichtendes "Anzeige"-Label, das im ersten Frame sichtbar ist. Das Label ist in der gesamten Anwendung einheitlich — wir verwenden keine Varianten wie "Gefördert", "Empfohlen", "Top-Auswahl" oder andere uneindeutige Formen.

Rechtsgrundlage: P2B Art. 5(2) (EU 2019/1150) + DSA Art. 26 (Digital Services Act).

5. Algorithmus-Änderungsverfahren (15-Tage-Hinweis)

Jede wesentliche Änderung der Ranking-Parameter oder ihrer Gewichte MUSS mindestens 15 Tage im Voraus vor der Bereitstellung angekündigt werden, gemäß P2B Art. 3(2).

Technischer Mechanismus: Konfiguration config/rankingAlgorithm.{version, activeFrom, params} mit einem server-seitigen Cron, der activeFrom respektiert. Restaurantbetreiber erhalten:

Versions-Changelog

VersionAktiv seitHauptänderungen
v2.0 15. September 2026 Korrektur der Beschreibung, Ranking unverändert: Faktor ×1,2 für „verifizierten Besuch“ entfernt — keine Verifizierungsmethode wurde je gespeichert, er galt also nie; Grundlage der 15-Tage-Frist (P2B Art. 3(2)) und Beschwerdeweg (Restaurant-Panel) korrigiert.
v2.0 17. Mai 2026 Scoring v2 Launch — recency × authorWeight × tierToScore (Halbwertszeit 180 Tage), Prestige-Multiplikatoren (Elite ×1,5 / Connoisseur ×2,0), verifizierter Besuch ×1,2. PoW-Cap verschoben nach applyProofOfWorkCap. Closed-Beta-MVP-Ausnahme: 15-Tage-Hinweis übersprungen, da zum Launch null aktive B2B-Nutzer.
v1.0 März 2026 Erstveröffentlichung — modaler Dominant-Tier + ratingsCount-Zähler + Geohash-Distanz.

6. Anti-Manipulation

Der Algorithmus ist durch mehrere Schichten von Anti-Manipulations-Mechanismen geschützt:

7. Beschwerden (DSA Art. 20)

Restaurantbetreiber haben das Recht, gegen jede algorithmische Entscheidung Beschwerde einzulegen, die sich negativ auf die Sichtbarkeit des Lokals auswirkt (z.B. Tier-Herabstufung, Verbergen, B2B-Sperrung).