Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Google Analytics + R

702 visualizaciones

Publicado el

Analyzing data from Google Analytics in R Studio using Google Analytics Reporting API

Publicado en: Internet
  • Sé el primero en comentar

Google Analytics + R

  1. 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. 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. 3. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Strona jest on-line. Co dalej?
  4. 4. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  5. 5. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  6. 6. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  7. 7. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Jaki ruch jest na stronie?
  8. 8. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Kim są użytkownicy?
  9. 9. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Gdzie się znajdują?
  10. 10. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Jak wygląda struktura ruchu?
  11. 11. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Najlepsze źródło ruchu?
  12. 12. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Ścieżki wielokanałowe
  13. 13. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Gdzie jest problem?
  14. 14. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Zaangażowanie odbiorcy
  15. 15. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 414 różnych wymiarów i danych dostępne w Google Analytics
  16. 16. 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
  17. 17. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Dimensions & Metrics Explorer
  18. 18. 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
  19. 19. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Szukaj kontekstu!
  20. 20. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Integracja z innymi źródłami danych:
  21. 21. 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 :)
  22. 22. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Interfejsy Google Analytics Management API Reporting APIsData Collection APIs
  23. 23. 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
  24. 24. 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
  25. 25. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 W czym pomoże R? ● Analiza danych ● Wizualizacja danych ● Testy statystyczne ● Modele predykcyjne ● ...
  26. 26. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Eksport danych do R
  27. 27. 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
  28. 28. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Google Developers Console
  29. 29. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 RGoogleAnalytics: Instalacja pakietu install.packages("RGoogleAnalytics")
  30. 30. 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")
  31. 31. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Autoryzacja - dostęp do danych
  32. 32. 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)
  33. 33. 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
  34. 34. 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()
  35. 35. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  36. 36. 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 ...
  37. 37. 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
  38. 38. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015
  39. 39. 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
  40. 40. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wykrywanie anomalii https://github.com/twitter/AnomalyDetection
  41. 41. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Case study: Profilowanie użytkownika
  42. 42. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Klasteryzacja użytkowników Pogrupuj użytkowników według zainteresowań:
  43. 43. 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
  44. 44. 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
  45. 45. 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)
  46. 46. 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
  47. 47. 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))
  48. 48. Michał Bryś, Data Scientist @ Allegro, Allegro.tech @ Warszawa, 16.12.2015 Wykres 3D (plotly)
  49. 49. Q&A Blog: allegro.tech Linkedin: www.linkedin.com/in/michalbrys/

×