Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Александр Лукин

Аналитика мобильного проекта — проверяй и доверяй

  • Login to see the comments

Александр Лукин

  1. 1. Аналитика мобильного проекта проверяй и доверяй Александр Лукин
  2. 2. Тестируем концепции, проводим эксперименты Аналитика Следим за показателями - AU, retention, вовлеченность, целевые события Улучшаем пользовательский опыт
  3. 3. Трекинг Отслеживание источников трафика и построение отчетов по кампаниям Оптимизация CPI,CPA кампаний
  4. 4. Crash Reporting Следим за стабильностью приложения Оперативно узнаем о новых проблемах, воспроизводим, исследуем и фиксим
  5. 5. End-to-end платформа аналитики Crash ReportingAd TrackingApp Analytics
  6. 6. Real-time отчеты и обработка Нет ограничений на объем данных Доступ к сырым данным Бесплатно End-to-end платформа аналитики
  7. 7. SDK под все платформы (почти) End-to-end платформа аналитики
  8. 8. Взгляните на демо и начните пользоваться appmetrica.yandex.com
  9. 9. “Trust, but verify” R. Reagan
  10. 10. Проекты с правильной аналитикой проектируют метрики и все остальное заранее Часто используется несколько платформ аналитики Нужно больше аналитики
  11. 11. Нужно больше аналитики
  12. 12. В чем проблема? Аналитика N Аналитика K
  13. 13. Расхождение в Active Users 117,500 125,000 132,500 140,000 147,500 155,000 07 мар 08 мар 09 мар 10 мар 11 мар 12 мар 13 мар AppMetrica Flurry
  14. 14. Расхождение в Active Users Dimension AppMetrica Flurry Diff 07 мар 115,221 114,494 -0.63% 08 мар 123,848 127,870 3.25% 09 мар 147,606 149,915 1.56% 10 мар 149,263 146,349 -1.95% 11 мар 134,026 127,214 -5.08% 12 мар 119,622 115,269 -3.64% 13 мар 126,212 128,931 2.15%
  15. 15. Расхождение может быть незначительным - решать вам. Это может влиять на Расхождение в Active Users проектные решения (thx captain)
  16. 16. Расхождение может быть незначительным - решать вам. Это может влиять на Расхождение в Active Users проектные решения (thx captain) прогнозирование
  17. 17. Расхождение может быть незначительным - решать вам. Это может влиять на Расхождение в Active Users проектные решения (thx captain) прогнозирование другие агрегатные метрики - например, retention
  18. 18. Расхождение в retention W2 43% 51% 59% 67% 75% 6-Apr 20-Apr 4-May 18-May 1-Jun 15-Jun MAT Flurry AppMetrica
  19. 19. Разлет значений - 10-20% Действительно плохо - совсем разные тренды Расхождение в retention W2 Очевидно, что разница - в исходных данных
  20. 20. Как определена метрика Active Users? Active Users An active user is defined as a user that has had at least one session with your application during a given time period (days, weeks, months)… Yahoo Developer Network https://developer.yahoo.com/flurry/docs/overview/
  21. 21. Расхождение в Sessions 577,000 604,000 631,000 658,000 685,000 712,000 739,000 766,000 793,000 820,000 07 мар 08 мар 09 мар 10 мар 11 мар 12 мар 13 мар AppMetrica Flurry
  22. 22. Расхождение в Sessions Dimension AppMetrica Flurry Diff AU Diff 07 мар 591,413 601,259 1.66% -0.63% 08 мар 626,159 666,287 6.41% 3.25% 09 мар 766,076 785,369 2.52% 1.56% 10 мар 782,661 778,891 -0.48% -1.95% 11 мар 689,813 654,401 -5.13% -5.08% 12 мар 589,589 576,078 -2.29% -3.64% 13 мар 662,192 690,016 4.20% 2.15%
  23. 23. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions
  24. 24. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions Нужно понять причину расхождения
  25. 25. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions Почему при большем числе сессий одна система рассчитывает меньшее количество пользователей? Нужно понять причину расхождения
  26. 26. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions Почему при большем числе сессий одна система рассчитывает меньшее количество пользователей? Нужно понять причину расхождения Очевидно, сессии генерируются разными множествами устройств
  27. 27. Как определена метрика Sessions? Sessions A session is one use of the application by an end user. This typically begins when the application is launched and ends when the application is terminated. Depending on the platform, the Flurry SDK may allow you to specify when a session starts and stops, in which case the definition can vary depending on your implementation. Yahoo Developer Network https://developer.yahoo.com/flurry/docs/overview/
  28. 28. Insight #1 - трекинг сессий Сессия привязана к жизненному циклу приложения - вызов методов вручную или автотрекинг onStart()/onStop()
  29. 29. onStart() Пользовательская сессия in progress onStop() Входящий звонок (2 минуты) onStart() Новая сессия или продолжение? Insight #1 - трекинг сессий
  30. 30. Insight #1 - трекинг сессий Сессия привязана к жизненному циклу приложения - вызов методов вручную или автотрекинг Конфигурируемый таймаут сессии - решайте сами onStart()/onStop() setSessionTimeout(60)
  31. 31. Пользователи без сессии Приложение Yandex.Disk. Синхронизация файлов в бэкграунде AppMetrica SDK t Events File Sync Successful Folder Sync Failed Photo Sync Successful
  32. 32. Пользователи без сессии В отчете События хотим увидеть % пользователей с успешными/неуспешными синхронизациями. Event Name Users, % Events File Sync Successful 95% 1,789,687 Folder Sync Failed 5% 1,432 Photo Sync Successful 99% 1,809,888
  33. 33. Insight #2 - метрика Devices Device - уникальным образом идентифицированный отправитель событий Если есть хотя бы одно событие - есть и device
  34. 34. Device - уникальным образом идентифицированный отправитель событий. Если есть хотя бы одно событие - есть и device Insight #2 - итого
  35. 35. Device - уникальным образом идентифицированный отправитель событий. Если есть хотя бы одно событие - есть и device Session - сеанс использования приложения, определенный реализацией разработчика или автотрекингом Insight #2 - итого
  36. 36. Device - уникальным образом идентифицированный отправитель событий. Если есть хотя бы одно событие - есть и device Session - сеанс использования приложения, определенный реализацией разработчика или автотрекингом Active User - это device, имеющий за требуемый период хотя бы одну сессию Insight #2 - итого N.B. - у приложения Я.Диск различие Users и Devices - в 3 раза
  37. 37. Выбираем метрику в зависимости от бизнес-логики отчета! Dimension Users Devices Insight #2 - итого
  38. 38. Ничего не помогает onStart() Пользовательская сессия in progress onStop() Прослушивание в фоне Анализируем поведение: Приложение Yandex.Music пока идет воспроизведение - считаем пользовательскую сессию по событиям (pause/play…)
  39. 39. Как это работает сейчас Приложение Yandex.Music. Воспроизведение в фоне AppMetrica SDK t Events Play Pause START Уходим в bg START SessionID = 1 SessionID = 2 Push ReceivedSwitch track
  40. 40. Как это можно решить - hit-based подход Никто не знает контекста лучше вашего прикладного кода.
  41. 41. Как это можно решить - hit-based подход Разделим все события на 2 типа: USER INTERACTION Событие, связанное с пользовательской активностью Метрика Active Users считается не по сессиям, а по событиям данного типа Никто не знает контекста лучше вашего прикладного кода.
  42. 42. USER INTERACTION BACKGROUND ACTIVITY Событие, связанное с пользовательской активностью Метрика Active Users считается не по сессиям, а по событиям данного типа Событие, связанное с бэкграундной активностью самого приложения Разделим все события на 2 типа: Никто не знает контекста лучше вашего прикладного кода. Как это можно решить - hit-based подход
  43. 43. Откажемся от общего понятия Session Как это можно решить - hit-based подход
  44. 44. Откажемся от общего понятия Session Как это можно решить - hit-based подход Предоставим возможность самостоятельно определять начало и конец сессии SDK только проверяет консистентность начал и концов
  45. 45. Откажемся от общего понятия Session Как это можно решить - hit-based подход Предоставим возможность самостоятельно определять начало и конец сессии SDK только проверяет консистентность начал и концов Сессии получают текстовые метки “Сессия UI-взаимодействия”, “Сессия прослушивания”, etc.
  46. 46. Проверим Приложение Yandex.Music. Воспроизведение в фоне AppMetrica SDK t Events Play Pause START “Music Play” Уходим в bg Push Received Switch trackUI BG Session Track END “Music Play”
  47. 47. Используем в отчетах метрики по новым, промеченным сессиям Dimension Users Devices Music Play Проверим
  48. 48. Как сделать? AppMetrica позволяет в добавить любой JSON-payload в событие. Используем их для разметки событий и трекинга промеченных сессий. Map<String, Object> eventAttributes = new HashMap<String, Object> (); eventAttributes.put("EventType", “USER_INTERACTION"); … YandexMetrica.reportEvent("Play", eventAttributes);
  49. 49. Как сделать? In-house analytics Для построения отчета необходимо получить сырые данные и выполнить агрегацию самостоятельно Logs API Выгрузка большой плоской таблицы Агрегация Pandas + Highcharts Excel
  50. 50. Важно понимать методологию расчета метрик, которыми вы пользуетесь Мораль Расчет собственных метрик на hit’ах - next-level Исследуйте, как работает ваша платформа аналитики Centimeters
  51. 51. Free install attribution and mobile analytics platform appmetrica.yandex.com

×