Wie ich ein Vorhersagemodell für ein Callcenter erstellt habe, damit ihre Anrufe die Benutzer nicht wütend machen

Nichts ist ärgerlicher als ein überraschender Anruf von einer unbekannten Nummer. In unserer Zeit der Boten und der Kommunikation kann die Korrespondenz mit einer unbekannten Telefonnummer, die unheilvoll auf dem Bildschirm eines Smartphones flackert, zumindest ein wenig Aufregung verursachen. Es ist doppelt ärgerlich, wenn ein Anruf nicht nur plötzlich eintrifft (so sind es diese Anrufe), sondern auch zu einem für Sie unangenehmen Zeitpunkt. Wenn Sie zum Beispiel noch nicht wirklich aufgewacht sind oder umgekehrt, sind Sie nach einem langen Tag bereits in einem so verführerischen Bett in vollem Gange. Einige geschäftliche Anrufe an Wochenenden, nach neun Uhr abends oder nachts - im Allgemeinen jenseits von Gut und Böse.



Übrigens über mich. Mein Name ist Natasha, ich arbeite bei Skyeng als Data Scientist und bin an der Entwicklung verschiedener Produkte des Unternehmens beteiligt. Warum spreche ich von plötzlichen Anrufen? Die Sprachkommunikation mit Kunden, die ihre Schulung nur beginnen oder aus irgendeinem Grund abrupt unterbrechen möchten, ist Teil des Arbeitsmodells des Unternehmens. Anrufe helfen dabei, Menschen in den Prozess des Erlernens einer Sprache einzubeziehen und direkt wieder herauszufinden, was schief gelaufen ist. Eine meiner letzten Aufgaben ist es, die Arbeit unseres Call Centers zu analysieren. Ich half ihnen bei der Auswahl der besten Zeit, um mit Studenten in ganz Russland und der GUS in Kontakt zu treten: Weil niemand zu zufälligen Tageszeiten Anrufe mag und meine eigenen Benutzer wütend machen, ist das Letzte.

Die Stimmung der Menschen bei solchen Anrufen ist für uns äußerst wichtig, da sie sich direkt auf die Konvertierung auswirkt. Lassen Sie mich Ihnen mehr darüber erzählen, wie Skyeng Studenten anruft und welches Prognosemodell ich erstellt habe, damit unsere Kunden sich wohl fühlen und wir eine Conversion-Rate von 60-70% erreichen.

Es ist physisch unmöglich, den geeigneten Zeitpunkt für eine bestimmte Person zu erraten, es sei denn, Sie sind ein Hellseher. Loben Sie den Fortschritt, um solche Muster zu identifizieren, und erstellen Sie Statistiken, deren Modell Plus oder Minus für die überwiegende Mehrheit der Benutzer geeignet ist.

Bei der Analyse unserer CRM-Aufzeichnungen, in denen die Aktivitäten des Call Centers aufgezeichnet werden, wurde die Hypothese von Geschäftsanrufen außerhalb der Arbeitszeit und die Notwendigkeit, nur dem gesunden Menschenverstand zu folgen, bestätigt. Es stellte sich also heraus, dass es am besten ist, die Leute von Montag bis Donnerstag zwischen 10 und 18 Stunden anzurufen (plötzlich!). In dieser Zeit nehmen die Leute am wahrscheinlichsten Kontakt auf und der Anruf dauert länger als 15 Sekunden. Das heißt, wir gelten als erfolgreich.

Zunächst haben wir uns entschlossen, den Einfluss des menschlichen Faktors auf die Conversion zu bestimmen, dh den Erfolg von Call-Center-Betreibern zu untersuchen:

Sie müssen kein Detektiv sein, um die beiden „Anker“ auf dieser Karte zu sehen. Diese beiden Anomalien sind Bediener mit einer extrem niedrigen Effizienz. Was machen wir mit anomalen Daten, deren Natur höchstwahrscheinlich im menschlichen Faktor liegt? Ich glaube, dass wir solche Daten vollständig aus dem Modell ausschließen, um eine spätere Reinheit und Genauigkeit des Ergebnisses zu erreichen. Was ich tatsächlich getan habe. Tatsächlich sind diese beiden Bediener oder vielmehr ihre Ergebnisse im Call Center so unübersichtlich, dass ich absolut sicher bin, dass es nicht um den Arbeitsprozess geht, sondern um die Mitarbeiter selbst. Vielleicht sind sie Neulinge, was uns auch einen Grund gibt, sie auszuschließen.

Die Daten von sechs anderen Operatoren mit einer Konvertierung unter 0,5 bleiben jedoch im Modell. Ich glaube, dass es keine idealen Situationen wie Menschen geben kann, daher werden diese sechs unsere weiteren Berechnungen mit dem Rest der Stichprobe von fünfzig Mitarbeitern abwägen.

Zeitzonen, Regionen und Wochentage


Wir haben eine schwierige Situation mit Zeitzonen. Wir sammeln jetzt genügend Informationen, um festzustellen, woher der Schüler kommt und wann er am besten anrufen kann. Aber das war alles andere als immer. Es waren diese Schichten alter, aber immer noch funktionierender Informationen, die sowohl für unsere Benutzer als auch für Call-Center-Betreiber eine Reihe von Unannehmlichkeiten verursachten. Um diese alten Daten zu verarbeiten, habe ich eine separate Berechnung der Benutzerzone basierend auf anderen indirekten Daten (nach Telefonnummer, Region und Informationen zur Verwendung unserer Anwendung) geschrieben.

Wenn Sie sich eingehender mit CRM-Statistiken befassen, erhalten Sie dennoch eine ganze Reihe nützlicher Informationen, um ein effektives Modell zu erstellen. Zu Beginn habe ich einen Konvertierungsplan für die Wochentage erstellt, um meine anfängliche Annahme zu bestätigen, dass es besser ist, an Wochentagen außer am Freitag anzurufen. Eigentlich waren meine Annahmen richtig:


Eine solche Aufteilung in Moskau, St. Petersburg und andere Städte erfolgte gerade aufgrund von Zweifeln an der Bestimmung der Zeitzone. Für Tag Null haben wir jeweils Montag, den sechsten - Sonntag genommen. Die obige Grafik zeigt deutlich, wie stark die Conversion an Wochenenden nach Regionen abfällt, was die Hypothese eines Problems mit den Zeitzonen bestätigt, auf die sich Call Center-Betreiber konzentrieren.

Moskau und Peter sind etwas besser. Vielleicht, weil die Bewohner dieser Städte an ein höheres Lebenstempo gewöhnt sind. Aber trotz aller Stoizität der Moskauer und Einwohner der Stadt über der Newa heißt es in den Zahlen: "Von Freitag bis Sonntag gibt es nichts zu nennen."

Die Untergrenze unseres Ziels von 0,6 wird nur einmal erreicht - am Montag, was überraschend ist, da allgemein angenommen wird, dass dieser Tag der schwierigste ist und die Menschen montags nur ungern Nebenprobleme lösen, da sie sich darauf konzentrieren, danach zum Arbeitsrhythmus zurückzukehren Wochenende. Nein, nein und wieder nein - die Zahlen lügen nicht. Weiter im Laufe der Woche laufen wir mehr oder weniger reibungslos und die Rezession beginnt erst am Donnerstag.

Noch interessanter ist das Bild beim Zerlegen von Anrufen nach Uhr:

Beachten Sie den starken Schwanz links für die Regionen. Höchstwahrscheinlich wurden diese Anrufe aufgrund einer falsch definierten Zeitzone zu einem inakzeptablen Zeitpunkt getätigt

Schauen wir uns nun die Umrechnung einiger Wochentage an:

Hier sind die Daten für unseren Montag-Championtag. Zu Beginn des Diagramms werden „Regionen“ nach vorne verschoben. Gegen Mittag ist die Situation ausgeglichen. Achten Sie übrigens auf die symmetrische Bewegung unseres Diagramms nach etwa 15 und 16 Stunden. dass die Hauptstadt, dass die Regionen zu dieser Zeit genau die gleiche Bewegung zeigen.

Aber am Dienstag beginnt sich die Situation zu ändern:

Und am Donnerstag zeigen die Regionen, dass sie nicht bereit sind, Anrufe zu beantworten:

Erinnerst du dich, ich sagte, Wochenendanrufe sind böse? Im Allgemeinen bestätigt das statistische Bild meine Worte, aber es gibt ein „aber“. Kurz gesagt, überzeugen Sie sich selbst:

Um 9-10 Uhr morgens rollt die Umstellung in den Regionen einfach um! Und schon um 11 Uhr morgens - es löst sich kaum von der 0,4-Marke, das heißt, es sackt zweimal ab. Ich habe keine Ahnung, wie das funktioniert und warum es passiert, also kann ich meine Theorien in den Kommentaren teilen, ich würde es gerne lesen.

Wenn wir alle Daten zusammenfassen, können wir die folgenden Regeln für einen „erfolgreichen“ Anruf ableiten:

  • Montag: von 13 bis 17;
  • Dienstag: von 12 bis 18;
  • Mittwoch: von 11 bis 12 und von 15 bis 17;
  • Donnerstag: von 10 bis 17;
  • Freitag: von 10 bis 12 Uhr;
  • Samstag: von 16 bis 18;
  • Sonntag: von 13 bis 14 und von 18 bis 19.

Eigentlich passt alles in den Rahmen des gesunden Menschenverstandes. An Wochentagen von Montag bis Donnerstag - bis fünf bis sechs Uhr abends anzurufen und am Freitagnachmittag Probleme zu lösen - ist fast unmöglich. Statistiken über Wochenenden „schweben“ ein wenig, wobei der Schwerpunkt auf dem Nachmittag liegt, und der zuvor erwähnte anomale Höhepunkt am Sonntag um 10 Uhr morgens gerät aus dem Bild. Und so ist alles stabil.

Was ich mit all dem gemacht habe und welches Modell ich gebaut habe


Bevor mit der Erstellung eines Modells für ein Callcenter begonnen werden konnte, mussten mehrere Schlussfolgerungen gezogen werden. Erstens hängt alles von der Zeit des Anrufs ab. Aber hier haben wir Probleme.

Das einzige, was wir verfolgen können, ist der Bereich der Registrierung der Telefonnummer, und bereits mit diesen Informationen beginnen wir mit dem Bau des Call Centers. Sehr oft treten jedoch Situationen auf, in denen wir nicht genau bestimmen können, aus welcher Region die angegebene Anzahl stammt.

Dies und nicht irgendeine fiktive Faulheit der Regionen führt dazu, dass die allgemeinen Indikatoren für die Nutzerumwandlung außerhalb der Moskauer Ringstraße und der Ringstraße im Verhältnis zu den Hauptstädten nachlassen. Was können wir in dieser Situation tun?

  1. Halten Sie sich an die identifizierten Hot Zones für Anrufe in die Regionen, wenn wir nicht über genügend Daten verfügen.
  2. Wir müssen nach Werkzeugen suchen, um den Standort des Benutzers genauer zu bestimmen, um ihn nicht durch leere Anrufe zu stören.

Der zweite Punkt ist besonders wichtig. Es sind solche Diskrepanzen, die die Gesamt-Conversion-Rate verringern und die Kunden dennoch verärgern.

Aber fahren wir mit dem Aufbau des Modells fort. Hier ist eine allgemeine Liste der Symptome, die ich als relevant identifiziert habe:

  • Stunde - die Stunde des Anrufs (kategoriales Vorzeichen von 0 bis 23).
  • Wochentag - Wochentag (kategoriales Zeichen von 0 bis 6).
  • Alter - das Alter des Schülers.
  • Lebenszeit - die Lebenszeit des Schülers (im Unterricht) zum Zeitpunkt des Anrufs.
  • app_hour_ {k} - tägliche Saisonalität der Anwendungsnutzung. Für jede Stunde wird k als Anteil der Aktionen in der Anwendung zu dieser Stunde (k = 0, ..., 23) an der Gesamtzahl der Aktionen in der Anwendung bestimmt.
  • app_weekday_ {k} - wöchentliche Saisonalität der Anwendungsnutzung. Für jeden Wochentag wird k als Anteil der Aktionen in der Anwendung an diesem Wochentag (k = 0, ..., 6) an der Gesamtzahl der Aktionen in der Anwendung bestimmt.
  • class_hour_ {k} - tägliche Saisonalität des Unterrichts. Für jede Stunde wird k als Anteil der Lektionen zu dieser Stunde (k = 0, ..., 23) an der Gesamtzahl der Lektionen bestimmt.
  • class_weekday_ {k} - wöchentliche Saisonalität der Anwendungsnutzung. Für jeden Wochentag wird k als Prozentsatz des Unterrichts an diesem Wochentag (k = 0, ..., 6) der Gesamtzahl der Unterrichtsstunden bestimmt.
  • is_ru - 1 wenn das Land des Schülers Russland ist und 0 wenn nicht.
  • last_payment_amount - der Betrag der letzten Zahlung.
  • days_last_lesson - Die Anzahl der Tage ab der letzten Lektion (in Abwesenheit der letzten Lektion durch die Zahl -100 ersetzen).
  • days_last_payment - Die Anzahl der Tage ab der letzten Zahlung (wenn die letzte Zahlung nicht erfolgt, ersetzen wir sie durch die Nummer -100).

Anfangs gab es ungefähr hundert Anzeichen, aber Berechnungen und Tests zeigten, dass sie das Endergebnis nicht beeinflussten, so dass sie als nicht informativ ausgeschlossen wurden (zum Beispiel die Intensität des Unterrichts, das Geschlecht des Schülers, sein Niveau usw.). Als Modell für die binäre Klassifizierung wurde eine Bibliothek zur Erhöhung des Gradienten in CatBoost-Entscheidungsbäumen verwendet.

Und hier ist die Qualität meines Modells (im Kontrollmuster):



Diese Ergebnisse wurden für die Klassentrennungsgrenze von 0,5 erhalten, was der Standardwert ist. Wir bestimmen die optimale Klassentrennungsgrenze basierend auf ROC-Kurven (Betriebskennlinie des Empfängers).

Dazu konstruieren wir die Abhängigkeit von Merkmalen wie Vollständigkeit und Spezifität in Abhängigkeit von verschiedenen Werten der Grenze, die die Klassen trennt:



Der optimale Wert der Grenze ist dort, wo wir gleichzeitig die höchstmöglichen Werte für Vollständigkeit und Spezifität erhalten (dh in diesem Fall, wo sich die Graphen schneiden). Für das resultierende Modell betrug die optimale Grenze 0,56717.

Die Qualität des Modells mit dem optimalen Rand ist wie folgt:



In unserer Situation war uns die Genauigkeit des Modells wichtiger als seine Vollständigkeit. Es ist die erhöhte Genauigkeit, die es uns ermöglicht, die Anzahl falsch positiver Prognosen zu reduzieren, das heißt, es ermöglicht uns, die Anzahl der Situationen zu reduzieren, in denen wir auf einen erfolgreichen Anruf gewartet haben, aber es hat sich als erfolglos herausgestellt.

Wenn man den Mechanismus des Modells zusammenfasst:

  • Für jede Stunde des Tages und Wochentags für jeden Schüler wird die Wahrscheinlichkeit des Wählens unter Berücksichtigung seiner Merkmale und seiner Ortszeit berechnet.
  • Für die weitere Speicherung wird für jeden Wochentag eine Zeit von 9 bis 20 Stunden ausgewählt (die Zeit wird gemäß der Zeitzone des Schülers ausgewählt).
  • Vor dem Speichern wird die Zeit auf die Moskauer Zeit verschoben, da das Wählen in der Moskauer Zeitzone erfolgt.
  • Die Ergebnisse werden in der Datenbank gespeichert.

Daher haben Call-Center-Betreiber jetzt Daten zur Wählwahrscheinlichkeit für jeden Benutzer sowie für jede Stunde und jeden Wochentag vorhergesagt. Wenn der Anruf nicht dringend ist, kann der Betreiber den optimalsten Zeitschlitz in der Woche auswählen und in extremen Fällen - wenn der Anruf nicht mehr verschoben werden kann - den erfolgreichsten Moment des aktuellen Arbeitstages.

Natürlich muss nach der Einführung meines Modells eine Pause eingelegt und die gesamte Arbeit erneut ausgeführt werden, jedoch mit neuen Daten. Ich kann endlos einige abstrakte Berechnungen durchführen, Wahrscheinlichkeiten berechnen und dem Modell neue Variablen hinzufügen, aber bis lebende Statistiken meinen Standpunkt bestätigen, ist es zu früh, um diese Frage zu schließen.

Wenn es Ihnen gefallen hat, bin ich nach einer Weile mit den neuen Daten zurück, die nach der Einführung meines Prognosemodells erhalten wurden.

Source: https://habr.com/ru/post/de464007/


All Articles