Grundidee
Bei jedem Test wird dieselbe Tracking-Nummer gleichzeitig bei allen ausgewählten Providern registriert. Wir erfassen je Provider drei Arten von Beobachtungen: register (Anlage-Antwort), poll (aktives Abfragen) und webhook (vom Provider gepusht). Daraus wird bewertet, wer uns am schnellsten den aktuellsten Stand liefert.
- Gemessen auf unserer Uhr: Geschwindigkeit wird über Statuswechsel während des Tests anhand des Zeitpunkts gemessen, zu dem wir den neuen Stand erhalten (
observed_at) — nicht über die provider-eigenen Event-Zeiten (die weichen je nach Zeitzone ab).
- warm vs. cold: War eine Nummer beim Provider schon registriert (z. B. weil es eine Kundennummer ist), liefert er sofort volle Daten. Das ist ein unfairer Vorteil und wird als warm markiert und aus der Geschwindigkeits-Wertung herausgerechnet. cold = frisch registriert (faire Messung).
Gesamt-Score = Qualität × Coverage
Der Score im Scoreboard ist Qualität × Coverage:
- Qualität = Ø des gewichteten Composite-Scores über alle Tests (Tests ohne echte Daten zählen dabei als 0). Misst „wie gut, wenn es lieferte".
- Coverage = Anteil der Tests, in denen der Provider Daten lieferte, obwohl Daten verfügbar waren (mindestens ein anderer Provider hatte sie). Gar nichts zu liefern, während andere Daten haben, drückt den Score hart — denn für Kunden ist „kein Tracking" das schlechteste Ergebnis. (War in einem Test bei niemandem etwas verfügbar, zählt es nicht gegen den Provider.)
Composite-Score (Qualität pro Test, 0–100): gewichteter Mittelwert der Dimensionen; nicht messbare Dimensionen entfallen, die übrigen Gewichte werden neu normiert. Liefert ein Provider in einem Test keine echten Daten, ist sein Composite dort 0.
| Dimension | Gewicht |
| Update-Speed / Aktualität | 40 % |
| Webhook-Zuverlässigkeit | 20 % |
| 1st data (cold) | 15 % |
| Status-Übereinstimmung (Agreement) | 15 % |
| Detailtiefe (Richness) | 10 % |
Die Dimensionen (Scorecard pro Test)
- Update speed: Für jeden Statuswechsel (z. B. → Transit, → Delivered), den irgendein Provider während des Tests erreicht, ist der schnellste = Leader (100 %). Die anderen bekommen anteilig weniger, je größer ihr Verzug. Wer einen Wechsel ganz verpasst, bekommt 0 %. Stati, die ein Provider schon zu Beginn hatte (warm), zählen hier nicht.
- Webhook: Kam ein Statuswechsel per Webhook (statt nur per Poll)? Dann 100 % (×0,9 falls Signatur ungültig). Webhook kam, aber brachte keinen neuen Status → 40 %. Kein Webhook → 0 %.
- 1st data (cold): Zeit von der Registrierung bis zu den ersten echten Daten — nur bei cold registrierten Nummern, relativ zum schnellsten Provider des Tests.
- Agreement: Stimmt der finale Status dieses Providers mit dem Konsens (Mehrheit der respondierenden Provider) überein? Ja = 100 %, nein = 0 %.
- Richness: Anzahl der Checkpoints/Events relativ zum Provider mit den meisten.
Die Scoreboard-Spalten (gesamt, über alle Tests)
| Score | Qualität × Coverage → bestimmt den Rang. |
| Quality | Ø Composite-Score über alle Tests (vor dem Coverage-Abzug) — „wie gut, wenn es lieferte". |
| Coverage | Anteil der Tests, in denen der Provider Daten lieferte, obwohl Daten verfügbar waren. Niedrig = liefert oft nichts → starker Score-Abzug. |
| First-to-surface | Anteil der Statuswechsel, bei denen dieser Provider als erster den neuen Stand hatte. Hoch = liefert Aktualität am schnellsten. |
| Median lag | Median-Verzug hinter dem jeweils schnellsten Provider bei Statuswechseln. Niedrig ist gut. |
| Updates via webhook | Anteil der erfassten Statuswechsel, die per Webhook kamen (statt erst beim Poll). Hoch = man kann sich auf Webhooks verlassen. |
| Webhook rate | Anteil der Tests, in denen überhaupt ein Webhook ankam. |
| Responded | Anteil der Tests, in denen der Provider echte Daten lieferte. |
| Warm | Anteil der Tests, in denen die Nummer schon vorregistriert war (nur Kontext — fließt nicht in den Score). |
| Tests | Anzahl der ausgewerteten Tests für diesen Provider. |
Tipp: Am aussagekräftigsten wird die Bewertung mit in-transit-Sendungen (mehrere Statuswechsel während der Beobachtung) und mit Nummern, die nicht schon überall vorregistriert sind (cold) — dann misst „Update speed" echte Geschwindigkeit statt Vorteil.