Изменения

R:Google Analytics/Примеры

7461 байт добавлено, 17:10, 17 мая 2014
м
Анализ суточной активности посетителей по дням недели
Конвертируем названия дней недели в ранжированный фактор для соблюдения порядка дней недели при построении графиков.
{{r-code|code=<nowiki>>ga.data$dayOfWeekName <- factor(ga.data$dayOfWeekName, ordered = TRUE,+ levels = c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))</nowiki>}}
Приведём первые несколько строк таблицы для наглядной демонстрации структуры полученных данных:
В качестве визуализации воспользуемся плиточным графиком, который окрашивает зоны на пересечении часов и дней недели в зависимости от значения переменной <code>pageviews</code>. Пример кода для построения графика:
{{r-code|code=<nowiki>> qplot(data = ga.data, x = dayOfWeekName, y = hour, fill = pageviews, xlab = "days of week") +
+ geom_tile(colour = "white") + scale_fill_gradient(low = "steelblue", high = "red", space = "Lab") +
+ theme_bw() + theme(axis.ticks = element_blank())</nowiki>}}
Стоит также отметить, что в качестве показателей активности посетителей можно такж использовать количество сеансов пользователей, среднее количество просмотром на одного посетителя и т. д.
== Анализ соотношения источников трафика ==
Проанализируем соотношение основных источников трафика сайта: прямой (direct), переходы с других сайтов (referral) и поисковый (organic). Для получения нужных данных нам понадобится показатель количество посещений (<code>ga:sessions</code>) и и измерение источники трафика <code>ga:medium</code><ref>Измерение <code>ga:source</code> даёт более подробную информацию об источниках трафика, в том числе и об источниках переходов, т.е. веб-сайтах, с которых приходят посетители. В данном случае нашей целью является проанализировать только соотношение источников трафика.</ref>.
+ metrics = "ga:sessions", dimensions = "ga:medium", sort = "-ga:sessions")</nowiki>}}
В данный таблице прямой трафик отображается как «(none)». ИсправлИсправляем:
{{r-code|code=<nowiki>> ga.data[ga.data$medium == "(none)", "medium"] <- "direct"</nowiki>}}
[[Файл:Ga-trafic-sources.svg|600px|центр]]
Теперь рассмотрим источники трафика более детально. Для этого сделаем выборку по измерению <code>ga:sourceMedium</code>, который сочетает в себе измерения измерениям <code>ga:medium</code> и <code>ga:source</code>. В качестве основного показателя оставим количество посещений (<code>gaпоказателей активности посетителей возьмём следующие показатели:sessions</code>). Наиболее интересными для нас являются источники, имеющие наибольшее количество посещения, поэтому воспользуемся сортировкой по убываю, а также ограничим выдачу 20 позициями. Код для получения данных приведён ниже.
* количество посещений (<code>ga:sessions</code>);* процент новых посещений (<code>ga:percentNewSessions</code>);* средняя продолжительность посещения (<code>ga:avgSessionDuration</code>);* количество просмотров страниц (<code>ga:pageviews</code>);* среднее количество просмотров страниц на одно посещение (<code>ga:pageviewsPerSession</code>);* [http://ru.wikipedia.org/wiki/Показатель_отказов процент отказов] (<code>ga:bounceRate</code>). Наиболее интересными для нас являются источники, имеющие наибольшее количество посещений, поэтому воспользуемся сортировкой по убыванию по показателю <code>ga:sessions</code>, а также ограничим количество источников теми, с которых было более 100 посещений. Код для получения данных приведён ниже. {{r-code|code=<nowiki>> ga.data <- ga$getData(id, start.date = ga$getFirstDate(id)"2014-03-24", end.date = Sys.Date() "2014- 104-23",+ metrics = "ga:sessions,ga:percentNewSessions,ga:avgSessionDuration,ga:pageviews,ga:pageviewsPerSession,ga:bounceRate", + dimensions = "ga:medium,ga:source",+ max = 20, sort = "ga:medium,-ga:sessions")Only pulling 20 observations of 327 total (set batch , filters = TRUE to get all observations"ga:sessions>100")</nowiki>}}
Полученная в результате запроса таблица данных:
{{r-code|code=<nowiki>> ga.data
medium source sessionspercentNewSessions avgSessionDuration pageviews pageviewsPerSession bounceRate1 (none) (direct) 11182 48.92 205.34 28823 2.578 63.422 organic yandex 8529172949 43.72 146.23 170021 2 .331 69.303 organic google 712333 61130 45.60 183.29 (none) (direct) 13081143721 2.351 65.154 organic go.mail.ru 68995884 49.68 160.77 16012 2.721 66.425 organic rambler 683 53.29 134.36 1635 2.394 68.966 organic bing 379 47.23 185.23 1158 3.055 62.537 organic ask 115 46.09 181.53 313 2.722 60.008 referral vk.com 31682732 26.79 212.63 7722 2.827 57.916 9 referral ru.wikipedia.org 30277 organic rambler 2598 54.16 148.96 8306640 2.556 62.368 10 referral psychologos.ru 6879 organic 578 70.24 62.54 863 bing 1.493 43684.4310 11 referral e.mail.ru 381338 31.07 242.53 1102 3.260 54.7311 12 referral nigma.ru 334265 30.94 198.44 881 3.325 71.7012 13 referral ru.m.wikipedia.org 169143 60.84 101.99 282 1.972 68.5313 14 referral rutracker.org 169143 60.14 organic ask 79.49 200 1.399 13285.3115 referral brainmod.ru 11916 referral yandex105 41.ru 10217 referral lookatme90 127.ru 10118 referral m.vk.com 41 9819 referral ru199 1.scribd.com 9020 referral 895 otvet71.mail.ru 8443</nowiki>}}
Поскольку данная таблица включает только 20 позиций, то расчёт процентного соотношения для этой выборки будет некорректным. Если есть неободимость сравнение процентного соотношения, то необходимо сделать полную выборку данныхСравнивая данные показатели у разных истоников трафика мжно выявить наиболее ценные из них.
Отобразим только поисковый трафик:
{{r-code|code=<nowiki>> head(subset(ga.data[ga.data$, medium == "organic"), ]n = 10) medium source sessionspercentNewSessions avgSessionDuration pageviews pageviewsPerSession bounceRate1 2 organic yandex 8529172949 43.72 146.2 170021 2.331 69.303 organic google 7123361130 45.60 183.3 143721 2.351 65.154 organic go.mail.ru 68995884 49.68 160.8 16012 2.721 66.427 5 organic rambler 830683 53.29 134.4 1635 2.394 68.969 6 organic bing 436379 47.23 185.2 1158 3.055 62.5314 7 organic ask 132115 46.09 181.5 313 2.722 60.00</nowiki>}}
Только Отобразим только трафик переходов:
{{r-code|code=<nowiki>> head(subset(ga.data[ga.data$, medium == "referral"), ]n = 10) medium source sessionspercentNewSessions avgSessionDuration pageviews pageviewsPerSession bounceRate5 8 referral vk.com 31682732 26.79 212.63 7722 2.827 57.916 9 referral ru.wikipedia.org 30272598 54.16 148.96 6640 2.556 62.368 10 referral psychologos.ru 687578 70.24 62.54 863 1.493 84.4310 11 referral e.mail.ru 381338 31.07 242.53 1102 3.260 54.7311 12 referral nigma.ru 334265 30.94 198.44 881 3.325 71.7012 13 referral ru.m.wikipedia.org 169143 60.84 101.99 282 1.972 68.5313 14 referral rutracker.org 16915 referral brainmod143 60.ru 14 79.49 200 1.399 11916 referral yandex85.ru 1023117 15 referral lookatmebrainmod.ru 10118 referral m105 41.vk90 127.com 41 9819 referral ru199 1.scribd.com 9020 referral 895 otvet71.mail.ru 8443</nowiki>}}
Визуализируем эту таблицу с помощью столбиковой диаграммы:
{{r-code|code=<nowiki>> qplot(data = head(subset(ga.data, medium == "organic")), x = reorder(source, sessions), y = sessions,
+ geom = "bar", stat = "identity", xlab = "") + coord_flip() + theme_bw()</nowiki>}}
[[Файл:Ga-sourcessearches.svg|600px|центр]] {{r-code|code=<nowiki>> qplot(data = head(subset(ga.data, medium == "referral")), x = reorder(source, sessions), y = sessions,+ geom = "bar", stat = "identity", xlab = "") + coord_flip() + theme_bw()</nowiki>}} [[Файл:Ga-referrals.svg|600px|центр]] <code>reorder(source, sessions)</code> используется для сортировки столбцов в диаграмме в зависимости от значения столбца «sessions». Для более детального анализа сайтов, с которых приходят посетители, а также целевые страницы, можно сделать следующую выборку данных: {{r-code|code=<nowiki>> ga.data <- ga$getData(id, start.date = "2014-03-24", end.date = "2014-04-23",+ metrics = "ga:sessions", dimensions = "ga:medium,ga:source,ga:referralPath,ga:pageTitle",+ sort = "-ga:sessions", filters = "ga:medium==referral", batch = TRUE, walk = TRUE)</nowiki>}} В каждом заголовке страницы присутствует также название сайта<ref>Это поведение зависит от настроек «движка» сайта.</ref>, для удобства представления данных убираем его: {{r-code|code=ga.data$pageTitle <- gsub(" — Psylab.info", "", ga.data$pageTitle)}} Выведем список наиболее посещаемых страниц нашего сайта посетителям, которые приходят с сайта Википедии: {{r-code|code=<nowiki>> head(ga.data[grep("wikipedia", ga.data$source), -1:-3], n = 10) pageTitle sessions2 Методика чернильных пятен Роршаха 4303 Прогрессивные матрицы Равена 2864 Методика многофакторного исследования личности Кэттелла 2705 Опросник «Уровень субъективного контроля» 2456 Категория:Тесты интеллекта 18412 Шкала депрессии Бека 7813 Тест структуры интеллекта Амтхауэра 7615 Методика многофакторного исследования личности Кэттелла 5417 Тест фрустрационных реакций Розенцвейга 5219 Миннесотский многоаспектный личностный опросник 51</nowiki>}} == География посещений == Информация о географии посещений можно получить с помощью измерений из группы «Geo Network». Для начала получим данных о количестве посещений по странам. {{r-code|code=<nowiki>> ga.data <- ga$getData(ids = id, start.date = Sys.Date() - 31, end.date = Sys.Date() - 1,+ metrics = "ga:sessions", dimensions = "ga:country",+ sort = "-ga:sessions", filters = "ga:country!=(not set)")</nowiki>}} Полученные данные представляют собой следующую таблицу: {{r-code|code=<nowiki>> head(ga.data, n = 10) country sessions1 Russia 1151672 Ukraine 251663 Belarus 83614 Kazakhstan 42525 Netherlands 15656 Moldova 9807 United States 6818 Armenia 5159 Latvia 46310 Kyrgyzstan 392</nowiki>}} Рассмотрим более подробно география посещений по городам РФ: {{r-code|code=<nowiki>> ga.data <- ga$getData(ids = id, start.date = "2014-03-24", end.date = "2014-04-23",+ metrics = "ga:sessions", dimensions = "ga:country,ga:city",+ sort = "-ga:sessions", filters = "ga:country==Russia;ga:city!=(not set)")</nowiki>}} Полученные результаты: {{r-code|code=<nowiki>> head(ga.data, n = 10) country city sessions1 Russia Moscow 187602 Russia Saint Petersburg 146603 Russia Novosibirsk 43594 Russia Yekaterinburg 39725 Russia Samara 39166 Russia Kazan 20717 Russia Rostov-on-Don 18758 Russia Krasnodar 18169 Russia Perm 175310 Russia Krasnoyarsk 1715</nowiki>}}
== Примечания ==