Fall Platforma und HFLabs / Sudo Null IT News

Gemeinsame Treueprogramme großer Unternehmen sind die Gegenwart und Zukunft des Marketings. Aber um eine interessante und relevante Integration zu starten, die ein gemeinsames Publikum erreicht und beiden Unternehmen Geld bringt, müssen Sie zuerst dieses sehr gemeinsame Publikum finden. Dieses Problem wird durch Datenabgleich gelöst.

Die Aufgabe ist nicht einfach, denn russische Gesetze verbieten die Weitergabe personenbezogener Daten an Dritte. Und für einige Unternehmen wird die Datenanreicherung durch zusätzliche Einschränkungen erschwert. Aber es gibt einen Ausweg.

Platforma und HFLabs haben erstmals den Prozess des sicheren Datenabgleichs zwischen zwei Unternehmen getestet. Wir erzählen, wie es war und was am Ende passiert ist.

Datenabgleich: Einfach ausgedrückt

Matching ist der Prozess des Abgleichs von Daten. Für das menschliche Gehirn ist dies eine alltägliche und vertraute Aufgabe. Zwei Fotos zu vergleichen und zu verstehen, dass sie dieselbe Person darstellen, ist eine Sache von ein paar Sekunden.

In der Wirtschaft ist der Prozess des Zusammentragens und Vergleichens von Daten eine viel komplexere Aufgabe.

Zur Verdeutlichung erklären wir das am Beispiel eines fiktiven Unternehmens, in dem es mehrere Bereiche gibt: eine Bank, einen Online-Shop, Essenslieferung und Carsharing.

Alle Destinationen führen Kunden selbstständig. Das heißt, um Carsharing nutzen zu können, muss eine Person ein separates Konto erstellen – eine Bank-ID funktioniert nicht. Als Ergebnis stellt sich heraus, dass ein Kunde vier Datensätze in verschiedenen Datenbanken eines Unternehmens hat.

Um rationeller mit den Kunden zu arbeiten, beschließt die Unternehmensleitung, die Grundlagen zu vereinen. Die Hauptaufgabe: dass das System alle diese vier Datensätze als eine Person erkennt.

Es ist schon innerhalb des gleichen Unternehmens schwierig. Schließlich ist Matching nicht nur eine Kombination aus Basen und Entfernung doppelter Datensätze. Es gibt viele Nuancen, die das Ergebnis beeinflussen.

In verschiedenen Konten kann der Kunde unterschiedliche Telefonnummern oder E-Mail-Adressen angeben. Oder Kontakte können die gleiche Essenz haben, sich aber in der Schreibweise unterscheiden. Beispielsweise sind die Adressen vasiliy@ya.ru und vasiliy@yandex.kz die gleiche Mail, obwohl die Ähnlichkeit der Zeilen nicht hoch ist. Dasselbe gilt für Telefonnummern: Eine Datenbank enthält möglicherweise ein Telefon mit der Landesvorwahl +7999 und eine andere ohne diese – 999. Diese Telefone stimmen bei einem direkten Vergleich nicht überein.

Gleichzeitig ist auch der umgekehrte Fall möglich: In der realen Welt geht eine Telefonnummer manchmal von einem Besitzer zum anderen über. Möglicherweise sind Sie bei der Überweisung von Geld über die SBP auf eine solche Situation gestoßen: Eine Bank zeigt einen vollständigen Namen an und eine andere – eine andere. Daher lohnt es sich nicht, das Telefon als eindeutige Kennung einer Person zu betrachten.

Der menschliche Faktor führt auch einen großen Fehler in den Prozess ein. Ein Operator kann nur den Vornamen des Kunden aufschreiben, und der zweite fügt auch einen Vatersnamen hinzu. Und das war’s, zwei verschiedene Clients tauchten im System auf. Wir erinnern uns nicht einmal an die üblichen Tippfehler – sie passieren oft und erschweren auch den Matching-Prozess.

Aber der schwierigste Teil beginnt, wenn zwei verschiedene Unternehmen die Daten abgleichen müssen. Um beispielsweise eine Werbekampagne oder ein Treueprogramm für allgemeine Kunden durchzuführen, analysieren Sie das Profil oder die Historie eines Käufers. Immerhin tritt das Gesetz „Zum Schutz personenbezogener Daten“ in Kraft, das die Weitergabe von Informationen über Namen, Telefonnummern, Adressen, E-Mails an Dritte – also jeglichen Kundenstamm – ausdrücklich verbietet.

Es kann nicht als offenes Ökosystem organisiert werden. Aber Platforma und HFLabs haben einen Weg gefunden, Datenbanken effizient abzugleichen, ohne gegen das Gesetz zu verstoßen.

Matching-Erfahrung von Platforma und HFLabs

Ein direkter Datenaustausch ist nicht möglich, aber 152-FZ erlaubt die Verwendung anonymisierter Daten für statistische und analytische Aufgaben. Aus diesem Grund haben Platforma und HFLabs einen Matching-Prozess entwickelt, der auf zweistufigem Hashing basiert und ein Sitzungs-„Geheimnis“ verwendet, das nur Dateneigentümern zur Verfügung steht.

Kundendaten werden in synthetische Identifikatoren – UUIDs – umgewandelt, die keine personenbezogenen Daten mehr sind und aus einer zufälligen Kombination von Buchstaben und Zahlen fester Länge bestehen. Die gehashten Daten werden an den föderierten Hub übertragen, wo Hashes verglichen und Schnittmengen gesucht werden.

Hier können wir eine Analogie zu Algorithmen für Collaborative Confidential Computing ziehen, bei denen Analysemodelle auf verschlüsselten „Geheimnissen“ und nicht auf echten Daten aufbauen. Und erst nachdem Sie die Gewichte der beiden Modelle verglichen haben, können Sie das wahre herausfinden.

Um die Datenbanken abzugleichen, haben die Experten von Platforma und HFLabs eine spezielle Architektur entwickelt.

Jeder Teilnehmer betreibt auch schon die Datenbanken über CDI mit einem Hashing-Modul. Dann gelangen sie zum föderierten Hub, wo die Daten verglichen werden. Wenn sie übereinstimmen, informiert Sie das System über die Überschneidung von Clients.

Es stellt sich das folgende Schema heraus:

Als Ergebnis erhält jeder der Teilnehmer nach dem Abgleich der Hashes die Identifikatoren seiner eigenen Kunden, die andere Partner haben, ohne den eigenen Kundenstamm preiszugeben.

Das Hauptproblem der Methode und ihre Lösung

Der Prozess des Abgleichs mit Hashing mag recht einfach erscheinen, aber in Wirklichkeit gibt es eine Reihe von Komplexitäten.

Es ist einfach, identische Zeichenfolgen zu vergleichen und zu finden. Nehmen wir an, beide Datenbanken haben “Natalia Kuznetsova”. Wir werden verstehen, dass dies dieselbe Person ist, weil. Vorname stimmt überein. Wenn die Daten im Hub auf die gleiche Weise gehasht werden, sind die Hashes dieser vollständigen Namen identisch, was bedeutet, dass wir die Übereinstimmung der Datensätze daraus bestimmen können.

Hier haben wir ein vereinfachtes Beispiel gegeben. Um eine starke Verbindung aufzubauen, müssen Sie mindestens drei Kriterien verwenden: vollständiger Name + Geburtsdatum + Meldeadresse oder Passnummer.

Ein vollständiger Name reicht nicht aus, um eine Person in ganz Russland zu identifizieren. Vollständige Namensvetter finden sich bei Personen mit nicht den häufigsten vollständigen Namen, und selbst das Geburtsdatum ermöglicht es nicht immer, die Situation zu korrigieren – viele kennen die Fehler von Gerichtsvollziehern, aufgrund derer die Schulden seines Namensvetters bei a Ähnliche DR aus einer anderen Region werden an eine Person gehängt und gezwungen, sich direkt am Flughafen damit zu befassen. Dies ist ein Beispiel dafür, wie Menschen niemals identifiziert werden sollten.

Kehren wir zum vereinfachten Schema zurück und betrachten wir die Situation, in der der Kunde in einer Datenbank als “Natalia Kuznetsova” und in der zweiten als “Natalia Kuznetsova” eingetragen ist. Formal sind die Saiten unterschiedlich, es gibt keine Übereinstimmung.

Die Bestimmung der Ähnlichkeit der Originaldaten ist nicht schwierig – es gibt viele Algorithmen, mit denen Sie die Ähnlichkeit von Zeichenfolgen bestimmen können: Dies sind N-Gramm, die Levenshtein-Distanz und die Jaro-Winkler-Ähnlichkeit. Obwohl es hier Schwierigkeiten gibt – die Ähnlichkeit zwischen Sasha und Alexander wird nach diesen Algorithmen gering sein, aber Mischa und Masha werden sehr ähnlich sein.

Die Zeilen “Natalia Kuznetsova” und “Natalia Kuznetsova” haben nur einen Buchstabenunterschied – 16 von 17 Zeichen sind gleich (wir zählen auch das Leerzeichen). Das heißt, die Zeilen sind zu 94 % identisch und beziehen sich mit hoher Wahrscheinlichkeit auf dieselbe Person. Diese Überprüfungsmethode eignet sich auch gut für die Verarbeitung von Daten, die zufällige Tippfehler enthalten. Je mehr Daten, desto mehr vereinfacht sich die Identifizierung.

Bei gehashten Daten ist das anders. Der Unterschied in einem Buchstaben des Quellcodes macht die Hashes aus den Wörtern “Natalia” und “Natalia” völlig unterschiedlich. Ihr Vergleich wird nichts geben. Sie können selbst überprüfen:

sha512 aus “Natalia”

a771625ed02ba6a1ba14d100e7de9af21cac5008930184ccc73f4ed68c3f2a6fb8286ed7ce31a46fd75e00846c346ccf5cd0afe4874af3c080fcc2b75a422aeb

sha512 aus “Natalia”

5b997c9e30041489ad1a5b0f65996b40a53c15b864ea920e4fe14b17fee19e5cc4a00f93eb601e2b30f59ff6ab20551b4d21cfb4962c85105b5eac5dc7e46e53

Um solche Situationen zu vermeiden, haben Experten ein Synonymsystem entwickelt.

Für eine Zeile generieren wir eine Reihe verwandter Werte. Zum Beispiel „Natalia“, „Natalia“, „Natascha“. Dasselbe gilt für andere Blöcke: Telefonnummern mit und ohne Ländervorwahl, E-Mails @yandex.ru und @ya.ru. Überall dort, wo es mehrere gleichwertige Möglichkeiten gibt. Die Plattform auf der anderen Seite tut dasselbe.

Für jedes Synonym wird ein separater Hash gebildet, und bereits in der Plattformschleife vergleichen wir die empfangenen Hashes paarweise. Die Algorithmen zur Generierung von Synonymen sind auf beiden Seiten gleich, sodass wir durch einen Quervergleich ihrer Hashes mit nahezu 100-prozentiger Genauigkeit feststellen können, dass „Natalia Kuznetsova“ und „Natalia Kuznetsova“ in zwei Datenbanken eine Person sind.

Der schwierigste und zeitaufwändigste Teil dieses Prozesses besteht darin, eine Reihe von Synonymen für Datensätze in Datenbanken zu erstellen, die alle möglichen Varianten ihres Datensatzes berücksichtigen. Manchmal braucht es Monate Echtzeit und die Arbeit einer ganzen Fachabteilung. Wir lassen den vollständigen Namensnormalisierungsalgorithmus und die Korrektur von Tippfehlern darin den Rahmen dieses Artikels sprengen.

Clustering für passende Geschwindigkeit

In kleinen Datenbanken können Sie alle Positionen mit allen vergleichen. Die quadratische Komplexität des Algorithmus ist selbst bei 10.000 Positionen nicht kritisch – ein leistungsstarker Computer führt 100 Millionen String-Vergleichsoperationen in einer Minute durch.

Aber die Verarbeitung einer Datenbank mit 20 Millionen Datensätzen wird in diesem Fall langwierig sein – fast 200 Billionen Vergleiche müssen durchgeführt werden. Wir berechnen diese Zahl mit der Formel zur Bestimmung der Anzahl der Kanten eines vollständigen Graphen: n(n-1)/2.

Eine solche Operation kann Monate in Echtzeit dauern. Und dies ist nicht die größte Basis, mit der man arbeiten kann – es gibt russische Unternehmen, die mit Kundenstämmen operieren, die fast die gesamte Bevölkerung des Landes umfassen. Und mit dem Algorithmus der Synonyme wird es um ein Vielfaches wachsen.

Monate mit einer einzigen Datenbankverarbeitung zu verbringen, ist keine Option. Daher wird für große Datenbanken ein zweiphasiger Prozess zum Arbeiten mit Daten gestartet.

Die erste Phase ist die Clusterbildung. Alle Daten werden nach einem oder mehreren gemeinsamen Merkmalen in viele kleine Gruppen eingeteilt. Sie können alles sein: eine Passserie, der Anfangsbuchstabe eines Nachnamens, ein Geburtsdatum. Und erst in der nächsten Phase werden die Hashes in diesen Gruppen miteinander verglichen.

Lassen Sie uns die Wirksamkeit dieser Methode am Beispiel einer Datenbank mit 20 Millionen Datensätzen berechnen. Der Algorithmus zum Vergleichen aller mit allen ist quadratisch komplex – man muss 200 Billionen Vergleichsoperationen durchführen.

Nun teilen wir die gesamte Datenbank nach Passserien in Gruppen ein. Angenommen, wir haben 2.000 Gruppen mit jeweils 10.000 Einträgen. Der Algorithmus vergleicht nur Datensätze in derselben Gruppe. Von jedem erhalten wir 50 Millionen Operationen und von der gesamten Datenbank 100 Milliarden. Das ist 2000-mal schneller als in der vollständigen Grafik.

Selbst wenn Sie eine Reihe von Analysen von Clustern ausführen, die durch verschiedene Attribute erstellt wurden, ist dies immer noch um mehrere Größenordnungen schneller als die Verarbeitung der gesamten Datenbank – nur 10 bis 20 Minuten.

Das Ergebnis dieses Abgleichs ist eine Tabelle, die die Übereinstimmung der Datensatzkennungen der verschiedenen Partner speichert. Dieselbe Basis gemeinsamer Kunden, für deren Suche der Prozess gestartet wurde. Und aus dieser Tabelle wird das gesamte Ökosystem der gemeinsamen Daten der beiden Unternehmen aufgebaut, die für die gezielte Kommunikation mit Kunden genutzt werden können. Darauf basierend können Analysten gemeinsame Marketingangebote für gemeinsame Kunden entwickeln, genauere Modelle zur Vorhersage von Kundenbedürfnissen erstellen oder Conversions verbessern.

Im Ergebnis bringt der Prozess des sicheren Datenabgleichs nur Vorteile für alle Beteiligten. Es besteht nicht einmal ein minimales Risiko, persönliche Daten von Kunden preiszugeben. Analysten arbeiten nur mit Informationen, die in beiden Datenbanken übereinstimmen. Dies bietet viele Möglichkeiten für die Zusammenarbeit zwischen Unternehmen und eine bessere Zielgruppenanalyse, schließt aber gleichzeitig das Problem mit der Übertragung personenbezogener Daten und möglichen Lecks sofort.

Und für Verbraucher bedeutet der Datenabgleich, dass Unternehmen ihnen kollaborative Produkte und Treueprogramme anbieten, das Einkaufserlebnis besser analysieren und personalisierte Angebote entwickeln können.

Und je mehr Unternehmen sich künftig an dem gemeinsamen System beteiligen, desto stärker werden die positiven Auswirkungen auf den einzelnen Käufer und den Gesamtmarkt sein.

Similar Posts

Leave a Reply

Your email address will not be published.