ݺߣ

ݺߣShare a Scribd company logo
Александр Лукин
Аналитика мобильного проекта
проверяй и доверяй
Александр Лукин
Тестируем концепции, проводим
эксперименты
Аналитика
Следим за показателями - AU, retention,
вовлеченность, целевые события
Улучшаем пользовательский опыт
Трекинг
Отслеживание источников трафика и
построение отчетов по кампаниям
Оптимизация CPI,CPA кампаний
Crash Reporting
Следим за стабильностью приложения
Оперативно узнаем о новых проблемах,
воспроизводим, исследуем и фиксим
End-to-end платформа аналитики
Crash ReportingAd TrackingApp Analytics
Real-time отчеты и обработка
Нет ограничений на объем данных
Доступ к сырым данным
Бесплатно
End-to-end платформа аналитики
SDK под все платформы (почти)
End-to-end платформа аналитики
Взгляните на демо и начните пользоваться appmetrica.yandex.com
“Trust, but verify”
R. Reagan
Проекты с правильной аналитикой проектируют метрики и все
остальное заранее
Часто используется несколько платформ аналитики
Нужно больше аналитики
Нужно больше аналитики
В чем проблема?
Аналитика N
Аналитика K
Расхождение в Active Users
117,500
125,000
132,500
140,000
147,500
155,000
07 мар 08 мар 09 мар 10 мар 11 мар 12 мар 13 мар
AppMetrica Flurry
Расхождение в 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%
Расхождение может быть незначительным - решать вам.
Это может влиять на
Расхождение в Active Users
проектные решения (thx captain)
Расхождение может быть незначительным - решать вам.
Это может влиять на
Расхождение в Active Users
проектные решения (thx captain)
прогнозирование
Расхождение может быть незначительным - решать вам.
Это может влиять на
Расхождение в Active Users
проектные решения (thx captain)
прогнозирование
другие агрегатные метрики - например, retention
Расхождение в retention W2
43%
51%
59%
67%
75%
6-Apr 20-Apr 4-May 18-May 1-Jun 15-Jun
MAT Flurry AppMetrica
Разлет значений - 10-20%
Действительно плохо - совсем разные тренды
Расхождение в retention W2
Очевидно, что разница - в исходных данных
Как определена метрика 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/
Расхождение в 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
Расхождение в 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%
Число и продолжительность сессии - хорошие метрики для
оценки вовлеченности пользователей.
Расхождение в Sessions
Число и продолжительность сессии - хорошие метрики для
оценки вовлеченности пользователей.
Расхождение в Sessions
Нужно понять причину расхождения
Число и продолжительность сессии - хорошие метрики для
оценки вовлеченности пользователей.
Расхождение в Sessions
Почему при большем числе сессий одна система рассчитывает
меньшее количество пользователей?
Нужно понять причину расхождения
Число и продолжительность сессии - хорошие метрики для
оценки вовлеченности пользователей.
Расхождение в Sessions
Почему при большем числе сессий одна система рассчитывает
меньшее количество пользователей?
Нужно понять причину расхождения
Очевидно, сессии генерируются разными
множествами устройств
Как определена метрика 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/
Insight #1 - трекинг сессий
Сессия привязана к жизненному циклу приложения - вызов
методов вручную или автотрекинг
onStart()/onStop()
onStart()
Пользовательская
сессия in progress
onStop()
Входящий звонок
(2 минуты)
onStart()
Новая сессия или
продолжение?
Insight #1 - трекинг сессий
Insight #1 - трекинг сессий
Сессия привязана к жизненному циклу приложения - вызов
методов вручную или автотрекинг
Конфигурируемый таймаут сессии - решайте сами
onStart()/onStop()
setSessionTimeout(60)
Пользователи без сессии
Приложение Yandex.Disk. Синхронизация файлов в бэкграунде
AppMetrica SDK
t
Events
File Sync Successful Folder Sync Failed Photo Sync Successful
Пользователи без сессии
В отчете События хотим увидеть % пользователей с
успешными/неуспешными синхронизациями.
Event Name Users, % Events
File Sync Successful 95% 1,789,687
Folder Sync Failed 5% 1,432
Photo Sync Successful 99% 1,809,888
Insight #2 - метрика Devices
Device - уникальным образом идентифицированный
отправитель событий
Если есть хотя бы одно событие - есть и device
Device - уникальным образом идентифицированный
отправитель событий. Если есть хотя бы одно событие - есть и
device
Insight #2 - итого
Device - уникальным образом идентифицированный
отправитель событий. Если есть хотя бы одно событие - есть и
device
Session - сеанс использования приложения, определенный
реализацией разработчика или автотрекингом
Insight #2 - итого
Device - уникальным образом идентифицированный
отправитель событий. Если есть хотя бы одно событие - есть и
device
Session - сеанс использования приложения, определенный
реализацией разработчика или автотрекингом
Active User - это device, имеющий за требуемый период хотя
бы одну сессию
Insight #2 - итого
N.B. - у приложения Я.Диск различие Users и Devices - в 3 раза
Выбираем метрику в зависимости от бизнес-логики отчета!
Dimension Users Devices
Insight #2 - итого
Ничего не помогает
onStart()
Пользовательская
сессия in progress
onStop()
Прослушивание в
фоне
Анализируем поведение:
Приложение Yandex.Music
пока идет воспроизведение - считаем
пользовательскую сессию
по событиям (pause/play…)
Как это работает сейчас
Приложение Yandex.Music. Воспроизведение в фоне
AppMetrica SDK
t
Events
Play Pause
START
Уходим в bg
START
SessionID = 1 SessionID = 2
Push ReceivedSwitch track
Как это можно решить - hit-based подход
Никто не знает контекста лучше вашего прикладного кода.
Как это можно решить - hit-based подход
Разделим все события на 2 типа:
USER INTERACTION
Событие, связанное с пользовательской
активностью
Метрика Active Users считается не по
сессиям, а по событиям данного типа
Никто не знает контекста лучше вашего прикладного кода.
USER INTERACTION BACKGROUND ACTIVITY
Событие, связанное с пользовательской
активностью
Метрика Active Users считается не по
сессиям, а по событиям данного типа
Событие, связанное с бэкграундной
активностью самого приложения
Разделим все события на 2 типа:
Никто не знает контекста лучше вашего прикладного кода.
Как это можно решить - hit-based подход
Откажемся от общего понятия Session
Как это можно решить - hit-based подход
Откажемся от общего понятия Session
Как это можно решить - hit-based подход
Предоставим возможность самостоятельно определять начало и
конец сессии
SDK только проверяет консистентность начал и концов
Откажемся от общего понятия Session
Как это можно решить - hit-based подход
Предоставим возможность самостоятельно определять начало и
конец сессии
SDK только проверяет консистентность начал и концов
Сессии получают текстовые метки
“Сессия UI-взаимодействия”, “Сессия прослушивания”, etc.
Проверим
Приложение Yandex.Music. Воспроизведение в фоне
AppMetrica SDK
t
Events
Play Pause
START
“Music Play”
Уходим в bg
Push Received
Switch trackUI
BG
Session
Track
END “Music Play”
Используем в отчетах метрики по новым, промеченным сессиям
Dimension Users Devices Music Play
Проверим
Как сделать?
AppMetrica позволяет в добавить любой JSON-payload в событие.
Используем их для разметки событий и трекинга промеченных сессий.
Map<String, Object> eventAttributes = new HashMap<String, Object> ();
eventAttributes.put("EventType", “USER_INTERACTION");
…
YandexMetrica.reportEvent("Play", eventAttributes);
Как сделать?
In-house analytics
Для построения отчета необходимо получить сырые данные и выполнить
агрегацию самостоятельно
Logs API
Выгрузка большой
плоской таблицы
Агрегация
Pandas + Highcharts
Excel
Важно понимать методологию расчета метрик, которыми вы
пользуетесь
Мораль
Расчет собственных метрик на hit’ах - next-level
Исследуйте, как работает ваша платформа аналитики
Centimeters
Free install attribution and mobile analytics platform
appmetrica.yandex.com

More Related Content

Viewers also liked (12)

Развитие поиска Mail.ru
Развитие поиска Mail.ruРазвитие поиска Mail.ru
Развитие поиска Mail.ru
MegaIndexTV
Продвижение сайта утками. Практические приемы
Продвижение сайта утками. Практические приемыПродвижение сайта утками. Практические приемы
Продвижение сайта утками. Практические приемы
MegaIndexTV
Backend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.RuBackend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.Ru
CodeFest
Jan Jongboom
Jan JongboomJan Jongboom
Jan Jongboom
CodeFest
Maurice de Beijer
Maurice de BeijerMaurice de Beijer
Maurice de Beijer
CodeFest
Иван Фролков
Иван ФролковИван Фролков
Иван Фролков
CodeFest
Дмитрий Кулижников
Дмитрий КулижниковДмитрий Кулижников
Дмитрий Кулижников
CodeFest
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
CodeFest
Вадим Макеев
Вадим МакеевВадим Макеев
Вадим Макеев
CodeFest
Роман Янке
Роман ЯнкеРоман Янке
Роман Янке
CodeFest
Андрей Светлов
Андрей СветловАндрей Светлов
Андрей Светлов
CodeFest
Максим Дорофеев
Максим ДорофеевМаксим Дорофеев
Максим Дорофеев
CodeFest
Развитие поиска Mail.ru
Развитие поиска Mail.ruРазвитие поиска Mail.ru
Развитие поиска Mail.ru
MegaIndexTV
Продвижение сайта утками. Практические приемы
Продвижение сайта утками. Практические приемыПродвижение сайта утками. Практические приемы
Продвижение сайта утками. Практические приемы
MegaIndexTV
Backend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.RuBackend: Полнотекстовый поиск в Почте Mail.Ru
Backend: Полнотекстовый поиск в Почте Mail.Ru
CodeFest
Maurice de Beijer
Maurice de BeijerMaurice de Beijer
Maurice de Beijer
CodeFest
Иван Фролков
Иван ФролковИван Фролков
Иван Фролков
CodeFest
Дмитрий Кулижников
Дмитрий КулижниковДмитрий Кулижников
Дмитрий Кулижников
CodeFest
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
CodeFest
Вадим Макеев
Вадим МакеевВадим Макеев
Вадим Макеев
CodeFest
Роман Янке
Роман ЯнкеРоман Янке
Роман Янке
CodeFest
Андрей Светлов
Андрей СветловАндрей Светлов
Андрей Светлов
CodeFest
Максим Дорофеев
Максим ДорофеевМаксим Дорофеев
Максим Дорофеев
CodeFest

Similar to Александр Лукин (20)

AppMetrica и Auto.ru: +10% к конверсиям бесплатно
AppMetrica и Auto.ru: +10% к конверсиям бесплатноAppMetrica и Auto.ru: +10% к конверсиям бесплатно
AppMetrica и Auto.ru: +10% к конверсиям бесплатно
AppTractor
Маркетинг мобильных приложений: чек-лист по запуску первой кампании
Маркетинг мобильных приложений: чек-лист по запуску первой кампанииМаркетинг мобильных приложений: чек-лист по запуску первой кампании
Маркетинг мобильных приложений: чек-лист по запуску первой кампании
Netpeak
AppMetrica - аналитика мобильного приложения
AppMetrica - аналитика мобильного приложенияAppMetrica - аналитика мобильного приложения
AppMetrica - аналитика мобильного приложения
Alexander Sibrikov
Performance-маркетинг мобильных приложений
Performance-маркетинг мобильных приложенийPerformance-маркетинг мобильных приложений
Performance-маркетинг мобильных приложений
Netpeak
Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва
 Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва  Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва
Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва
it-people
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Cisco Russia
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
QADay
Kiuwan 2015
Kiuwan 2015 Kiuwan 2015
Kiuwan 2015
Softmart
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
GoIT
Agile & .net
Agile & .netAgile & .net
Agile & .net
Azat Jalilov
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
mekhos
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
Maxim Shaptala
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
it-people
Cxp analyzer-mix-4
Cxp analyzer-mix-4Cxp analyzer-mix-4
Cxp analyzer-mix-4
Mag0s
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)
romachka_pole
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Mikhail Vanin
CXP Analyzer
CXP AnalyzerCXP Analyzer
CXP Analyzer
Mag0s
Iab app metrica
Iab app metricaIab app metrica
Iab app metrica
iabrussiaprez
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Microsoft
AppMetrica и Auto.ru: +10% к конверсиям бесплатно
AppMetrica и Auto.ru: +10% к конверсиям бесплатноAppMetrica и Auto.ru: +10% к конверсиям бесплатно
AppMetrica и Auto.ru: +10% к конверсиям бесплатно
AppTractor
Маркетинг мобильных приложений: чек-лист по запуску первой кампании
Маркетинг мобильных приложений: чек-лист по запуску первой кампанииМаркетинг мобильных приложений: чек-лист по запуску первой кампании
Маркетинг мобильных приложений: чек-лист по запуску первой кампании
Netpeak
AppMetrica - аналитика мобильного приложения
AppMetrica - аналитика мобильного приложенияAppMetrica - аналитика мобильного приложения
AppMetrica - аналитика мобильного приложения
Alexander Sibrikov
Performance-маркетинг мобильных приложений
Performance-маркетинг мобильных приложенийPerformance-маркетинг мобильных приложений
Performance-маркетинг мобильных приложений
Netpeak
Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва
 Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва  Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва
Трекинг — взгляд изнутри, Алексей Васильев, Яндекс, Москва
it-people
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Cisco Russia
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
QADay
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
GoIT
DS Activity Monitor
DS Activity MonitorDS Activity Monitor
DS Activity Monitor
mekhos
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
it-people
Cxp analyzer-mix-4
Cxp analyzer-mix-4Cxp analyzer-mix-4
Cxp analyzer-mix-4
Mag0s
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)
romachka_pole
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Mikhail Vanin
CXP Analyzer
CXP AnalyzerCXP Analyzer
CXP Analyzer
Mag0s
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Microsoft

More from CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
CodeFest
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
CodeFest
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
CodeFest
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
CodeFest
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
CodeFest
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
CodeFest
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
CodeFest
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
CodeFest
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
CodeFest
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
CodeFest
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
CodeFest
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
CodeFest
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
CodeFest
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
CodeFest
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
CodeFest
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
CodeFest
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
CodeFest
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
CodeFest
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
CodeFest
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
CodeFest
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
CodeFest
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
CodeFest
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
CodeFest
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
CodeFest
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
CodeFest
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
CodeFest
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
CodeFest
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
CodeFest
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
CodeFest
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
CodeFest
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
CodeFest
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
CodeFest
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
CodeFest
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
CodeFest
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
CodeFest
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
CodeFest

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

  • 2. Аналитика мобильного проекта проверяй и доверяй Александр Лукин
  • 3. Тестируем концепции, проводим эксперименты Аналитика Следим за показателями - AU, retention, вовлеченность, целевые события Улучшаем пользовательский опыт
  • 4. Трекинг Отслеживание источников трафика и построение отчетов по кампаниям Оптимизация CPI,CPA кампаний
  • 5. Crash Reporting Следим за стабильностью приложения Оперативно узнаем о новых проблемах, воспроизводим, исследуем и фиксим
  • 6. End-to-end платформа аналитики Crash ReportingAd TrackingApp Analytics
  • 7. Real-time отчеты и обработка Нет ограничений на объем данных Доступ к сырым данным Бесплатно End-to-end платформа аналитики
  • 8. SDK под все платформы (почти) End-to-end платформа аналитики
  • 9. Взгляните на демо и начните пользоваться appmetrica.yandex.com
  • 11. Проекты с правильной аналитикой проектируют метрики и все остальное заранее Часто используется несколько платформ аналитики Нужно больше аналитики
  • 14. Расхождение в Active Users 117,500 125,000 132,500 140,000 147,500 155,000 07 мар 08 мар 09 мар 10 мар 11 мар 12 мар 13 мар AppMetrica Flurry
  • 15. Расхождение в 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%
  • 16. Расхождение может быть незначительным - решать вам. Это может влиять на Расхождение в Active Users проектные решения (thx captain)
  • 17. Расхождение может быть незначительным - решать вам. Это может влиять на Расхождение в Active Users проектные решения (thx captain) прогнозирование
  • 18. Расхождение может быть незначительным - решать вам. Это может влиять на Расхождение в Active Users проектные решения (thx captain) прогнозирование другие агрегатные метрики - например, retention
  • 19. Расхождение в retention W2 43% 51% 59% 67% 75% 6-Apr 20-Apr 4-May 18-May 1-Jun 15-Jun MAT Flurry AppMetrica
  • 20. Разлет значений - 10-20% Действительно плохо - совсем разные тренды Расхождение в retention W2 Очевидно, что разница - в исходных данных
  • 21. Как определена метрика 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/
  • 22. Расхождение в 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
  • 23. Расхождение в 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%
  • 24. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions
  • 25. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions Нужно понять причину расхождения
  • 26. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions Почему при большем числе сессий одна система рассчитывает меньшее количество пользователей? Нужно понять причину расхождения
  • 27. Число и продолжительность сессии - хорошие метрики для оценки вовлеченности пользователей. Расхождение в Sessions Почему при большем числе сессий одна система рассчитывает меньшее количество пользователей? Нужно понять причину расхождения Очевидно, сессии генерируются разными множествами устройств
  • 28. Как определена метрика 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/
  • 29. Insight #1 - трекинг сессий Сессия привязана к жизненному циклу приложения - вызов методов вручную или автотрекинг onStart()/onStop()
  • 30. onStart() Пользовательская сессия in progress onStop() Входящий звонок (2 минуты) onStart() Новая сессия или продолжение? Insight #1 - трекинг сессий
  • 31. Insight #1 - трекинг сессий Сессия привязана к жизненному циклу приложения - вызов методов вручную или автотрекинг Конфигурируемый таймаут сессии - решайте сами onStart()/onStop() setSessionTimeout(60)
  • 32. Пользователи без сессии Приложение Yandex.Disk. Синхронизация файлов в бэкграунде AppMetrica SDK t Events File Sync Successful Folder Sync Failed Photo Sync Successful
  • 33. Пользователи без сессии В отчете События хотим увидеть % пользователей с успешными/неуспешными синхронизациями. Event Name Users, % Events File Sync Successful 95% 1,789,687 Folder Sync Failed 5% 1,432 Photo Sync Successful 99% 1,809,888
  • 34. Insight #2 - метрика Devices Device - уникальным образом идентифицированный отправитель событий Если есть хотя бы одно событие - есть и device
  • 35. Device - уникальным образом идентифицированный отправитель событий. Если есть хотя бы одно событие - есть и device Insight #2 - итого
  • 36. Device - уникальным образом идентифицированный отправитель событий. Если есть хотя бы одно событие - есть и device Session - сеанс использования приложения, определенный реализацией разработчика или автотрекингом Insight #2 - итого
  • 37. Device - уникальным образом идентифицированный отправитель событий. Если есть хотя бы одно событие - есть и device Session - сеанс использования приложения, определенный реализацией разработчика или автотрекингом Active User - это device, имеющий за требуемый период хотя бы одну сессию Insight #2 - итого N.B. - у приложения Я.Диск различие Users и Devices - в 3 раза
  • 38. Выбираем метрику в зависимости от бизнес-логики отчета! Dimension Users Devices Insight #2 - итого
  • 39. Ничего не помогает onStart() Пользовательская сессия in progress onStop() Прослушивание в фоне Анализируем поведение: Приложение Yandex.Music пока идет воспроизведение - считаем пользовательскую сессию по событиям (pause/play…)
  • 40. Как это работает сейчас Приложение Yandex.Music. Воспроизведение в фоне AppMetrica SDK t Events Play Pause START Уходим в bg START SessionID = 1 SessionID = 2 Push ReceivedSwitch track
  • 41. Как это можно решить - hit-based подход Никто не знает контекста лучше вашего прикладного кода.
  • 42. Как это можно решить - hit-based подход Разделим все события на 2 типа: USER INTERACTION Событие, связанное с пользовательской активностью Метрика Active Users считается не по сессиям, а по событиям данного типа Никто не знает контекста лучше вашего прикладного кода.
  • 43. USER INTERACTION BACKGROUND ACTIVITY Событие, связанное с пользовательской активностью Метрика Active Users считается не по сессиям, а по событиям данного типа Событие, связанное с бэкграундной активностью самого приложения Разделим все события на 2 типа: Никто не знает контекста лучше вашего прикладного кода. Как это можно решить - hit-based подход
  • 44. Откажемся от общего понятия Session Как это можно решить - hit-based подход
  • 45. Откажемся от общего понятия Session Как это можно решить - hit-based подход Предоставим возможность самостоятельно определять начало и конец сессии SDK только проверяет консистентность начал и концов
  • 46. Откажемся от общего понятия Session Как это можно решить - hit-based подход Предоставим возможность самостоятельно определять начало и конец сессии SDK только проверяет консистентность начал и концов Сессии получают текстовые метки “Сессия UI-взаимодействия”, “Сессия прослушивания”, etc.
  • 47. Проверим Приложение Yandex.Music. Воспроизведение в фоне AppMetrica SDK t Events Play Pause START “Music Play” Уходим в bg Push Received Switch trackUI BG Session Track END “Music Play”
  • 48. Используем в отчетах метрики по новым, промеченным сессиям Dimension Users Devices Music Play Проверим
  • 49. Как сделать? AppMetrica позволяет в добавить любой JSON-payload в событие. Используем их для разметки событий и трекинга промеченных сессий. Map<String, Object> eventAttributes = new HashMap<String, Object> (); eventAttributes.put("EventType", “USER_INTERACTION"); … YandexMetrica.reportEvent("Play", eventAttributes);
  • 50. Как сделать? In-house analytics Для построения отчета необходимо получить сырые данные и выполнить агрегацию самостоятельно Logs API Выгрузка большой плоской таблицы Агрегация Pandas + Highcharts Excel
  • 51. Важно понимать методологию расчета метрик, которыми вы пользуетесь Мораль Расчет собственных метрик на hit’ах - next-level Исследуйте, как работает ваша платформа аналитики Centimeters
  • 52. Free install attribution and mobile analytics platform appmetrica.yandex.com