Unsere Statistik-Engine — offen dokumentiert
Die meisten Test-Tools behandeln ihre Auswertung als Black Box. Wir machen das Gegenteil: Hier steht, welche Verfahren laufen, mit welchen Schwellen — und was sie absichern können und was nicht. Jede Ship-/Stop-Entscheidung im Produkt bekommt dazu einen exportierbaren Entscheidungs-Beleg, der dokumentiert, dass die Entscheidung der dokumentierten Regel auf den dokumentierten Daten folgte.
Das Prüfverfahren: always-valid statt Daueraufs-Neue-Schauen
Figgle prüft Tests im Minutentakt. Klassische Signifikanz-Tests vertragen das nicht: Wer ständig nachschaut, findet irgendwann zufällig einen „Sieger“, der keiner ist. Unser Ship-Urteil nutzt deshalb ein sequenzielles Prüfverfahren (mSPRT), dessen Fehlergrenze zu jedem Zeitpunkt gilt — egal wie oft gemessen wird („always-valid“, peek-fest).
- Fehlalarm-Grenze: α = 0.05 — in höchstens 1 von 20 Fällen kann ein Test als Sieger bestätigt werden, obwohl in Wahrheit kein Unterschied besteht.
- Zähldaten: kumulativ seit Test-Start — nicht aus einem rollierenden Fenster, weil ein Fenster die Always-valid-Eigenschaft verletzen würde.
- Mindest-Daten, bevor das Verfahren überhaupt urteilen darf: 200 Besucher gesamt und 5 Conversions je Variante.
Technische Details
2-Sample-Bernoulli-Mixture-SPRT in geschlossener Form (Robbins 1970; Johari/Pekelis/Walsh, KDD 2017). Ship, wenn die Likelihood-Ratio Λ ≥ 1/α = 20und beide Mindest-Daten-Schwellen erfüllt sind. Der always-valid p-Wert ist min(1, 1/Λ). Mixture-Varianz τ² = (0,5 · CRbase)² mit CRbase = max(p̄, 0,005). Bei mehr als zwei Varianten: Leader gegen den gepoolten Rest.
Zusätzlich läuft eine Bayes-Auswertung (Thompson-Posterior): Empfehlung erst ab 250Besuchern pro Variante, probBest ≥ 95 % und erwarteter Verlust unter 10 % relativ. Ehrliche Stop-Urteile gehören dazu: nach 2.500Besuchern pro Variante ohne klaren Sieger empfehlen wir den Abbruch („low signal“), nach 1.000 Besuchern ohne eine einzige Conversion melden wir ein Funnel-Problem statt weiterzumessen.
Code-Referenz: backend/src/bandit/msprt.ts, backend/src/bandit/significance.ts.
Die Ausspielung: Thompson Sampling mit Abklingfaktor
Während ein Test läuft, verteilt ein Multi-Armed Bandit (Thompson Sampling) den Traffic dynamisch — bessere Varianten bekommen mehr Besucher. Damit alte Daten (z. B. ein Aktions-Wochenende) die Verteilung nicht monatelang verzerren, werden Tages-Daten exponentiell abgewertet (Faktor 0.95 pro Tag, Fenster 45 Tage).
Technische Details
Discounted Thompson Sampling (Garivier & Moulines), γ = 0.95/Tag, Halbwertszeit ≈ 13,5 Tage. Wichtig: das Fenster gilt nur für die Ausspielung — das Ship-Urteil (mSPRT) rechnet auf kumulativen Zähldaten seit Test-Start. Code-Referenz: backend/src/bandit/constants.ts, backend/src/bandit/recalc.ts.
Selbstkontrolle: A/A-Tests, FDR-Korrektur, Bot-Filter
- A/A-Kontrolle: 1 % der Besucher landen in einem Kontroll-Slot, in dem zwei identische Varianten gegeneinander laufen. Würde unser Verfahren dort „Sieger“ melden, wäre die Pipeline kaputt — wir messen diese Fehlalarm-Rate kontinuierlich in einem append-only Entscheidungs-Protokoll.
- Mehrfach-Vergleiche: Bei Tests mit mehreren Conversion-Zielen korrigieren wir die p-Werte nach Benjamini-Hochberg (False-Discovery-Rate) — mehr Ziele dürfen die Fehlerrate nicht aufweichen.
- Bot-Filter (4 Schichten): bekannte Bot-User-Agents, Geo-Plausibilität, Ereignis-Frequenz (Cadence) und ein Honeypot-Formularfeld. Gefilterte Ereignisse fließen nicht in die Auswertung.
- SRM-Wächter: Weicht die tatsächliche Besucher-Verteilung statistisch auffällig vom erwarteten Split ab (Sample-Ratio-Mismatch), wird der Test markiert und der Kunde gewarnt.
Technische Details
A/A-Injection bei Sticky-Erstvergabe (Site-weit, Default 1 %; 0 % unter 200 Besuchern/Tag). SRM via Chi-Quadrat-Test (p < 0,001) gegen den zeitgewichteten Served-Erwartungsvektor. Entscheidungs-Protokoll: bandit_decision_log — eine Zeile pro Prüf-Zeitpunkt, append-only. Code-Referenz: backend/src/bandit/srm-check.ts, backend/src/events/bot-filter.ts, backend/src/lifecycle/decision-ledger.ts.
Was das absichert — und was nicht
Das sichert es ab
- Die Fehlalarm-Rate eines Sieger-Urteils bleibt unter α = 0.05 — auch bei minütlichem Nachschauen.
- Jede Entscheidung ist nachvollziehbar: Regel, Schwellen und Zähldaten stehen im Entscheidungs-Beleg.
- Ehrliche Stop-Empfehlungen, wenn ein Test realistisch nichts mehr findet.
Das sichert es nicht ab
- Dass ein bestätigter Sieger in Wahrheit besser ist: In bis zu 1 von 20 Fällen kann ein Sieger-Urteil ein Fehlalarm sein. Dieses Restrisiko lässt sich statistisch nicht ausschließen; wir weisen es deshalb offen aus.
- Dass ein gemessener Effekt für immer hält — Websites, Zielgruppen und Saisons ändern sich.
- Künftige Umsätze. Hochrechnungen in Euro basieren auf der eigenen Angabe des Kunden, was eine Conversion wert ist.
Stand: 10. Juni 2026. Diese Seite ist eine manuell gepflegte Dokumentation der im Code hinterlegten Konstanten — maßgeblich ist der Code, nicht diese Seite. Die genannten Werte können sich mit neuen Releases ändern; wesentliche Änderungen dokumentieren wir hier mit neuem Stand-Datum.
Diese Engine auf deiner Website?
Starte mit dem kostenlosen 30-Sekunden-Scan — ohne Anmeldung.