27.06.2025 - Von Chirag Sachdeva

Aufwertung der Überwachung der Kundenerfahrung bei Twitch: Die QoUX-Reise

Über den Verfasser: Ich bin Chirag Sachdeva, gelernter Luft- und Raumfahrtingenieur, der zum Software-Ingenieur im Mitgliedschaftsteam von Twitch wurde. Ich bin seit vier Jahren stolzes Mitglied der Twitch-Familie und habe an Initiativen wie Abonnements, dem Verschenken davon, Turbo und dem Gründerabzeichen gearbeitet. Für mich steht das Kundenerlebnis immer im Vordergrund. Es ist einer der treibenden Faktoren meiner Arbeit hier bei Twitch.

In der schnelllebigen Welt des Live-Streamings beeinflusst die Qualität des Nutzererlebnisses direkt die Zuschauerbindung und -zufriedenheit. Gerne teile ich dir mit, wie Twitch seine Überwachungsfunktionen im Rahmen von “Quality of User Experience” (QoUX, Qualität der Nutzererfahrung) optimiert hat. Diese Initiative ermöglicht es uns, das Verhalten unserer Benutzer zu verstehen, Probleme, die Auswirkungen auf Benutzer haben, schneller und mit weniger Aufwand zu erkennen und schnell darauf zu reagieren.

Die Herausforderung

Trotz einer zuverlässigen Backend-Überwachung hatten wir leider ein Problem übersehen: Wir konnten nämlich in Echtzeit nicht genau verstehen, wie die Nutzer unsere Plattform erlebt haben. Ich möchte dieses Problem an einem konkreten Beispiel veranschaulichen.

Stell dir vor, du bist ein Twitch-Zuschauer, der ein mehrmonatiges Twitch-Abonnement an deinen Lieblingsstreamer verschenken möchte. Du klickst auf die Geschenk-Schaltfläche, wählst den Empfänger aus, aber wenn du versuchst, die Option für ein 3-monatiges Abonnement zu wählen, reagiert die Schaltfläche einfach nicht. Aus deiner Sicht ist das Feature kaputt – aber aus unserer Backend-Perspektive sah alles normal aus.

Genau dieses Szenario ereignete sich, als wir ein Geschenkexperiment starteten, das versehentlich die Auswahlschaltfläche für mehrmonatige Abos bei einer kleinen Gruppe von Nutzern deaktivierte. Unsere Backend-Systeme zeigten keine Fehler an, weil technisch gesehen keine Anfragen fehlschlugen – die Schaltfläche sendete einfach überhaupt keine Anfragen. Der Code auf dem Gerät des Benutzers (dem Client) verhinderte, dass die Interaktion überhaupt unsere Server erreichen konnte.

Herkömmliche serverseitige Metriken sind zwar wertvoll, doch sie konnten uns nicht sagen, ob ein Abonnent Schwierigkeiten hatte, einen Kauf abzuschließen, oder ob der Geschenkvorgang in einer bestimmten Region fehlschlug. Vor der Einführung von QoUX konzentrierten sich unsere Überwachungs- und Alarmsysteme hauptsächlich auf Backend-Dienste und -Infrastruktur, wodurch Lücken bei der Erkennung dieser Art von clientseitigen Ausfällen entstanden.

Du fragst dich vielleicht: Warum haben wir nicht von Anfang an einfach eine clientseitige Überwachung durchgeführt? Weil wir heftige Kompromisse hätten eingehen müssen:

  1. Datenvolumen. Die clientseitige Überwachung generiert wesentlich mehr Daten als die Backend-Überwachung. Bei Millionen Nutzern, die jeweils Dutzende Interaktionen durchführen, kann die Menge an Telemetriedaten schnell überwältigend werden.
  2. Datenschutzüberlegungen. Clientseitige Überwachung erfordert eine sorgfältige Implementierung, um die Privatsphäre der Nutzer zu respektieren und Vorschriften einzuhalten.
  3. Stabilitätsherausforderung. Backend-Systeme arbeiten in kontrollierten Umgebungen, während die Client-Überwachung über unzählige Gerätetypen, Browser, Netzwerkbedingungen und Erweiterungen hinweg funktionieren muss, die das Tracking beeinträchtigen könnten.
  4. Entwicklungskomplexität. Die Implementierung einer robusten clientseitigen Überwachung erfordert zusätzlichen Code in jeder Funktion, was die Entwicklungszeit verlängert und das Potenzial für Fehler erhöht.
  5. Komplexität der Überwachung: Die Umwandlung von Rohdaten in verwertbare Erkenntnisse ist nicht banal. Sie müssen sorgfältig gesammelt und umgewandelt werden, um sowohl falsch-positive als auch falsch-negative Ergebnisse zu vermeiden.

QoUX entstand aus dem Bedürfnis, Software näher an dem Punkt zu überwachen, an dem Kunden damit interagieren – auf der Client-Seite – und gleichzeitig diese Herausforderungen zu meistern. Diese Initiative ist zu einem zentralen Bestandteil der operativen Funktionen von Twitch geworden. Sie ermöglicht es uns, das Benutzerverhalten besser zu verstehen, Probleme von Benutzern zu identifizieren und kürzere Reaktionszeiten zu erreichen.

Was ist QoUX?

Die Qualität der Nutzererfahrung (QoUX) ist ein konfigurierbares Framework, das entwickelt wurde, um clientseitige Erfahrungen zu überwachen und zu analysieren. Es basiert auf drei Kernprinzipien:

  1. Clientseitig zuerst. Beobachte, wo der Nutzer tatsächlich mit Twitch interagiert.
  2. Echtzeit-Sichtbarkeit. Sofortige Einblicke in die Nutzererfahrungen.
  3. Umsetzbare Metriken. Daten, die direkt Produktentscheidungen beeinflussen.

So funktionieren clientseitige Ereignisse

Im Zentrum von QoUX stehen clientseitige Ereignisse – spezielle Telemetriesignale, die direkt von den Geräten der Nutzer gesendet werden. Diese Ereignisse werden:

  • **von der Client-Anwendung gesendet.** Ob in der Web-App, der mobilen App oder der Konsolen-App von Twitch: Der Client-Code generiert diese Ereignisse selbst.
  • während wichtiger Nutzerinteraktionen ausgelöst. Ereignisse werden ausgelöst, wenn Nutzer bestimmte Aktionen ausführen, wie das Anklicken von Schaltflächen, das Einkaufen oder das Navigieren zwischen Seiten.
  • mit Kontextdaten angereichert. Jedes Ereignis enthält Details über das Gerät des Nutzers, die Region und die spezifische Komponente oder Funktion, die verwendet wird.
  • für minimale Auswirkungen auf die Leistung entwickelt. Ereignisse werden gebündelt und komprimiert, um das Nutzererlebnis nicht zu beeinträchtigen.

Hier ein konkretes Beispiel zeigen, wie das funktioniert:

  1. Ein vom Client kommendes Ereignis: Wenn ein Nutzer auf die Schaltfläche für das mehrmonatige Abonnement klickt, wird ein Ereignis ausgelöst, das Folgendes enthält:
    • Schaltflächentyp: “multi_month_selection”
    • Trichter-ID: “gift_subscription_flow”
    • Ereignistyp: “Click”.
    • Kundeninformationen: Browser-/Mobile App-Version, Gerätetyp
    • Region: der geografische Standort des Nutzers
    • Zeitstempel: Wann die Interaktion stattgefunden hat
  2. Nach der Transformation + Aggregation: Diese Rohereignisse werden:
    • zu Kinesis gestreamt.
    • von Lambda-Funktionen verarbeitet, die sie filtern, transformieren und aggregieren
    • in 5-Minuten-Intervalle unterteilt (das Intervall hängt vom normalen Volumen des Ereignistyps ab).
    • mit zusätzlichem Kontext aus unseren Systemen angereichert.
  3. Das ist am Ende zu sehen: Die verarbeiteten Daten
    • werden mit aktivem Alarm auf CloudWatch-Dashboards ausgegeben.
    • Für dieses spezielle mehrmonatige Schaltflächen-Event gilt: Wenn in den letzten 25 Minuten 5 Datenpunkte unter einem Schwellenwert liegen oder keine Datenpunkte eingegangen sind (d. h. keine Klicks auf diese Schaltfläche), werden unsere Bereitschaftstechniker benachrichtigt.

Die Technologie hinter QoUX

Im Zentrum der Überwachung durch QoUX steht ein Framework, das die Transformation, Aggregation und das Streaming von Ereignismetriken ermöglicht. Aber warum sollte man ein individuelles Framework entwickeln, statt den Teams einfach unbearbeitete Ereignisse zu schicken?

Vorteile des QoUX-Frameworks:

  • **Verwaltung des Datenvolumens.** Rohdaten von Client-Ereignissen würden die Teams mit Petabyte an Daten überfordern. QoUX aggregiert und filtert Daten intelligent, um aussagekräftige Signale bereitzustellen.
  • Standardisierung. Sorgt für eine konsistente Ereignisstruktur und -verarbeitung über alle Twitch-Funktionen hinweg.
  • Operationelle Effizienz. Teams brauchen keine eigenen Verarbeitungspipelines oder Überwachungssysteme aufzubauen.
  • Datenschutz von Anfang an. Verarbeitet personenbezogene und sensible Daten angemessen auf Framework-Ebene.

Ereignisse werden in einem Kinesis-Stream gepostet, wo sie von Lambda-Funktionen transformiert, modelliert, gefiltert und aggregiert werden, bevor sie als benutzerdefinierte Metriken in CloudWatch veröffentlicht werden. Das Framework kombiniert Ereignisdaten zu detaillierten Verteilungen mit vom Team definierten Dimensionen, komprimiert diese und schreibt diese Daten direkt oder über das Embedded Metrics Format (EMF) für Protokolle mit hoher Kardinalität in CloudWatch Metrics, wodurch zusätzliche Analysen mit Log Insights und Top-N-Zusammenfassungen mit Contributor Insights ermöglicht werden.

Echtzeitüberwachung und -warnung

Die CloudWatch-Alarme werden nicht einfach mit statischen Schwellenwerten festgelegt. Sie werden trainiert durch:

  • historische Analyse normaler Nutzungsmuster
  • adaptive Schwellenwerte, die Variationen der Tageszeit und des Wochentags berücksichtigen.
  • maschinelle Lernmodelle, die Anomalien erkennen, die über einfache Schwellenwertüberschreitungen hinausgehen.
  • Korrelationsanalyse zur Reduzierung von falsch-positiven Fehlalarmen.

Diese Metriken umfassen:

  • Verfügbarkeit von Komponenten. Metriken für die Verfügbarkeit und Latenzen auf Komponentenebene, nach Region segmentiert.
  • Nutzeraktionen. Daten von Nutzeraktionen wie Klicks auf Schaltflächen, Bezahlversuche und Geschenkaktivitäten.
  • Fehlschläge. Alarme, die durch Fehler in diesen Abläufen ausgelöst werden, einschließlich spezifischer Fehlerursachen.

Echte Auswirkung

Zurück zu unserem Beispiel eines mehrmonatigen Geschenk-Abos: Als wir ein Experiment mit Geschenk-Abos starteten, das versehentlich die Auswahlmöglichkeit für ein mehrmonatiges Abo für eine Teilgruppe von Nutzern deaktivierte, erkannte QoUX das Problem innerhalb von 25 Minuten nach der Bereitstellung. Vor QoUX hätten wir dieses Problem erst entdeckt, nachdem Kunden es gemeldet hätten, was Stunden oder sogar Tage hätte dauern können, besonders bei Funktionen, die von kleineren Segmenten unseres Publikums genutzt werden.

Die benutzerdefinierten CloudWatch-Alarme überwachen Spitzen bei Fehlerquoten, Ausfälle bei kritischen Aktionen und Latenzprobleme, wodurch wir clientseitige Ausfälle oder verschlechterte Leistung schneller als je zuvor erkennen können.

QoUX-Anwendungsfälle

Echtzeitüberwachung des Kundenerlebnisses

Die Integration von QoUX mit CloudWatch ermöglicht die Echtzeitüberwachung wichtiger Funktionen wie Abonnements, deren Verschenken und Bezahlvorgänge. Indem wir die regionale Verfügbarkeit, Latenzen und Fehlerereignisse dieser Komponenten verfolgen, können wir Ausfälle und Fehler, die sich direkt auf das Kundenerlebnis und den Umsatz auswirken, schnell erkennen. Dieser Ansatz hat zur Entdeckung mehrerer kritischer Ausfälle geführt, die zuvor aufgrund fehlender clientseitiger Überwachung unbemerkt geblieben waren.

Überwachung des Feature-Starts

Eine der herausragenden Funktionen von QoUX ist die Möglichkeit, Nutzerinteraktionen in Echtzeit während der Einführung von Features zu überwachen. Zum Beispiel haben wir bei der Einführung einer neuen Funktion, die ein zentrales Element der Benutzeroberfläche veränderte, einen unerwarteten Anstieg der Kündigungen von Abonnements bei langjährigen Nutzern festgestellt. Dank der Überwachungsfunktionen von QoUX haben wir dieses Problem innerhalb von 10 Minuten nach der Bereitstellung erkannt. Wir konnten die Nutzererfahrung schnell anpassen, indem wir die Sichtbarkeit des problematischen Elements der Benutzeroberfläche veränderten und so die negativen Auswirkungen auf die Nutzerbindung deutlich reduzierten. Diese schnelle Einsicht- und Reaktionsfähigkeit veranschaulicht die Stärke unseres QoUX-Systems, ein positives Nutzererlebnis zu bewahren, selbst bei großen Funktionseinführungen.

Erweiterte Anomalieerkennung durch CloudWatch Anomaly Detection

Unsere Anomalieerkennung nutzt CloudWatch Anomaly Detection, das maschinelles Lernen verwendet, um dynamische Baselines für Nutzerinteraktionsmuster zu erstellen. So haben wir es implementiert:

  • Erstellen von Ausgangswerten. Wir konfigurieren CloudWatch, um 2 bis 4 Wochen historische Daten für jede Metrik zu analysieren und normale Muster zu etablieren.
  • Adaptive Schwellenwerte. Zusätzlich zu den statischen Schwellenwerten verwenden wir die Anomalie-Erkennungsbereiche von CloudWatch, die sich automatisch an die Muster der Tageszeit und der Wochentage anpassen.
  • Kontextbezogene Warnmeldungen. Wenn Anomalien festgestellt werden, enthalten unsere Warnmeldungen spezifischen Kontext wie Fehlergründe, betroffene Regionen und Komponentendetails.

Dieser Ansatz hat sich als besonders effektiv für Metriken mit zyklischen Mustern oder allmählichen Trends erwiesen, die bei traditionellen statischen Schwellenwerten Fehlalarme auslösen würden.

Teamübergreifendes Überwachen und Alarmieren

QoUX hat die Überwachungsfähigkeiten unserer Organisation durch das Aufbrechen traditioneller Silos verbessert und eine nahtlose Sichtbarkeit über das Team hinweg ermöglicht. Da wir mit CloudWatch kontoübergreifend beobachten können, haben wir ein Ökosystem geschaffen, in dem Teams unabhängig von anderen auf gemeinsame Metriken zugreifen, Alerts für gemeinsame Metriken analysieren und einrichten können, während sie gleichzeitig klare Grenzen zu den Eigentumsrechten einhalten.

Wenn beispielsweise ein Problem im Abonnementprozess auftritt, haben sowohl das Abonnement-Team als auch das Kassen-Team sofortigen Zugriff auf dieselbe Informationsquelle. Diese gemeinsame Transparenz ermöglicht eine schnellere Koordination und eine effizientere Reaktion auf Vorfälle, da die Teams genau sehen, welche Komponenten betroffen sind und gemeinsam an Lösungen arbeiten können, ohne Zeit damit zu verschwenden, verschiedene Überwachungssysteme abzugleichen.

Der einheitliche Ansatz hat unsere durchschnittliche Erkennungszeit um etwa 40 % verkürzt und die teamübergreifende Zusammenarbeit bei Vorfällen verbessert, da alle mit denselben Echtzeitdaten arbeiten.

Erkenntnisse und nächste Schritte

Die Implementierung einer clientseitigen Überwachung mit QoUX hat gezeigt, wie leistungsstark der Echtzeit-Einblick in die Nutzererfahrungen sein kann. Indem du beobachtest, wo Nutzer tatsächlich mit deiner Anwendung interagieren, erhältst du sofort Einblicke in Probleme, die bei der traditionellen Backend-Überwachung möglicherweise völlig übersehen werden.

Die wichtigsten Erkenntnisse

  1. Fang klein an und komm groß raus. Beginne damit, deine wichtigsten Nutzerabläufe zu instrumentieren – jene, die direkt mit Einnahmen oder der Kernfunktionalität verbunden sind. In unserem Fall waren die Abonnement- und Checkout-Prozesse natürliche Ausgangspunkte.
  2. Die richtigen Kennzahlen wählen. Fokussiere dich auf Kennzahlen, die direkt den Erfolg oder Misserfolg der Nutzer anzeigen, nicht nur auf die technische Leistung. Schaltflächen-Klicks, Abschlussraten und Fehlerhäufigkeiten erzählen oft eine vollständigere Geschichte als Server-Antwortzeiten.
  3. Nutze die AWS-Dienste effizient. Die CloudWatch-Anomalieerkennung bietet eine leistungsstarke Grundlage für dynamische Benachrichtigungen, ohne dass komplexes Fachwissen im maschinellen Lernen erforderlich ist. Die Kombination aus Kinesis für das Streaming, Lambda für die Verarbeitung und CloudWatch für das Überwachen schafft eine flexible und skalierbare Architektur.
  4. Wichtig ist ein Ausgleich zwischen Datenvolumen und Interaktionsmöglichkeiten. Die clientseitige Überwachung generiert deutlich mehr Daten als die serverseitige Überwachung. Sei strategisch in dem, was du sammelst und wie du es zusammenfasst, um zu vermeiden, dass du deine Systeme und das Team überlastest.

Erste Schritte mit deiner eigenen QoUX-Implementierung

  1. Prüfe deine aktuelle Überwachung. Identifiziere Lücken in deiner bestehenden Überwachungsstrategie, insbesondere bei nutzerorientierten Komponenten und Interaktionen.
  2. Nutze die wichtigsten Erfahrungen deiner Nutzer. Füge clientseitige Ereignisauslösungen zu kritischen Pfaden in deiner Anwendung hinzu, wobei der Fokus auf Folgendem liegen sollte:
    • Conversion-Trichter
    • Authentifizierungsabläufe
    • Zahlungsvorgänge
    • Interaktionen mit den wichtigsten Funktionen
  3. Erstelle deine Verarbeitungspipeline. Nutze AWS-Dienste wie Kinesis, Lambda und CloudWatch, um deine clientseitigen Ereignisse zu erfassen, zu verarbeiten und zu visualisieren.
  4. Lege Ausgangswerte für deine Daten fest und richte Alerts ein. Sammle 2 bis 4 Wochen lang Daten, um normale Muster zu etablieren, bevor du Anomalieerkennungs-Alerts einrichtest.
  5. Schaffe teamübergreifende Sichtbarkeit. Stelle sicher, dass alle Beteiligten Zugriff auf dieselben Überwachungsdaten haben, um die Zusammenarbeit bei Vorfällen zu verbessern.

Durch die Implementierung deiner eigenen Version von QoUX kannst du die Art und Weise verändern, wie du die Erfahrungen deiner Nutzer verstehst und darauf reagierst- Du erkennst Probleme, bevor sie dein Geschäft beeinträchtigen, und schaffst eine zuverlässigere Plattform für deine Nutzer.

Weitere News
27.06.2025

Sommer Drops Fest 2025

Hol dir während des Twitch Sommer-Drops Fests 2025 exklusive Belohnungen!
Sommer Drops Fest 2025 Posten
31.05.2025

Zehn Jahre TwitchCon: Das haben wir in Rotterdam bekanntgegeben.

Zehn Jahre TwitchCon: Das haben wir in Rotterdam bekanntgegeben. Posten