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. Ansicht „Für dich“ — Reihenfolge der Nutzerinhalte

Seit dem 24. August 2026 ist die Ansicht „Für dich“ in der App (bis 26. Oktober 2026 der Tab „Entdecken“) keine reine Zeitleiste mehr: Sie 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

1.2. Karte — welche Lokale bei welcher Zoomstufe sichtbar sind

Seit dem 28. September 2026 hat die Karte in der App ein Pin-Budget: Im Zentrum einer Großstadt umfasst ein Ausschnitt 200–300 Lokale, daher zeichnen wir nicht alle gleichzeitig. Ein Lokal außerhalb des Budgets bleibt in der Datenbank — Heranzoomen zeigt es, und die Suche findet es immer.

ParameterWirkung
Zoomstufe Weit herausgezoomt sind Lokale mit Bewertung A und höher sichtbar; bei mittlerem Zoom — jedes bewertete Lokal; auf Straßenebene — auch unbewertete Lokale mit einem Feasty-Eintrag (jemand hat das Lokal gespeichert oder hinzugefügt); ganz herangezoomt — auch die übrigen Lokale aus offenen Daten (Overture Maps Foundation).
Raster Der Bildschirm wird in Zellen mit einer Seitenlänge von 70 Punkten geteilt; in jeder Zelle ist ein Lokal sichtbar — das mit der höchsten Priorität. Gruppen von Lokalen (Cluster mit Anzahl) belegen ihre Zellen zuerst.
Priorität in der Zelle (1) ein Lokal auf den Listen des Nutzers oder bewertet von Personen, denen er folgt; (2) Bewertung (Tier), bei gleichem Tier die Anzahl der Bewertungen; (3) ein Lokal mit Feasty-Eintrag ohne Bewertungen; (4) die übrigen Lokale aus offenen Daten. Gleichstände entscheidet eine feste, vom Lokal unabhängige Reihenfolge.
Aktiver Filter oder Suche Die Zoomschwellen gelten nicht — jedes Lokal, das die Kriterien erfüllt, ist sichtbar; die Rasterzelle hat eine Seitenlänge von 52 Punkten.

1.3. „Heutige Angebote“ — welche Lokale gelistet werden und in welcher Reihenfolge

Seit dem 26. Oktober 2026 führt der Tab „Entdecken“ zu einer Liste von Lokalen der gewählten Stadt, die heute etwas anbieten. Ein Lokal wird gelistet, wenn es mindestens eine von zwei Bedingungen erfüllt.

ParameterWirkung
Von Feasty erfasstes Angebot Ein wiederkehrendes Angebot, das Feasty von der Website des Lokals erfasst hat, für den heutigen Wochentag. 120 Tage nach der Erfassung wird es nicht mehr angezeigt; Preise entfallen nach 60 Tagen.
„Heutiges Menü“ des Restaurants Ein vom Restaurant im Panel eingetragenes Menü — nur mit dem heutigen Datum (Warschauer Zeit). Die Funktion gehört zu den Plänen Growth und Premium, daher hängt die Listung auf diesem Weg vom Plan ab; die Reihenfolge nicht.
Reihenfolge Entfernung zum Nutzer; ohne Standortfreigabe — alphabetisch. Bewertung, Anzahl der Bewertungen, Plan und Zahlungen ändern die Reihenfolge nicht.

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 < 2 → Tier auf A begrenzt)

Unabhängig vom Durchschnitt darf ein Restaurant mit weniger als 2 Bewertungen nicht als S oder S+ angezeigt werden. Der Tier wird auf A begrenzt, bis die Schwelle überschritten ist. Die Zielschwelle liegt bei 10 Bewertungen — die aktuelle ist für den frühen Zugang gesenkt (siehe Hinweis unten).

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.2 26. Oktober 2026 Neue Liste „Heutige Angebote“ (§1.3). Bewertungsgewichte und Karte unverändert. Closed-Beta-Ausnahme: Die 15-tägige Vorankündigung entfiel — am Tag der Änderung keine aktiven geschäftlichen Nutzer (ein Testkonto).
v2.1 28. September 2026 Karte: Pin-Budget (§1.2) — Lokale aus offenen Daten ohne Feasty-Eintrag erst bei vollem Zoom, Raster mit Bewertungspriorität. Bewertungsgewichte unverändert. Closed-beta exemption: 15-Tage-Frist ausgelassen — am Tag der Änderung null aktive gewerbliche Nutzer (ein Testkonto).
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).