SlideShare a Scribd company logo
1 of 50
Download to read offline
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś
Data Scientist @ Allegro
Allegro.tech | Warszawa, 16 grudnia 2015
Google Analytics
+ R
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś
Data Scientist @ Allegro
Web Analytics Consultant:
+ Google Analytics
+ Google Tag Manager
Blog: www.michalbrys.pl
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Strona jest on-line.
Co dalej?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Jaki ruch jest na stronie?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Kim są użytkownicy?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Gdzie się znajdują?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Jak wygląda struktura ruchu?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Najlepsze źródło ruchu?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Ścieżki wielokanałowe
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Gdzie jest problem?
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Zaangażowanie odbiorcy
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
414
różnych wymiarów i danych
dostępne w Google Analytics
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
City Sessions Pageviews Avg. time on site
Warsaw 100 150 00:01:20
Cracow 120 300 00:02:15
Dimension
Metric
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Dimensions & Metrics Explorer
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Session · Traffic Sources · Adwords · Goal Conversions · Platform
or Device · Geo Network · System · Social Activities · Page
Tracking · Content Grouping · Internal Search · Site Speed · App
Tracking · Event Tracking · Ecommerce · Social Interactions · User
Timings · Exceptions · Content Experiments · Custom Variables or
Columns · Time · DoubleClick Campaign Manager · Audience Ad
Exchange · Channel Grouping · Related Products
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Szukaj kontekstu!
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Integracja z innymi źródłami danych:
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Integracja z danymi zewnętrznymi
● Pogoda
● Dane z CRM
● Dane z CMS
● Dane offline
● Poziom naładowania baterii :)
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Interfejsy Google Analytics
Management API
Reporting APIsData Collection APIs
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Wysyłanie danych do Google Analytics
analytics.js
Android SDK
iOS SDK
Google
Tag Manager
Measurement
Protocol
Offline data
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
10 000 000
Miesięczny limit hitów
do serwera Google Analytics per usługa
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
W czym pomoże R?
● Analiza danych
● Wizualizacja danych
● Testy statystyczne
● Modele predykcyjne
● ...
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Eksport danych do R
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Klucz do Google Analytics API
https://console.developers.google.com/project
Utwórz: Nowy projekt, używa Analytics API
Utwórz: New Client ID
Typ aplikacji – Installed Application
Pobierz: Client ID, Client Secret
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Google Developers Console
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
RGoogleAnalytics: Instalacja pakietu
install.packages("RGoogleAnalytics")
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
RGoogleAnalytics: Konfiguracja
require(RGoogleAnalytics)
client.id <- "xxxxxxxxxxxx.apps.googleusercontent.com"
client.secret <- "zzzzzzzzzzzz"
token <- Auth(client.id,client.secret)
# Save the token object for future sessions
save(token,file="./token_file")
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Autoryzacja - dostęp do danych
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Hello world
# Get the Sessions by Month in 2014
query.list <- Init(start.date = "2014-01-01",
end.date = "2014-12-31",
dimensions = "ga:month",
metrics = "ga:sessions",
table.id = "ga:000000")
# Create the Query Builder object
ga.query <- QueryBuilder(query.list)
# Extract the data and store it in a data-frame
ga.data <- GetReportData(ga.query, token)
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Hello world
> head(ga.data)
month sessions
1 01 906
2 02 1643
3 03 1755
4 04 963
5 05 407
6 06 490
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Wizyty vs. dzień tygodnia
# Get the Sessions by dayOfWeek in 2013
query.list <- Init(start.date = "2013-01-01",
end.date = "2013-12-31",
dimensions = "ga:dayOfWeek,ga:date",
metrics = "ga:sessions",
table.id = "ga:000000")
# Processing Query to ga.data
...
qplot(data = ga.data, x = dayOfWeek, y = sessions)+
geom_boxplot()
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Kalendarz
# Get the Sessions by date in 2013-2015
query.list <- Init(start.date = "2013-01-01",
end.date = "2015-12-31",
dimensions = "ga:date",
metrics = "ga:sessions",
table.id = "ga:000000")
# Processing Query to ga.data
...
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Kalendarz
# Plot for calendar
calendar_sessions <- ggplot(data, aes(monthweek, weekdayf,
fill = sessions)) +
geom_tile(colour = "white") +
facet_grid(year~monthf) +
scale_fill_gradient(high="#D61818",low="#B5E384") +
labs(title = "Kalendarz") +
xlab("Tydzien miesiaca") +
ylab("")
# View calendar
calendar_sessions
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Wykrywanie anomalii
https://github.com/twitter/AnomalyDetection
install.packages("devtools")
devtools::install_github("twitter/AnomalyDetection")
library(AnomalyDetection)
# Processing Query to ga.data
...
# Anomaly detection
res = AnomalyDetectionTs(raw_data, max_anoms=0.02,
direction='both', plot=TRUE)
res$plot
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Wykrywanie anomalii
https://github.com/twitter/AnomalyDetection
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Case study:
Profilowanie użytkownika
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Klasteryzacja użytkowników
Pogrupuj użytkowników według zainteresowań:
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Dane
Zachowanie użytkowników:
● odsłony
Tematyka stron:
● adres URL
+ kategorie tematyczne
URL Category
/52 3
/aktualnosci/50 2
/aktualnosci/51 3
/aktualnosci/52 3
/aktualnosci/53 2
UID URL PV
42749467 /kategoria/2 54
23697733 /produkt/26 47
23697733 /kategoria/2 57
31057222 /produkt/11 26
31286996 /kategoria/2 31
14192694 /kategoria/2 26
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Dane wejściowe
> head(data_test)
UID Cat1 Cat2 Cat3
1 42749467 12 81 25
2 23697732 2 90 0
3 31286996 20 64 28
4 23697732 2 90 0
5 23697732 2 90 0
6 14192694 0 46 8
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Klasteryzacja użytkowników
#Load data into R
...
# K-Means Cluster Analysis
fit <- kmeans(data, 3) # 3 clusters
...
# Append cluster assignment
mydata <- data.frame(data, fit$cluster)
head(mydata)
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Klasteryzacja użytkowników
> head(mydata)
UID Cat1 Cat2 Cat3 fit.cluster
1 42749467 12 81 25 1
2 31286996 20 64 28 1
3 23697732 2 90 0 2
4 14192694 0 46 8 3
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Klasteryzacja użytkowników
# 3d chart
install.packages("plotly")
library(plotly)
plot_ly(df, x = mydata$Cat1, y = mydata$Cat2, z = mydata$Cat3,
type = "scatter3d", mode = "markers", color=factor(mydata$fit.
cluster))
Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
Wykres 3D (plotly)
Q&A
Blog:
allegro.tech
Linkedin:
www.linkedin.com/in/michalbrys/

More Related Content

Similar to Google Analytics + R

Webinarium: E-commerce z MS Commerce Server
Webinarium: E-commerce z MS Commerce ServerWebinarium: E-commerce z MS Commerce Server
Webinarium: E-commerce z MS Commerce Server
Grupa Unity
 

Similar to Google Analytics + R (20)

One tool to rule them all - Google Data Studio
One tool to rule them all - Google Data StudioOne tool to rule them all - Google Data Studio
One tool to rule them all - Google Data Studio
 
20160405 Cloud Community Poznań - Cloud Analytics on Azure
20160405  Cloud Community Poznań - Cloud Analytics on Azure20160405  Cloud Community Poznań - Cloud Analytics on Azure
20160405 Cloud Community Poznań - Cloud Analytics on Azure
 
Wiedza Babel - Od projektowania do developmentu
Wiedza Babel - Od projektowania do developmentuWiedza Babel - Od projektowania do developmentu
Wiedza Babel - Od projektowania do developmentu
 
20160316 techstolica - cloudanalytics -tidk
20160316  techstolica - cloudanalytics -tidk20160316  techstolica - cloudanalytics -tidk
20160316 techstolica - cloudanalytics -tidk
 
Making data work, czyli jak przemienić Big Data w Smart Data?
Making data work, czyli jak przemienić Big Data w Smart Data?Making data work, czyli jak przemienić Big Data w Smart Data?
Making data work, czyli jak przemienić Big Data w Smart Data?
 
[Quality Meetup] M. Witas, D. Młynek – Tabnabbing – bug czy feature twojej pr...
[Quality Meetup] M. Witas, D. Młynek – Tabnabbing – bug czy feature twojej pr...[Quality Meetup] M. Witas, D. Młynek – Tabnabbing – bug czy feature twojej pr...
[Quality Meetup] M. Witas, D. Młynek – Tabnabbing – bug czy feature twojej pr...
 
Big Data w Polsce i za granicą (Big Data in Poland and worldwide)
Big Data w Polsce i za granicą (Big Data in Poland and worldwide)Big Data w Polsce i za granicą (Big Data in Poland and worldwide)
Big Data w Polsce i za granicą (Big Data in Poland and worldwide)
 
Wyklad inauguracyjny
Wyklad inauguracyjnyWyklad inauguracyjny
Wyklad inauguracyjny
 
Wykorzystanie Google Data Studio w raportowaniu i wizualizacji danych - Mateu...
Wykorzystanie Google Data Studio w raportowaniu i wizualizacji danych - Mateu...Wykorzystanie Google Data Studio w raportowaniu i wizualizacji danych - Mateu...
Wykorzystanie Google Data Studio w raportowaniu i wizualizacji danych - Mateu...
 
Google Data Studio - Poznaj możliwości i przykładowe raporty. Online Marketin...
Google Data Studio - Poznaj możliwości i przykładowe raporty. Online Marketin...Google Data Studio - Poznaj możliwości i przykładowe raporty. Online Marketin...
Google Data Studio - Poznaj możliwości i przykładowe raporty. Online Marketin...
 
Cyfrowa transformacja. Fakty i Mity
Cyfrowa transformacja. Fakty i MityCyfrowa transformacja. Fakty i Mity
Cyfrowa transformacja. Fakty i Mity
 
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
 
Wykorzystanie danych o użytkowniku do personalizacji procesu zakupowego ::: M...
Wykorzystanie danych o użytkowniku do personalizacji procesu zakupowego ::: M...Wykorzystanie danych o użytkowniku do personalizacji procesu zakupowego ::: M...
Wykorzystanie danych o użytkowniku do personalizacji procesu zakupowego ::: M...
 
Webinarium: E-commerce z MS Commerce Server
Webinarium: E-commerce z MS Commerce ServerWebinarium: E-commerce z MS Commerce Server
Webinarium: E-commerce z MS Commerce Server
 
SEM 2008 SEO Case Study
SEM 2008 SEO Case StudySEM 2008 SEO Case Study
SEM 2008 SEO Case Study
 
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
Piwik – największa platforma analityczna open source. Zastosowanie w środowis...
 
Przemysłowy internet rzeczy, perspektywa globalna.
Przemysłowy internet rzeczy, perspektywa globalna.Przemysłowy internet rzeczy, perspektywa globalna.
Przemysłowy internet rzeczy, perspektywa globalna.
 
What kind of Data Scientist do you need?
What kind of Data Scientist do you need?What kind of Data Scientist do you need?
What kind of Data Scientist do you need?
 
Geolokalizacja i analizy przestrzenne: trzy wymiary a ile pracy dla analityka!
Geolokalizacja i analizy przestrzenne: trzy wymiary a ile pracy dla analityka!Geolokalizacja i analizy przestrzenne: trzy wymiary a ile pracy dla analityka!
Geolokalizacja i analizy przestrzenne: trzy wymiary a ile pracy dla analityka!
 
PLNOG: Piotr Kobziakowski - Zdarzenia, logi, miary - unifikacja źródeł danych...
PLNOG: Piotr Kobziakowski - Zdarzenia, logi, miary - unifikacja źródeł danych...PLNOG: Piotr Kobziakowski - Zdarzenia, logi, miary - unifikacja źródeł danych...
PLNOG: Piotr Kobziakowski - Zdarzenia, logi, miary - unifikacja źródeł danych...
 

More from Michal Brys

Odkrywanie wzorców zachowań użytkowników Internetu.
Odkrywanie wzorców zachowań użytkowników Internetu.Odkrywanie wzorców zachowań użytkowników Internetu.
Odkrywanie wzorców zachowań użytkowników Internetu.
Michal Brys
 

More from Michal Brys (6)

Google Tag Manager - first steps
Google Tag Manager - first stepsGoogle Tag Manager - first steps
Google Tag Manager - first steps
 
Online dashboard using Google Analytics API Measure Camp
Online dashboard using Google Analytics API Measure CampOnline dashboard using Google Analytics API Measure Camp
Online dashboard using Google Analytics API Measure Camp
 
A/B testing. Content experiments in Google Analytics
A/B testing. Content experiments in Google AnalyticsA/B testing. Content experiments in Google Analytics
A/B testing. Content experiments in Google Analytics
 
Google tools for data analyst
Google tools for data analystGoogle tools for data analyst
Google tools for data analyst
 
Google Analytics: dowiedz się więcej o użytkownikach swojego serwisu www
Google Analytics: dowiedz się więcej o użytkownikach swojego serwisu wwwGoogle Analytics: dowiedz się więcej o użytkownikach swojego serwisu www
Google Analytics: dowiedz się więcej o użytkownikach swojego serwisu www
 
Odkrywanie wzorców zachowań użytkowników Internetu.
Odkrywanie wzorców zachowań użytkowników Internetu.Odkrywanie wzorców zachowań użytkowników Internetu.
Odkrywanie wzorców zachowań użytkowników Internetu.
 

Google Analytics + R

  • 1. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Michał Bryś Data Scientist @ Allegro Allegro.tech | Warszawa, 16 grudnia 2015 Google Analytics + R
  • 2. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Michał Bryś Data Scientist @ Allegro Web Analytics Consultant: + Google Analytics + Google Tag Manager Blog: www.michalbrys.pl
  • 3. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Strona jest on-line. Co dalej?
  • 4. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  • 5. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  • 6. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  • 7.
  • 8. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Jaki ruch jest na stronie?
  • 9. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Kim są użytkownicy?
  • 10. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Gdzie się znajdują?
  • 11. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Jak wygląda struktura ruchu?
  • 12. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Najlepsze źródło ruchu?
  • 13. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Ścieżki wielokanałowe
  • 14. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Gdzie jest problem?
  • 15. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Zaangażowanie odbiorcy
  • 16. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 414 różnych wymiarów i danych dostępne w Google Analytics
  • 17. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 City Sessions Pageviews Avg. time on site Warsaw 100 150 00:01:20 Cracow 120 300 00:02:15 Dimension Metric
  • 18. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Dimensions & Metrics Explorer
  • 19. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Session · Traffic Sources · Adwords · Goal Conversions · Platform or Device · Geo Network · System · Social Activities · Page Tracking · Content Grouping · Internal Search · Site Speed · App Tracking · Event Tracking · Ecommerce · Social Interactions · User Timings · Exceptions · Content Experiments · Custom Variables or Columns · Time · DoubleClick Campaign Manager · Audience Ad Exchange · Channel Grouping · Related Products
  • 20. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Szukaj kontekstu!
  • 21. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Integracja z innymi źródłami danych:
  • 22. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Integracja z danymi zewnętrznymi ● Pogoda ● Dane z CRM ● Dane z CMS ● Dane offline ● Poziom naładowania baterii :)
  • 23. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Interfejsy Google Analytics Management API Reporting APIsData Collection APIs
  • 24. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wysyłanie danych do Google Analytics analytics.js Android SDK iOS SDK Google Tag Manager Measurement Protocol Offline data
  • 25. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 10 000 000 Miesięczny limit hitów do serwera Google Analytics per usługa
  • 26. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 W czym pomoże R? ● Analiza danych ● Wizualizacja danych ● Testy statystyczne ● Modele predykcyjne ● ...
  • 27. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Eksport danych do R
  • 28. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Klucz do Google Analytics API https://console.developers.google.com/project Utwórz: Nowy projekt, używa Analytics API Utwórz: New Client ID Typ aplikacji – Installed Application Pobierz: Client ID, Client Secret
  • 29. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Google Developers Console
  • 30. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 RGoogleAnalytics: Instalacja pakietu install.packages("RGoogleAnalytics")
  • 31. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 RGoogleAnalytics: Konfiguracja require(RGoogleAnalytics) client.id <- "xxxxxxxxxxxx.apps.googleusercontent.com" client.secret <- "zzzzzzzzzzzz" token <- Auth(client.id,client.secret) # Save the token object for future sessions save(token,file="./token_file")
  • 32. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Autoryzacja - dostęp do danych
  • 33. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Hello world # Get the Sessions by Month in 2014 query.list <- Init(start.date = "2014-01-01", end.date = "2014-12-31", dimensions = "ga:month", metrics = "ga:sessions", table.id = "ga:000000") # Create the Query Builder object ga.query <- QueryBuilder(query.list) # Extract the data and store it in a data-frame ga.data <- GetReportData(ga.query, token)
  • 34. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Hello world > head(ga.data) month sessions 1 01 906 2 02 1643 3 03 1755 4 04 963 5 05 407 6 06 490
  • 35. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wizyty vs. dzień tygodnia # Get the Sessions by dayOfWeek in 2013 query.list <- Init(start.date = "2013-01-01", end.date = "2013-12-31", dimensions = "ga:dayOfWeek,ga:date", metrics = "ga:sessions", table.id = "ga:000000") # Processing Query to ga.data ... qplot(data = ga.data, x = dayOfWeek, y = sessions)+ geom_boxplot()
  • 36. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  • 37. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Kalendarz # Get the Sessions by date in 2013-2015 query.list <- Init(start.date = "2013-01-01", end.date = "2015-12-31", dimensions = "ga:date", metrics = "ga:sessions", table.id = "ga:000000") # Processing Query to ga.data ...
  • 38. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Kalendarz # Plot for calendar calendar_sessions <- ggplot(data, aes(monthweek, weekdayf, fill = sessions)) + geom_tile(colour = "white") + facet_grid(year~monthf) + scale_fill_gradient(high="#D61818",low="#B5E384") + labs(title = "Kalendarz") + xlab("Tydzien miesiaca") + ylab("") # View calendar calendar_sessions
  • 39. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  • 40. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wykrywanie anomalii https://github.com/twitter/AnomalyDetection install.packages("devtools") devtools::install_github("twitter/AnomalyDetection") library(AnomalyDetection) # Processing Query to ga.data ... # Anomaly detection res = AnomalyDetectionTs(raw_data, max_anoms=0.02, direction='both', plot=TRUE) res$plot
  • 41. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wykrywanie anomalii https://github.com/twitter/AnomalyDetection
  • 42. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Case study: Profilowanie użytkownika
  • 43. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Klasteryzacja użytkowników Pogrupuj użytkowników według zainteresowań:
  • 44. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Dane Zachowanie użytkowników: ● odsłony Tematyka stron: ● adres URL + kategorie tematyczne URL Category /52 3 /aktualnosci/50 2 /aktualnosci/51 3 /aktualnosci/52 3 /aktualnosci/53 2 UID URL PV 42749467 /kategoria/2 54 23697733 /produkt/26 47 23697733 /kategoria/2 57 31057222 /produkt/11 26 31286996 /kategoria/2 31 14192694 /kategoria/2 26
  • 45. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Dane wejściowe > head(data_test) UID Cat1 Cat2 Cat3 1 42749467 12 81 25 2 23697732 2 90 0 3 31286996 20 64 28 4 23697732 2 90 0 5 23697732 2 90 0 6 14192694 0 46 8
  • 46. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Klasteryzacja użytkowników #Load data into R ... # K-Means Cluster Analysis fit <- kmeans(data, 3) # 3 clusters ... # Append cluster assignment mydata <- data.frame(data, fit$cluster) head(mydata)
  • 47. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Klasteryzacja użytkowników > head(mydata) UID Cat1 Cat2 Cat3 fit.cluster 1 42749467 12 81 25 1 2 31286996 20 64 28 1 3 23697732 2 90 0 2 4 14192694 0 46 8 3
  • 48. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Klasteryzacja użytkowników # 3d chart install.packages("plotly") library(plotly) plot_ly(df, x = mydata$Cat1, y = mydata$Cat2, z = mydata$Cat3, type = "scatter3d", mode = "markers", color=factor(mydata$fit. cluster))
  • 49. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wykres 3D (plotly)