Bearloga has submitted this change and it was merged.

Change subject: Update dashboard to use new referer traffic format
......................................................................


Update dashboard to use new referer traffic format

In I05984ad713ed18554afaa98dcbbe3dfade766fda, we updated the data
  collection scripts to employ a new version of the UDFs, which
  resulted in a new data format for the referer traffic data. This
  patch updates the Portal dashboard to be compatible with the new
  data format which includes the % for internally-referred traffic.

Bug: T130083
Change-Id: Idd0c5f9204453747b5a8ffdb15da0d7c95f76e00
---
M functions.R
1 file changed, 15 insertions(+), 8 deletions(-)

Approvals:
  Bearloga: Verified; Looks good to me, approved



diff --git a/functions.R b/functions.R
index 23782f6..12e019a 100644
--- a/functions.R
+++ b/functions.R
@@ -31,7 +31,8 @@
 }
 
 read_useragents <- function(){
-  data <- as.data.table(polloi::read_dataset(path = 
"portal/user_agent_data.tsv"))
+  data <- as.data.table(polloi::read_dataset(path = 
"portal/user_agent_data.tsv",
+                                             col_types = "Dccd"))
   data$browser[data$browser == "Chrome Mobile"] <- "Chrome Mobile (Android)"
   data$browser[data$browser == "Chrome Mobile iOS"] <- "Chrome Mobile (iOS)"
   data$browser[data$browser == "Mobile Safari"] <- "Safari Mobile"
@@ -60,23 +61,29 @@
   
   # Format
   data$is_search <- ifelse(data$is_search, "Referred by search", "Not referred 
by search")
-  data$search_engine[data$search_engine %in% c("none","None")] <- "Not 
referred by search"
+  data$search_engine[data$search_engine == "none"] <- "Not referred by search"
   
   
   # Write out the overall values for traffic
   interim <- data[, j = list(pageviews = sum(pageviews)),
                     by = c("date", "referer_class")] %>%
     reshape2::dcast(formula = date ~ referer_class, fun.aggregate = sum)
-  interim$Total <- interim$None + interim$`Search engine` + interim$Other
-  interim$None <- round(100*interim$None/interim$Total, 2)
-  interim$Other <- round(100*interim$Other/interim$Total, 2)
-  interim$`Search engine` <- round(100*interim$`Search engine`/interim$Total, 
2)
+  interim$total <- apply(interim[, -1], 1, sum)
+  interim$none <- round(100*interim$none/interim$total, 2)
+  interim$unknown <- round(100*interim$unknown/interim$total, 2)
+  interim$`external (search engine)` <- round(100*interim$`external (search 
engine)`/interim$total, 2)
+  interim$external <- round(100*interim$external/interim$total, 2)
+  interim$internal <- round(100*interim$internal/interim$total, 2)
+  interim$`internal+external+unknown` <- 
round(100*interim$`internal+external+unknown`/interim$total, 2)
   names(interim) <- c("date",
-                      "Direct (not referred by anything)",
                       "Referred by something other than search engine",
                       "Referred by a search engine",
+                      "Referred internally (itself or a sister wiki)",
+                      "Referred internally, non-search-engine, and unknown",
+                      "Direct (not referred by anything)",
+                      "Unknown referers",
                       "Total")
-  summary_traffic_data <<- interim[, 1:4]
+  summary_traffic_data <<- interim[, 1:7]
   
   # Generate per-engine values
   interim <- data[data$search_engine != "Not referred by search",

-- 
To view, visit https://gerrit.wikimedia.org/r/281472
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Idd0c5f9204453747b5a8ffdb15da0d7c95f76e00
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/prince
Gerrit-Branch: master
Gerrit-Owner: Bearloga <[email protected]>
Gerrit-Reviewer: Bearloga <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to