Wie wir unsere Plattform für Analysten aufbauen / Sudo Null IT News

Hallo, Galina Vakulina ist wieder bei Ihnen, und in diesem Artikel erzähle ich Ihnen, wie wir eine Plattform für Analysten aufbauen und ihnen unnötige Arbeit ersparen.

Das Ziel unseres Teams ist es, das Arbeiten mit Daten am Point bequem und schnell zu machen. Je weniger Zeit ein Analyst für Routine aufwendet, desto mehr Energie bleibt ihm für Recherchen, das Erfinden neuer Metriken, das Erstellen von Dashboards, das Testen von Hypothesen und einfach das aufregende Ausgraben der Daten.

Wie schlecht wir waren

Vor etwa einem Jahr haben wir festgestellt, dass Analysten regelmäßig eine Reihe von unvermeidlichen Aktionen ausführen müssen, die nicht direkt mit der Datenanalyse zusammenhängen.

Nehmen wir zum Beispiel die Analystin Petja, die kürzlich einen Job bei Tochka bekommen hat. Er wird studieren müssen, wie hier alles funktioniert: angefangen bei den allgemeinen Arbeitsregeln bis hin zu den Daten. Übrigens habe ich hier schon darüber geschrieben, wie wir das Onboarding von Analysten auf- und umgebaut haben.

Aber egal wie gut das Training ist, es ändert nichts an den alten suboptimalen Abläufen und reduziert den Routineaufwand nicht stark.

Zugang. Gleich in den ersten Wochen bei Tochka steht Petya vor einer Herausforderung: Er muss sich irgendwie Zugang zu Daten und Systemen verschaffen.

Bei der Einstellung geben wir eine Grundausstattung an Zugängen. Für den Anfang reicht es. Aber jetzt brauchte Petya Daten, zum Beispiel über die Mitarbeiter des Point in 1C. Und die Suche beginnt: Gehen Sie zum elektronischen Dokumentenverwaltungssystem, finden Sie den gewünschten Prozess, geben Sie genau die richtige Gruppe an, die benötigt wird, starten Sie sie und speichern Sie irgendwo einen Link, um den Prozess zu verfolgen. Und wenn Sie Zugriff auf mehrere Arten von geheimen Daten benötigen, führen Sie eine Reihe von Prozessen aus.

Petya ist gerissen und geht zu erfahreneren Kameraden, um Anweisungen für die erste Quest zu erhalten.

Beschreibung der Daten. Angenommen, Petya hat die vorherige Aufgabe abgeschlossen und Zugriff erhalten. Jetzt versucht er zu verstehen, um welche Art von Daten es sich handelt, wie oft sie aktualisiert werden, wo und wann sie versendet wurden und ob es Besonderheiten bei der Arbeit mit ihnen gibt.

Petya muss jeden Morgen einen Newsletter mit den Messwerten des Vortages erstellen. Wie lange muss das Mailing geplant werden, um sicherzustellen, dass die Daten aktualisiert werden und die Metrik die richtigen Zahlen anzeigt?

Wir suchen die notwendigen Informationen in der Wissensdatenbank. Wenn es nicht da ist (und das passiert ziemlich oft), suchen wir den Besitzer und stellen ihm ein paar Fragen. Und hoffen wir, dass der Besitzer nicht im Urlaub ist 🙂 Oder er könnte kündigen, dann ist es eine echte Katastrophe. Sie müssen zum allgemeinen Chat der Analysten gehen und einen Schrei ausstoßen, in der Hoffnung, dass sich jemand mit dem Thema befasst. Oder suchen Sie nach dem Dateningenieur, der die Daten gezogen hat, um ein Verhör mit einem Suchtkranken zu arrangieren.

Und natürlich beschreibt niemand gerne seine Daten! Schließlich müssen Sie dazu eine eigene Seite in der Wissensdatenbank erstellen, die Namen aller Felder dorthin übertragen und für jedes eine Art Erklärung schreiben. Brrr.

Wenn Petya also jemanden bittet, die Daten zu beschreiben, werden seine Anfragen in die hinterste Ecke des Backlogs verschoben.

Schneller Zugriff auf Daten. Petya muss oft eine schnelle Auswahl * aus “irgendeinem Tisch” schreiben. Zum Beispiel, um zu überprüfen, ob “irgendeine Tabelle” die Daten enthält, die er benötigt. Sie können zum Terminalserver gehen, auf dem der SQL-Client installiert ist, oder Sie können sich damit quälen, die IDE auf Ihrem eigenen Arbeitscomputer zu installieren. Aber auch hier kann es zu Problemen kommen.

Hochladen eigener Daten in die Datenbank. Manchmal kommt sein Produktmanager zu Petya und bittet ihn, Kunden anhand einer bestimmten Liste zu analysieren. Und die Liste befindet sich natürlich in einer Excel-Datei. Das ist das Problem!

Petya findet heraus, dass es bei Tochka mehrere Möglichkeiten gibt, Daten in den Speicher zu laden. Sie müssen Software installieren, ein Repository einrichten und eine Verbindung zum DWH herstellen. Um mit allem fertig zu werden, studiert Petya eine lange detaillierte Anleitung.

Teamarbeit mit Daten. Petya hat bereits alles gemeistert und arbeitet nun mit mehreren Analystenkollegen an einem Projekt. Für sie haben sie sogar ein eigenes Datenschema “Petya”. Ja, das ist das Problem: Die Kollegen sind so aktiv, dass sie ständig etwas an den Daten hochladen oder ändern. Wer es getan hat und warum, lässt sich nicht nachvollziehen. Wenn im Schema supersensible Daten auftauchen, die Sie Anfängern nicht zeigen möchten, können Sie diese auch nicht ausblenden.

Kurz gesagt, Petyas Leben ist gut, aber mühsam. Entweder das eine oder andere lenkt vom Fall ab. Wenn Sie das Problem nicht alleine bewältigen können und das Hinzuziehen anderer Analysten nicht hilft, springen Data Engineers ein und lösen das Problem „an der Handbremse“: Sie geben Zugriff, verstehen die Daten, laden Dateien hoch.

Was haben wir uns dagegen vorgenommen?

Wir hatten 2 Päckchen Gras, 75 Meskalintabletten, 5 Päckchen LSD … zwei Pythonisten, ein halbes Dutzend Dateningenieure und einen Tech-Redakteur. Und der Wunsch, Analysten das Leben ein wenig leichter zu machen.

Eines der Teammitglieder hatte die Idee, eine einheitliche Datenplattform zu schaffen. Ich skizzierte die Struktur und zeigte sie meinen Kollegen. Einer von ihnen fing mit der Idee Feuer, zusammen machten sie MVP. Dem Rest gefiel es, und sie zogen sich auch hoch: Sie machten einen Rückstand, spülten die Züge herunter und flogen …
Als Stack haben wir Django, PostgreSQL und JS verwendet – alles was „in der Küche jeder Hausfrau“ steht. Aufgaben der Plattformentwicklung wurden parallel zu Aufgaben aus anderen Projekten in Team-Sprints aufgenommen, ohne persönliche Zeit zu opfern.

So wurde die Plattform innerhalb eines Jahres von einem Nebenprojekt zu einem funktionierenden Produkt.

Was die Plattform jetzt kann:

  1. Wir haben das Problem mit den Zugriffen beseitigt: Wir haben das allgemeine Bankensystem für die Rechtevergabe integriert und einen Teil des Prozesses „unter die Haube“ gelegt.

    Die Hauptseite der Plattform listet Services für Analysten auf. Wenn Petya jetzt Zugriff auf DWH-Daten oder andere Dienste benötigt, muss er nur noch eine Taste drücken. Der erforderliche Prozess wird von selbst generiert und sein Status wird in der Plattformoberfläche angezeigt. Sie müssen nirgendwo anders hingehen. Hier können Sie auch das Passwort ändern.

  2. Wir haben einen einheitlichen Wissensspeicher mit Informationen zu Daten erstellt: Sie können die gewünschte Storefront schnell in einem Fenster finden, ihre Beschreibung und ihren Aktualisierungsplan anzeigen und prüfen, ob ein Mitarbeiter Zugriffsrechte auf diese Daten hat. Wenn etwas fehlt, können Sie direkt aus der Beschreibung des Showcases eine Frage an die Ersteller stellen.

    Und für jede neue Vitrine gibt es bereits eine Beschreibungsvorlage. Alle Felder werden darin entladen, es bleibt nur noch, sie zu füllen.

  3. Produktteams haben die Möglichkeit, Arbeitsbereiche zu erstellen: Ein Team kann seine ETL-Prozesse verwalten, ihren Status verfolgen, Warnungen und Berichte einrichten und Anfragen miteinander teilen.

  4. Auf der Plattform können Sie SQL-Abfragen sowohl von einem Computer als auch von einem mobilen Gerät aus schreiben. Ein Analyst kann sich den Plan seiner Anfrage ansehen und ihn überall optimal gestalten: zu Hause auf der Couch, auf dem Land oder unterwegs.

  5. Und natürlich nehmen wir auch alle Fragen, Rückmeldungen, neuen Aufgaben und Fehlermeldungen über einen einzigen Einstiegspunkt an, es ist nicht nötig, irgendwohin zu gehen und zusätzlich jemanden zu suchen.

Alle Tochka-Analysten haben die Plattform bereits ausprobiert, und die durchschnittliche tägliche Anzahl der Benutzer hat die Hälfte der Gesamtzahl unserer Analysten überschritten.

Wir haben ihre Hauptbedürfnisse in den Plänen abgedeckt, unsere Plattform mit allen Diensten zu integrieren, die im Leben eines Analysten vorhanden sind: Unterstützung für Clickhouse und Hadoop zur IDE hinzufügen, Jupyter befestigen, die Möglichkeit hinzufügen, einen Zeitplan für zu erstellen Aktualisieren von Dashboards basierend auf Abhängigkeiten im Repository.

All dies wird natürlich nicht die üblichen IDEs oder vollwertigen ETLs ersetzen, aber es spart viel Zeit und Mühe bei der Durchführung einfacher Aufgaben und Prozesse.

Similar Posts

Leave a Reply

Your email address will not be published.