Wie wir mathematische Statistiken verwenden, um die Datenqualität in Yandex.City zu messen

    Petka und
    Wassili Iwanowitsch fliegen im Flugzeug , Wassili Iwanowitsch schreit:
    - Petka, Geräte!
    Petka antwortet:
    - Zweihundert!
    Wassili Iwanowitsch:
    - Und was ist mit "zweihundert"?
    Petka:
    - Und was ist mit "Geräten"?

    Heute ist unser neuer Service, Yandex.City , aus der Beta- Version herausgekommen . Es stellte eine logische Fortsetzung von Yandex.Directory dar, einer zentralen Wissensquelle über Organisationen für alle unsere Dienste. Seine Daten werden in der Y. Gorod-Anwendung selbst auf Yandex.Maps in Ausschnitten auf der Suchergebnisseite verwendet, um Routen in Maps und Navigator zu erstellen, eine Nummer in Yandex.Kit zu bestimmen und Abfahrts- und Ankunftspunkte in Taxis auszuwählen. Es war möglich, Orte und Organisationen an vielen unserer Standorte zu finden, aber die Auswahl dort ist nicht sehr praktisch.

    Wir haben festgestellt, dass die Benutzer hierfür einen separaten Dienst benötigen. Aber zu verstehen und zu tun ist nicht dasselbe. In diesem Beitrag möchte ich darüber sprechen, wie wir Metriken ausgewählt haben, um zu messen, was passiert, welche nicht offensichtlichen Entdeckungen uns auf dem Weg erwarteten und warum es in der Tat nicht einfach ist, die Qualität von Daten in ganz Russland oder sogar in einzelnen Städten zu bewerten.

    Wenn Sie ein eigenes Unternehmen haben und ein angestellter Manager sind, ist es sehr wichtig, dass Sie in der Lage sind, die Geschäftsleistung zu messen. Wie verstehen Sie, dass alles gut oder schlecht funktioniert? Wie überprüfen Sie, ob Änderungen zu Verbesserungen geführt haben? Worauf bauen Sie bei Ihren Entscheidungen auf? Hierfür sind Metriken erforderlich - quantitative Merkmale des Systemzustands.


    Der Dienst zum Finden von Plätzen auf Yandex hat eine lange Geschichte, und mehrere Teams waren an der Erstellung beteiligt. Es wächst aus dem Projekt adresa.yandex.ru. Dann hat Yandex das Geschäft mit den Gelben Seiten integriert - so sah das Verzeichnis aus. Vor etwa einem Jahr wurde das Serviceteam sehr aktualisiert. Und er begann sich in Yandex.City zu verwandeln. In diesem Team bin ich für den Datenproduktionsservice verantwortlich. Heute werde ich Ihnen unsere Metriken erläutern und erläutern, wie sie uns helfen, die beste Basis für Organisationen in Russland zu schaffen.


    Wie wir Metriken ausgewählt haben


    Tatsächlich lebten wir einst ohne sie. Die Tatsache, dass wir in der Lage waren, eine Art Bewertungssystem zu entwickeln, auf das wir uns zu konzentrieren begannen, war eine große Leistung für das gesamte Team. In der nächsten Phase begannen wir darüber nachzudenken, ob wir gute Metriken haben.

    Einer unserer Maßstäbe war die Anzahl der Dienstleister (POIs). Bei näherer Betrachtung erwies sich diese Metrik jedoch als ziemlich bedeutungslos. Es ist auf jeden Fall praktisch und nützlich für die Betriebsführung, da es leicht zu lesen und für alle klar ist. Aber wir machen ein Produkt für die Benutzer, und ihre Zufriedenheit spiegelte sich nicht darin wider.

    Überzeugen Sie sich selbst, ob es dem Benutzer besser geht, weil wir 50.000 Organisationen kannten, aber bereits 60.000 Organisationen kannten. Möglicherweise. Und wenn wir die nächste Apotheke oder den nächsten Geldautomaten der rechten Bank in der Nähe seines Hauses noch nicht kennen?

    Wenn wir jedoch die Anzahl der Organisationen als Metrik ausgewählt haben, müssen wir einen wichtigen Punkt klären, bevor wir einem Mann seine Frage beantworten. Aber sollte dieser Geldautomat als Organisation betrachtet werden? Und der Kiosk von Rospechat? Was ist mit einer öffentlichen Toilette? Und der automatische Kiosk, an dem Tickets für die U-Bahn oder den Zug verkauft werden?



    Es scheint, dass der Produktmanager, der die Bedürfnisse des Benutzers zusammenfasst, diese Fragen beantworten kann. Es gibt jedoch viele Produkte und jedes hat einen eigenen Manager mit eigenen Datenanforderungen. Wie kann man sie zu einer einzigen und nicht inkonsistenten Bestellung zusammenfassen, wenn man bedenkt, dass nicht jeder Kunde alle Details der Basis kennt?

    Als ich merkte, dass ich nicht auf jemanden warten musste, um mir eine Antwort zu geben, schrieb ich eine konsolidierte Definition der Organisation und legte sie an einem öffentlichen Ort ab. Unten schrieb ich: "Reichen Sie begründete Vorschläge zur Änderung dieses Dokuments in die folgende Personenliste ein." Dies ermöglichte es uns, parallel zu endlosen Diskussionen darüber zu arbeiten, wie wir richtig leben können.

    Wie oben erläutert, ist die Metrik "Gesamtzahl bekannter Organisationen" nicht die beste, da sie uns nicht hilft, zu verstehen, wie gut wir Benutzerprobleme lösen. Und das ist unser Hauptziel.

    Lassen Sie uns sehen, wie eine Reihe von Metriken unser Projekt beschreiben kann. Ziemlich offensichtliche Metriken kommen in den Sinn:

    • Die oben genannte Anzahl von Organisationen - sowohl absolut als auch im Vergleich zu den Hauptkonkurrenten (auch in bestimmten Kategorien).
    • Die Anzahl / der Prozentsätze irrelevanter Antworten, die ausgelöst wurden, weil sich die Organisation nicht in der Datenbank befindet. Eine bequeme Metrik, die jedoch schwer zu messen ist, insbesondere auf nationaler Ebene.
    • Genauigkeit - Der Anteil der Organisationen mit den korrekten Daten unter allen im System verfügbaren Organisationen.
    • Vollständigkeit - der Anteil der Organisationen, die Yandex bekannt sind, an allen Organisationen in der realen Welt.

    Und wir haben die letzten beiden Metriken als diejenigen ausgewählt, die die Qualität des Systems und die Komplexität der Messung, die zu uns passt, am besten widerspiegeln.

    Da haben wir Metriken berücksichtigt


    Das Leben scheint besser zu werden: Wir haben Kennzahlen ermittelt, regelmäßig gemessen und Maßnahmen zu ihrer Verbesserung erarbeitet. Lebe und freue dich. Innerhalb des Unternehmens waren sie äußerst bemüht, Kennzahlen in Bezug auf „Genauigkeit sollte nicht niedriger als X sein“ oder „Vollständigkeit sollte nicht niedriger als Y sein“ zu diskutieren. Es schien allen klar zu sein, was Genauigkeit ist - und es sollte natürlich so hoch wie möglich sein. Es ist nicht sehr interessant, was wir als Organisation betrachten, was wir als Fehler betrachten, der die Genauigkeit beeinträchtigt, und so weiter.

    Als wir jedoch analysierten, wie wir die Genauigkeit tatsächlich messen, stellte sich heraus, dass verschiedene Parteien dies häufig als geringfügig unterschiedlich verstehen. Und es wäre möglich gewesen, viele Stunden für lebhafte Meetings einzusparen, wenn sofort klar geworden wäre: Wir sprechen verschiedene Sprachen und können uns daher nicht einigen. Unsere Daten werden von verschiedenen Yandex-Diensten verwendet, und jeder Dienst hat seine eigenen Genauigkeitsanforderungen. Aber eine erstaunliche Geschichte: Gleichzeitig benötigen sie einfach „Daten mit einer Genauigkeit von mindestens X“. Die große Überraschung für alle war, dass jeder die Genauigkeit sehr unterschiedlich versteht.

    Als Ergebnis haben wir mehrere Genauigkeitsmetriken beschrieben, die sich nacheinander verstärken.



    Dank dessen haben wir gesehen, dass, wenn unsere Genauigkeit gemäß der von Anfang an verwendeten Grundmetrik sehr hoch ist (über 90%), sie im übrigen 50-60% erreichen kann. Und genau die Verschachtelung von Metriken ineinander ermöglicht es uns, die Qualität der Datenbank kontinuierlich zu verbessern und von einer Metrik zur nächsten zu wechseln.

    Natürlich werden alle derartigen Messungen an zufälligen Stichproben von Organisationen durchgeführt, und dies bringt einen weiteren heimtückischen Fehler mit sich. Oft wird vergessen, dass eine indirekte Metrik einen Fehler aufweist. Wenn also vor einem halben Jahr die Messgenauigkeit 62% betrug und jetzt nach Abschluss eines Projekts 63%, bedeutet dies immer noch nichts, es ist zu früh, um Trommeln zu schlagen. Ein solches Zitieren von Statistiken ist im Allgemeinen unprofessionell, sofern nicht gleichzeitig ein Fehler angezeigt wird.

    Der zweite Fehler beim Arbeiten mit ähnlichen Metriken ist die Verwendung einiger Punktmetriken. Geben Sie zum Beispiel je nach Signifikanz des Fehlers eine Bewertung von 1 bis 5 an. Sie können einen akzeptablen Schätzfehler für die kalkulatorischen Messkosten nur im Fall einer binären Metrik erhalten, dh, die Daten zu einer bestimmten Organisation sind entweder korrekt oder nicht korrekt.

    Wie oben erwähnt, werden Metriken basierend auf Zufallsstichproben gemessen. Zufallsstichproben werden manuell von Personen geprüft, und auf dieser Grundlage wird die endgültige Metrik geschätzt. Je größer die Probe ist, desto höher sind die Arbeitskosten für die Kontrolle (Markierung). In einer idealen Welt, die es nicht gibt, kostet Arbeit nichts, und die Überprüfung der Organisation nimmt unendlich wenig Zeit in Anspruch. Daher wäre es in einer idealen Welt logisch, die gesamte Basis zu überprüfen und den Wert der Genauigkeit zu berechnen. Dann müsste ich übrigens nicht ständig Fehler korrigieren. Die Realität nimmt jedoch ihre eigenen Anpassungen vor und ich möchte die optimale Stichprobengröße bestimmen. Mathematische Statistik hilft.

    Angenommen, wir haben N = 40.000 in unserer DatenbankOrganisationen. Wir interessieren uns für die Stichprobengröße n, die markiert werden muss, um auf der Grundlage der Genauigkeit der gesamten Datenbank eine verlässliche Schlussfolgerung zu ziehen. Es ist zu beachten, dass auf der Grundlage einer selektiven Auszeichnung nur eine Schlussfolgerung der folgenden Form gezogen werden kann:

    „Die tatsächliche Genauigkeit der Basis weicht von einer bestimmten Zahl p um nicht mehr als δ mit einer Wahrscheinlichkeit von mindestens P ab.“

    Wir haben also drei Werte: n ist die Stichprobengröße, δ ist der Schätzfehler, P ist die Wahrscheinlichkeit dieser Schätzung. Natürlich möchten wir unsere Kosten für die Kennzeichnung von n Organisationen minimieren, den Fehler bei der Schätzung von δ minimieren und die Wahrscheinlichkeit P maximieren, mit dem wir argumentieren können, dass die auf der Basis der Stichprobe erzielten Ergebnisse auf die gesamte Basis insgesamt anwendbar sind. Aber wie im berühmten Witz „Schnell, effizient, kostengünstig - wählen Sie zwei beliebige Punkte“ müssen wir etwas opfern. Wir werden die P- Wahrscheinlichkeit nicht viel opfern, sonst wird die erhaltene Schätzung nur mit einer geringen Wahrscheinlichkeit den tatsächlichen Stand der Dinge widerspiegeln, und warum wurde dann die Messung durchgeführt? Wir sind uns einig über die Wahrscheinlichkeiten P = 95% und den zulässigen Fehler δ = 5%. Und die Größe der Mindeststichprobe ist jetzt einfach zu berechnen. Und was kann man nur freuen, wir können mit Sicherheit sagen, dass es ausreichen wird, eine Stichprobe von nur 384 Organisationen zu markieren!

    Angenommen, wir haben eine Stichprobe der Größe n bewertet= 384 Organisationen, von denen sich m = 290 Organisationen als wahr erwiesen haben. Dann haben wir die folgende Beurteilung: . Und der Schätzfehler ist δ % . Insgesamt können wir sagen, dass unsere Genauigkeit 75,5 ± 4,3% beträgt . Wenn wir plötzlich Anforderungen zur Reduzierung des Fehlers haben, reicht es aus, wenn wir zusätzlich eine weitere zufällige Anzahl von Organisationen markieren, deren Anzahl auf der Grundlage der dargestellten Fehleranforderungen berechnet wird.



    Wie bereits erwähnt, können wir, nachdem wir beispielsweise bei der nächsten Messung 72,2 ± 4,5% erhalten haben, keine eindeutigen Aussagen darüber treffen, ob unsere Genauigkeit zu- oder abgenommen hat.

    Nun wenden wir uns der anderen definierten Metrik jedes Verzeichnisses zu - der Metrik der Vollständigkeit. Vollständigkeit ist der Anteil realer Organisationen, die im Handbuch vorgestellt werden. Wenn es in der Stadt X 10.000 Organisationen gibt, die für Sie von Interesse sind, und Sie nur 6.000 kennen, dann liegt Ihre Fülle bei 60%.

    Diese Metrik kann nur durch den Besuch von Organisationen in der realen Welt auf "ehrliche" Weise gemessen werden - das heißt, die Metrik selbst ist unter dem Gesichtspunkt der Arbeitskosten ziemlich teuer. Zum Glück reicht aus den gleichen Gründen wie oben ein Zufallsstrom von nur 384 Organisationen aus, um die Vollständigkeit mit einer akzeptablen Fehlerquote zu messen.

    Der Messvorgang selbst ist wie folgt. Das erste, was wir tun müssen, ist, eine zufällige Stichprobe von Adressen (Hausnummern) basierend auf der Adressdatenbank zu erstellen, die wir auf den Karten haben. Als nächstes müssen Sie jedes Haus besuchen und gemäß der gewählten Definition alle dort vorhandenen Organisationen beschreiben.



    Eine zufällige Stichprobe der gesammelten Organisationen wird auf das Vorhandensein in Yandex.City überprüft. Die Vollständigkeitsschätzung und der Fehler dieser Schätzung werden mit uns bereits bekannten Formeln berechnet.

    Schlussfolgerungen


    Zusätzlich zu technischen Dingen möchte ich die Lektionen hervorheben, die ich während meiner Arbeit in Yandex.City gelernt habe.

    • [Kapitän Beweise] Metriken sind erforderlich, um einen Prozess oder ein Projekt zu verwalten. Gleichzeitig sollten sie möglichst einfach und verständlich sein. An komplexen Metriken ist nichts auszusetzen, aber im Fall eines großen verteilten Teams muss es eine einfache Metrik geben, die von allen Teammitgliedern gemeinsam genutzt wird.
    • Wenn Sie eine Metrik auswerten und Metriken zu verschiedenen Zeitpunkten vergleichen, ist es wichtig, den Fehler dieser Schätzung zu verstehen.
    • Bei der Auswertung von Metriken an Zufallsstichproben müssen binäre Metriken verwendet werden, da nur mit diesem Ansatz eine akzeptable Schätzgenauigkeit mit einer relativ geringen Anzahl von Messungen erzielt werden kann.
    • Wenn Sie eine Metrik mitbringen, seien Sie nicht faul und finden Sie heraus, wie diese genau berechnet wird. Fragen Sie nach der Quelle, der Formel, der Beschreibung des Berechnungsalgorithmus und Beispielen für Markups. Informieren Sie sich über die Größe der Stichproben und darüber, wie sie generiert wurden. Es mag überraschen, dass eine Offline-Metrik, die einmal im Jahr gemessen wird, normalerweise in den Daten des letzten Monats berücksichtigt wird - also ohne Saisonalität.

    Wir haben zwei Messgrößen untersucht - Genauigkeit und Vollständigkeit, mit denen wir einerseits angemessen beurteilen können, wie gut wir Organisationen aus der realen Welt in unserem System abbilden, und andererseits sind sie für das gesamte Unternehmen hinreichend klar und kostengünstig zu messen.

    Das nächste Mal werden wir darüber sprechen, wie eine Offline-Metrik der Vollständigkeit in Fällen gemessen werden kann, in denen es keine gute Karte für die Stadt gibt, was in unserem Fall bedeutet, dass wir keine Adressinformationen und keine vollständige Liste von „Häusern“ haben.

    Jetzt auch beliebt: