Ich versuche, die Retentionsrate mit MySQL zu berechnen und beginnen mit dieser:Retention Rate mit MySQL
SELECT
s_order.ordertime,
DATE_SUB(future_orders.ordertime, INTERVAL 90 DAY),
count(distinct s_order.userID) as active_users,
count(distinct future_orders.userID) as retained_users
FROM s_order
LEFT JOIN s_order as future_orders on
s_order.userID = future_orders.userID
AND s_order.ordertime = DATE_SUB(future_orders.ordertime, INTERVAL 90 DAY);
Das funktioniert nicht - ich alle Benutzer aktiv sind, und deshalb habe ich DATE_SUB(future_orders.ordertime, INTERVAL 90 DAY),
zu den Auswahlkriterien sehen was passiert. Es gibt jedoch NULL zurück - aber warum?
Als Referenz ich an dieser Erklärung einen Blick haben: https://www.periscopedata.com/blog/how-to-calculate-cohort-retention-in-sql.html
Mein Tisch
s_orders:
ID | userID | ordertime
eine Struktur wie
hat, würde ich ein Ergebnis erwarten, wie viele verschiedene Nutzer etwas im Allgemeinen bestellt haben und wie viele haben in den letzten 90 Tagen wieder etwas bestellt, um die Kundenbindung zu erhalten.Weiß jemand, was mache ich falsch in MySQL?
Ich folge nicht Ihrer Frage. Sie sollten Ihre Frage bearbeiten und Beispieldaten zu Ihrer erwarteten Ausgabe hinzufügen. Tun Sie dies, damit andere Ihr Problem verstehen können. –