Как рассчитать «активных пользователей» и контролировать липкость? - PullRequest
0 голосов
/ 20 июля 2011

В настоящее время я делаю это:

У меня есть таблица с именем tracking_log, куда я вставляю строку всякий раз, когда пользователь использует наше приложение.Мы используем эту таблицу для расчета пользователей, которые остаются с нами и продолжают использовать программное обеспечение.

Это работало нормально.Но теперь я также хочу видеть количество активных пользователей для:

  • каждый день с момента запуска
  • неделя с момента запуска
  • месяц с момента запуска.

Структура таблицы примерно такая:

tracking_log

- user_id   (integer, pk)
- when_used (timestamp)
- event     (event-type triggered by user. Kept for future usage.)

Наше определение «Активные пользователи в день d1»: пользователи, которые зарегистрировались ранее, чем (d1-15) дней иИспользовал продукт в течение (d1-7) дней.

В таблице tracking_log содержится около 500 тыс. записей и подсчетов.Я писал запросы MySQL для вычисления приведенных выше чисел, но они оказываются очень медленными.

Как лучше всего это реализовать?Существуют ли какие-либо решения для создания таких отчетов с меньшими усилиями?

...