Manchmal muss man ein Problem einfach aus einer anderen Perspektive betrachten, um eine Lösung zu finden. Selbst wenn in den letzten zehn Jahren ähnliche Probleme immer auf die gleiche Weise mit variierenden Ergebnissen gelöst wurden, ist es nicht sicher, dass dieser Weg der einzige ist.
Es gibt ein Thema, das als Kundenabwanderung bekannt ist. Das ist unvermeidlich, denn Kunden eines Unternehmens können aus vielen Gründen die Nutzung seiner Produkte oder Dienstleistungen einstellen. Für das Unternehmen selbst ist die Abwanderung zwar natürlich, aber dennoch unerwünscht, weshalb alle versuchen, diese so gering wie möglich zu halten. Noch besser ist es, die Wahrscheinlichkeit der Abwanderung bestimmter Benutzer oder eines spezifischen Benutzers vorherzusagen und Schritte zur Bindung anzubieten.
Die Analyse und der Versuch, einen Kunden zu halten, wenn möglich, sind mindestens aus folgenden Gründen notwendig:
- Die Akquise neuer Kunden ist teurer als die Bindungsverfahren.. Für die Akquise neuer Kunden müssen in der Regel bestimmte Ausgaben (Werbung) getätigt werden, während bestehende Kunden durch spezielle Angebote mit besonderen Bedingungen aktiviert werden können;
- Das Verständnis der Gründe für die Abwanderung von Kunden ist der Schlüssel zur Verbesserung von Produkten und Dienstleistungen..
Es gibt Standardansätze zur Prognose der Abwanderung. Doch bei einer der Meisterschaften im Bereich KI haben wir beschlossen, die Weibull-Verteilung auszuprobieren. Diese wird häufig zur Analyse der Überlebensfähigkeit, zur Wetterprognose, zur Analyse von Naturkatastrophen, in der Industrie und Ähnlichem verwendet. Die Weibull-Verteilung ist eine spezielle Verteilungsfunktion, die durch zwei Parameter parametrisiert wird.
und
.
Wikipedia
Insgesamt ist es ein interessantes Thema, wird jedoch zur Prognose von Abwanderungen und im Fintech-Bereich nicht so oft verwendet. Im Folgenden erklären wir, wie wir (das Labor für intelligente Datenanalyse) dies gemacht haben, während wir Gold bei der Meisterschaft für künstliche Intelligenz in der Kategorie «KI in Banken» gewonnen haben.
Zur Abwanderung im Allgemeinen
Lassen Sie uns etwas Klarheit darüber gewinnen, was Kundenabwanderung ist und warum sie so wichtig ist. Für Unternehmen ist die Kundenbasis entscheidend. In diese Basis kommen neue Kunden, zum Beispiel durch Werbung auf das Produkt oder die Dienstleistung aufmerksam gemacht, nutzen es eine Zeit lang aktiv und hören schließlich auf, es zu verwenden. Diese Phase wird als "Kundenlebenszyklus" bezeichnet — ein Begriff, der die Phasen beschreibt, die ein Kunde durchläuft, wenn er von einem Produkt erfährt, eine Kaufentscheidung trifft, bezahlt, es nutzt und ein treuer Verbraucher wird, und letztendlich aus verschiedenen Gründen aufhört, das Produkt zu nutzen. Dementsprechend ist die Abwanderung die abschließende Phase des Kundenlebenszyklus, wenn der Kunde aufhört, Dienstleistungen in Anspruch zu nehmen, was für das Unternehmen bedeutet, dass der Kunde keine Gewinne mehr bringt und überhaupt keinen Nutzen mehr hat.
Jeder Kunde einer Bank ist eine individuelle Person, die die passende Bankkarte für ihre Bedürfnisse auswählt. Reisest du viel? Dann ist eine Karte mit Flugmeilen praktisch. Kaufst du viel ein? Hallo, hier ist die Cashback-Karte. Kaufst du häufig in bestimmten Geschäften ein? Dafür gibt es bereits spezielle Partnerkarten. Natürlich wählen manche auch einfach die Karte mit den niedrigsten Gebühren. Die Variablen sind hier zahlreich.
Außerdem wählt der Mensch auch die Bank selbst aus – warum sollte man eine Bankkarte von einer Bank wählen, deren Filialen nur in Moskau und Umgebung sind, wenn man aus Chabarowsk kommt? Selbst wenn die Karte dieser Bank doppelt so vorteilhaft wäre, ist die Nähe der Bankfilialen immer noch ein wichtiges Kriterium. Ja, 2019 ist bereits da und Digital ist alles, aber viele Fragen lassen sich bei einigen Banken nur in der Filiale klären. Zudem vertraut ein Teil der Bevölkerung viel mehr einer physischen Bank als einer Smartphone-App, das sollte man ebenfalls berücksichtigen.
Als Folge kann es viele Gründe geben, warum eine Person von den Bankprodukten (oder von der Bank selbst) Abstand nimmt. Man hat den Job gewechselt und der Tarif der Karte hat sich von einem Gehaltskonto auf einen "Für einfache Sterbliche" Tarif geändert, der weniger vorteilhaft ist. Man ist in eine andere Stadt gezogen, wo es keine Filialen der Bank gibt. Man war mit dem Umgang eines unqualifizierten Bankmitarbeiters in der Filiale unzufrieden. Das heißt, die Gründe für die Schließung eines Kontos können sogar deutlich zahlreicher sein als die für die Nutzung des Produkts.
Außerdem kann ein Kunde nicht nur klar seinen Wunsch äußern – zum Bank zu gehen und einen Antrag zu stellen, sondern einfach aufhören, die Produkte zu nutzen, ohne den Vertrag zu kündigen. Zur Lösung solcher Aufgaben wurde entschieden, maschinelles Lernen und KI zu nutzen.
Darüber hinaus kann der Kundenverlust in jeder Branche auftreten (Telekommunikation, Internetanbieter, Versicherungsunternehmen, kurz überall, wo es eine Kundenbasis und regelmäßige Transaktionen gibt).
Was wir getan haben
Zunächst einmal musste eine klare Grenze definiert werden — ab wann wir einen Kunden als inaktiv betrachten. Aus Sicht der Bank, die uns die Daten zur Verfügung stellte, war der Status der Aktivität des Kunden binär — er ist entweder aktiv oder nicht. Es gab ein ACTIVE_FLAG in der Tabelle "Aktivität", dessen Wert entweder "0" oder "1" sein konnte (entsprechend "Inaktiv" und "Aktiv"). Das wäre alles gut und schön, doch der Mensch ist nun mal so, dass er eine Zeit lang aktiv sein kann, dann aber für einen Monat aus dem aktiven Kreis herausfällt — sei es, weil er krank ist, ins Ausland zum Urlaub fährt oder überhaupt eine Karte einer anderen Bank ausprobiert. Vielleicht beginnt er nach einer langen Phase der Inaktivität auch wieder, die Dienstleistungen der Bank zu nutzen.
Deshalb haben wir beschlossen, den Zeitraum der Inaktivität als einen bestimmten ununterbrochenen Zeitraum zu definieren, in dem das Flag für ihn auf "0" gesetzt wurde.

Kunden wechseln von Inaktiv zu Aktiv nach unterschiedlichen Zeiträumen der Inaktivität. Dadurch können wir das empirische Maß "Zuverlässigkeit der Inaktivitätsperioden" berechnen – also die Wahrscheinlichkeit, dass eine Person nach einer vorübergehenden Inaktivität wieder die Produkte der Bank nutzt.
Zum Beispiel zeigt dieses Diagramm die Wiederaufnahme der Aktivität (ACTIVE_FLAG=1) von Kunden nach mehreren Monaten der Inaktivität (ACTIVE_FLAG=0).

Hier werden wir den Datensatz, mit dem wir begonnen haben, etwas präzisieren. Die Bank hat aggregierte Informationen für einen Zeitraum von 19 Monaten in den folgenden Tabellen bereitgestellt:
- "Aktivität" – monatliche Transaktionen der Kunden (per Karten, im Online-Banking und in der mobilen Banking-App), einschließlich Gehaltszahlungen und Informationen über Umsätze.
- "Karten" – Daten zu allen Karten, die der Kunde besitzt, mit einer detaillierten Preisliste.
- "Verträge" – Informationen zu den Verträgen des Kunden (sowohl offene als auch geschlossene): Kredite, Einlagen und mehr, mit Angabe der jeweiligen Parameter.
- "Kunden" – eine Sammlung von demografischen Daten (Geschlecht und Alter) sowie Kontaktdaten.
Für unsere Arbeit benötigten wir alle Tabellen außer der "Karten".
Das Problem hier war, dass die Bank in diesen Daten nicht angab, welche genau Aktivität über die Karten lief. Wir konnten also erkennen, ob Transaktionen stattgefunden haben oder nicht, aber den Typ festzustellen, das war nicht möglich. Daher war unklar, ob der Kunde Bargeld abgehoben hat, sein Gehalt erhalten hat oder Geld für Einkäufe ausgegeben hat. Zudem hatten wir keine Daten zu den Kontoständen, was hilfreich gewesen wäre.
Die Auswahl selbst war nicht verzerrt — in diesem Zeitraum von 19 Monaten unternahm die Bank keine Versuche zur Kundenbindung und Minimierung der Abwanderung.
So, zu den Perioden der Inaktivität.
Für die Definition der Abwanderung muss eine Periode der Inaktivität festgelegt werden. Um eine Prognose der Abwanderung zu einem bestimmten Zeitpunkt zu erstellen,
muss die Historie der Kunden mindestens 3 Monate über den Zeitraum
abdecken. Unsere Historie war auf 19 Monate beschränkt, daher entschieden wir uns, einen Zeitraum der Inaktivität von 6 Monaten zu nehmen, sofern vorhanden. Für eine qualitativ hochwertige Prognose nahmen wir den minimalen Zeitraum von 3 Monaten. Die Zahlen von 3 und 6 Monaten wählten wir empirisch basierend auf der Analyse des Verhaltens dieser Kunden.
Wir definieren die Kundenabwanderung so: der Monat der Kundenabwanderung
ist der erste Monat mit ACTIVE_FLAG=0, in dem ab diesem Monat mindestens sechs aufeinanderfolgende Nullen im FIELD ACTIVE_FLAG stehen, mit anderen Worten, der Monat, ab dem der Kunde sechs Monate inaktiv war.

Anzahl der verlorenen Kunden

Anzahl der verbleibenden Kunden
Wie die Abwanderung betrachtet wird
In solchen Wettbewerben und auch in der Praxis wird die Abwanderung häufig auf diese Weise prognostiziert. Kunden nutzen Produkte und Dienstleistungen zu verschiedenen Zeitpunkten, und die Daten über die Interaktionen werden in Form eines Merkmalsvektors fester Länge n dargestellt. In diese Informationen werden normalerweise einbezogen:
- Benutzerdaten (demografische Daten, Marketingsegment).
- Die Nutzungsgeschichte von Bankprodukten und -dienstleistungen (dies sind Kundenaktionen, die immer an einen bestimmten Zeitpunkt oder Zeitraum im gewünschten Intervall gebunden sind).
- Externe Daten, falls sie erhalten werden konnten — beispielsweise Bewertungen aus sozialen Medien.
Und erst danach wird eine Abwanderungsprognose erstellt, die für jede Aufgabe spezifisch ist. Dann wird ein Machine-Learning-Algorithmus verwendet, der die Wahrscheinlichkeit des Kundenabwanderung vorhersagt.
basierend auf dem Faktorvektor
. Zum Training des Algorithmus wird eines der bekannten Frameworks für den Aufbau von Ensemble-Entscheidungsbäumen verwendet, , , oder deren Modifikationen.
An sich ist der Algorithmus nicht schlecht, aber im Bereich der Abwanderungsprognose hat er mehrere schwerwiegende Nachteile.
- Er hat keine sogenannte „Erinnerung“. An die Eingabe des Modells wird eine festgelegte Anzahl von Merkmalen geliefert, die dem gegenwärtigen Zeitpunkt entsprechen. Um Informationen über die historische Veränderung der Parameter zu berücksichtigen, müssen spezielle Merkmale berechnet werden, die die Änderungen der Parameter über die Zeit charakterisieren, zum Beispiel die Anzahl oder die Summe der Banktransaktionen der letzten 1, 2, 3 Monate. Dieser Ansatz kann nur teilweise den Charakter der zeitlichen Veränderungen widerspiegeln.
- Fester Prognosehorizont. Das Modell kann die Kundenabwanderung nur für einen vorher festgelegten Zeitraum vorhersagen, beispielsweise für einen Monat im Voraus. Wenn eine Prognose für einen anderen Zeitraum, beispielsweise drei Monate, erforderlich ist, muss die Trainingsdatenbasis neu strukturiert und das Modell neu trainiert werden.
Unser Ansatz
Wir haben von Anfang an beschlossen, keine standardisierten Ansätze zu verwenden. Bei der Meisterschaft haben sich neben uns 497 weitere Personen registriert, die jeweils über umfangreiche Erfahrungen verfügten. Daher ist es in solchen Bedingungen keine gute Idee, etwas nach dem Standardvorgehen zu versuchen.
Wir begannen, die vorliegenden Probleme des binären Klassifikationsmodells mithilfe der Vorhersage der Wahrscheinlichkeitsverteilung der Kundenabwanderungszeit zu lösen. Ein solcher Ansatz eröffnet... ....weitere Möglichkeiten, um die Abwanderung flexibler vorherzusagen und komplexere Hypothesen zu überprüfen als im klassischen Ansatz. Als Verteilungsfamilie zur Modellierung der Abwanderungszeiten wählten wir die Verteilung aufgrund ihrer breiten Anwendung in der Überlebensanalyse. Das Verhalten der Kunden kann als eine Art Überlebensanalyse betrachtet werden.
Hier sind Beispiele für die Wahrscheinlichkeitsdichtefunktionen von Weibull in Abhängigkeit von den Parametern.
und
:

Dies ist die Wahrscheinlichkeitsdichte für den Kundenabwanderungsstamm von drei verschiedenen Kunden über die Zeit. Die Zeit wird in Monaten dargestellt. Mit anderen Worten zeigt dieses Diagramm, wann die Wahrscheinlichkeit für die Abwanderung eines Kunden in den nächsten zwei Monaten am höchsten ist. Wie zu sehen ist, hat der Kunde mit der Verteilung ein höheres Potenzial, früher abzuwandern als die Kunden mit den Verteilungen Weibull(2, 0.5) und Weibull(3,1).
Es ergibt sich ein Modell, das für jeden Kunden für jeden
Monat die Weibull-Verteilungsparameter vorhersagt, die am besten den Eintritt der Abwanderungswahrscheinlichkeit im Laufe der Zeit widerspiegeln. Genauer gesagt:
- Die Zielmerkmale in der Trainingsmenge sind die verbleibende Zeit bis zur Abwanderung in einem bestimmten Monat für einen bestimmten Kunden.
- Wenn es keinen Abwanderungswert für den Kunden gibt, gehen wir davon aus, dass die Abwanderungszeit länger ist als die Anzahl der Monate, beginnend mit dem aktuellen Monat bis zum Ende der verfügbaren Historie.
- Verwendetes Modell: rekurrentes neuronales Netzwerk mit LSTM-Schicht.
- Als Verlustfunktion verwenden wir die negative logarithmische Wahrscheinlichkeitsfunktion für die Weibull-Verteilung.
Hier sind die Vorteile dieser Methode:
- Die Wahrscheinlichkeitsverteilung ermöglicht neben der offensichtlichen Möglichkeit der binären Klassifizierung auch eine flexible Vorhersage verschiedener Ereignisse, zum Beispiel, ob ein Kunde innerhalb von 3 Monaten die Dienstleistungen der Bank nicht mehr in Anspruch nehmen wird. Zudem können bei Bedarf verschiedene Metriken über diese Verteilung gemittelt werden.
- Das rekurrente neuronale Netzwerk LSTM hat ein Gedächtnis und nutzt effektiv die gesamte verfügbare Historie. Mit einer Erweiterung oder Verfeinerung der Historie steigt die Genauigkeit.
- Der Ansatz lässt sich problemlos skalieren, indem Zeitintervalle in kleinere Abschnitte unterteilt werden (zum Beispiel, indem Monate in Wochen aufgeteilt werden).
Es reicht jedoch nicht aus, ein gutes Modell zu erstellen; es muss auch angemessen bewertet werden.
Wie die Qualität bewertet wurde
Als Metrik haben wir die Lift-Kurve gewählt. Diese wird in der Wirtschaft für ähnliche Fälle aufgrund ihrer verständlichen Interpretation verwendet und ist gut beschrieben. und . Wenn man den Sinn dieser Metrik in einem Satz zusammenfassen möchte, lautet er: 'Wie viel besser macht der Algorithmus die Vorhersage in den ersten
%, als zufällig.
Modelle trainieren
Im Wettbewerb wurden keine spezifischen Qualitätsmetriken festgelegt, anhand derer verschiedene Modelle und Ansätze verglichen werden können. Darüber hinaus kann die Definition des Begriffs "Abwanderung" unterschiedlich sein und von der Aufgabenstellung abhängen, die wiederum durch die Unternehmensziele definiert wird. Daher haben wir, um zu verstehen, welche Methode besser ist, zwei Modelle trainiert:
- Ein häufig verwendeter Ansatz zur binären Klassifikation unter Verwendung eines Machine-Learning-Algorithmus, der auf Entscheidungsbäumen basiert ();
- Weibull-LSTM-Modell
Die Teststichprobe bestand aus 500 vorher ausgewählten Kunden, die nicht in der Trainingsstichprobe vorhanden waren. Für das Modell wurde eine Hyperparameteroptimierung unter Verwendung von Cross-Validation mit Aufteilung nach Kunden durchgeführt. Für das Training jedes Modells wurden dieselben Merkmale verwendet.
Da die Modell keine Erinnerungsfunktion hat, wurden spezielle Merkmale verwendet, die das Verhältnis der Parameterveränderungen eines Monats zum Durchschnitt der Parameter der letzten drei Monate zeigen. Dies charakterisierte die Geschwindigkeit der Wertänderung im letzten Zeitraum von drei Monaten. Ohne dies wäre das Random Forest-Modell im Voraus im Nachteil im Vergleich zu Weibull-LSTM.
Warum ist LSTM mit Weibull-Verteilung besser als ein Ansatz, der auf einem Ensemble von Entscheidungsbäumen basiert?
Hier wird alles anschaulich mit ein paar Bildern dargestellt.

Vergleich der Lift-Kurve für den klassischen Algorithmus und Weibull-LSTM

Vergleich der Lift-Kurve-Metrik nach Monaten für den klassischen Algorithmus und Weibull-LSTM
Im Allgemeinen übertrifft LSTM den klassischen Algorithmus in fast allen Fällen.
Vorhersage des Abgangs
Das Modell auf Basis eines rekurrenten neuronalen Netzwerks mit LSTM-Zellen und einer Weibull-Verteilung kann Abwanderungen im Voraus vorhersagen, beispielsweise den Verlust eines Kunden innerhalb der nächsten n Monate. Betrachten wir den Fall für n = 3. In diesem Fall muss das neuronale Netzwerk für jeden Monat korrekt bestimmen, ob der Kunde abwandern wird, beginnend im nächsten Monat und bis zum n-ten Monat. Mit anderen Worten, es muss korrekt einschätzen, ob der Kunde nach n Monaten bleibt. Dies kann als Frühwarnprognose betrachtet werden: die Vorhersage des Moments, in dem ein Kunde anfängt, über eine Abwanderung nachzudenken.
Vergleichen wir die Lift Curve für Weibull-LSTM über 1, 2 und 3 Monate vor der Abwanderung:

Wir haben bereits erwähnt, dass auch die Prognosen von Bedeutung sind, die für Kunden erstellt werden, die für eine gewisse Zeit inaktiv sind. Daher fügen wir hier solche Fälle in die Auswahl ein, in denen der abgewanderte Kunde bereits ein oder zwei Monate nicht aktiv war, und überprüfen, ob Weibull-LSTM solche Fälle als Abwanderung korrekt klassifiziert. Da solche Fälle in der Auswahl enthalten waren, erwarten wir, dass das Netzwerk gut damit umgehen kann:

Kundenbindung
Das ist eigentlich das Wichtigste, was man tun kann, wenn man die Informationen hat, dass bestimmte Kunden sich darauf vorbereiten, das Produkt nicht mehr zu nutzen. Wenn wir über den Aufbau eines Modells sprechen, das den Kunden etwas Nützliches anbieten könnte, um sie zu halten — das ist nicht möglich, wenn man keine Historie solcher Versuche hat, die erfolgreich waren.
Eine solche Historie hatten wir nicht, also haben wir es so gelöst.
- Wir bauen ein Modell, das interessante Produkte für jeden Kunden identifiziert.
- Jeden Monat führen wir den Klassifizierer aus und bestimmen potenziell abwandernde Kunden.
- Wir bieten einem Teil der Kunden Produkte an, gemäß dem Modell aus Punkt 1, und merken uns unsere Aktionen.
- Nach einigen Monaten schauen wir, welche dieser potenziell abwandernden Kunden gegangen sind und welche geblieben sind. Auf diese Weise bilden wir eine Trainingsgruppe.
- Wir trainieren das Modell auf der Historie, die in Punkt 4 gewonnen wurde.
- Optional wiederholen wir die Prozedur, indem wir das Modell aus Punkt 1 durch das in Punkt 5 erhaltene Modell ersetzen.
Ein übliches A/B-Testing kann als Qualitätsprüfung für derartige Bindung dienen – wir teilen die potenziell abwandernden Kunden in zwei Gruppen auf. Einer Gruppe bieten wir Produkte auf Basis unseres Bindungsmodells an, der anderen Gruppe nichts. Wir haben uns entschieden, ein Modell zu trainieren, das bereits in Punkt 1 unseres Beispiels nützlich sein könnte.
Wir wollten die Segmentierung so interpretierbar wie möglich gestalten. Dazu haben wir mehrere Merkmale ausgewählt, die leicht interpretierbar sein könnten: die Gesamtanzahl der Transaktionen, das Gehalt, den Gesamtumsatz des Kontos, das Alter und das Geschlecht. Merkmale aus der Tabelle „Karten“ wurden aufgrund ihrer geringen Informationsgehalt nicht berücksichtigt, während Merkmale aus der Tabelle 3 „Verträge“ aufgrund der Verarbeitungskomplexität zum Schutz vor Datenleckagen zwischen dem Validierungs- und dem Trainingsdatensatz ausgeschlossen wurden.
Die Clusterbildung erfolgte mittels Gaussian-Mischmodellen. Das Akaike-Informationskriterium ermöglichte die Bestimmung von 2 Optima. Das erste Optimum entspricht 1 Cluster. Das zweite, weniger ausgeprägte Optimum, entspricht 80 Clustern. Aus diesem Ergebnis lässt sich folgern, dass es äußerst schwierig ist, die Daten ohne vorab festgelegte Informationen in Cluster zu unterteilen. Für eine qualitativ bessere Clusterbildung sind Daten erforderlich, die jeden Kunden detailliert beschreiben.
Daher wurde das Problem des überwachten Lernens in Betracht gezogen, um jedem einzelnen Kunden ein spezifisches Produkt anzubieten. Die folgenden Produkte wurden in Betracht gezogen: „Tagesgeld“, „Kreditkarte“, „Überziehungskredit“, „Ratenkredit“, „Autokredit“, „Hypothek“.
In den Daten gab es noch einen weiteren Produkttyp: „Girokonto“. Allerdings haben wir ihn aufgrund seiner niedrigen Informationsgehaltung nicht berücksichtigt. Bei den Nutzern, die Bankkunden sind, d. h. die weiterhin ihre Produkte nutzen, wurde ein Modell erstellt, das vorhersagt, welches Produkt für sie von Interesse sein könnte. Als Modell wurde die logistische Regression gewählt, und zur Bewertung der Qualität wurde der Lift für die ersten 10 Perzentilen verwendet.
Die Qualität des Modells kann aus dem Bild abgeschätzt werden.

Die Ergebnisse des Produktempfehlungsmodells für Kunden
Zusammenfassung
Dieser Ansatz brachte uns den ersten Platz in der Kategorie „KI in Banken“ bei der RAIF-Challenge 2017.

Offensichtlich war es entscheidend, das Problem von einer ungewohnten Seite anzugehen und eine Methode zu verwenden, die normalerweise für andere Situationen genutzt wird.
Obwohl eine Massenabwanderung von Nutzern für Dienste durchaus eine Katastrophe darstellen kann.
Diese Methode kann auch für andere Bereiche nützlich sein, in denen die Abwanderung von Bedeutung ist, nicht nur für Banken. Zum Beispiel haben wir sie verwendet, um unsere eigene Abwanderung in den sibirischen und Sankt-Petersburger Niederlassungen von Rostelecom zu berechnen.
„Labor für intelligente Datenanalyse“ der Firma „Suchportal Sputnik“
Quelle: habr.com
