Bearloga has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/363510 )

Change subject: [WIP] Add sister search engagement metrics
......................................................................

[WIP] Add sister search engagement metrics

Bug: T164854
Change-Id: Ic21741d1cb7b226135cfccbf888488f9b1aeadfb
---
M modules/metrics/search/config.yaml
A modules/metrics/search/sister_search.R
A modules/metrics/search/sister_search_engagement
A modules/metrics/search/sister_search_engagement_lang_breakdown
4 files changed, 76 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/golden 
refs/changes/10/363510/1

diff --git a/modules/metrics/search/config.yaml 
b/modules/metrics/search/config.yaml
index 46d9768..3c147ea 100644
--- a/modules/metrics/search/config.yaml
+++ b/modules/metrics/search/config.yaml
@@ -162,3 +162,9 @@
         starts: 2017-06-01
         funnel: true
         type: script
+    sister_search_engagement:
+        description: Users' engagement with sister search results sidebar on 
full-text SERPs.
+        granularity: days
+        starts: 2017-07-01
+        funnel: true
+        type: script
diff --git a/modules/metrics/search/sister_search.R 
b/modules/metrics/search/sister_search.R
new file mode 100644
index 0000000..0f59e1e
--- /dev/null
+++ b/modules/metrics/search/sister_search.R
@@ -0,0 +1,64 @@
+#!/usr/bin/env Rscript
+
+.libPaths("/a/discovery/r-library"); 
suppressPackageStartupMessages(library("optparse"))
+
+option_list <- list(
+  make_option(c("-d", "--date"), default = NA, action = "store", type = 
"character"),
+  make_option(c("-o", "--output"), default = "overall", action = "store",
+                help = "Available: [default %default], language")
+)
+
+# Get command line options, if help option encountered print help and exit,
+# otherwise if options not found on command line then set defaults:
+opt <- parse_args(OptionParser(option_list = option_list))
+
+if (is.na(opt$date) || !(opt$output %in% c("overall", "language"))) {
+  quit(save = "no", status = 1)
+}
+
+# Build query:
+date_clause <- as.character(as.Date(opt$date), format = "LEFT(timestamp, 8) = 
'%Y%m%d'")
+
+query <- paste0("SELECT
+  DATE('", opt$date, "') AS date,
+  timestamp,
+  event_uniqueId AS event_id,
+  event_searchSessionId AS session_id,
+  wiki,
+  event_action AS action,
+  event_position AS position,
+  event_extraParams AS extras
+FROM TestSearchSatisfaction2_16909631
+WHERE ", date_clause, "
+  AND event_action IN('searchResultPage', 'click', 'ssclick')
+  AND (event_subTest IS NULL OR event_subTest IN ('null', 'baseline'))
+  AND event_source = 'fulltext';")
+
+# Fetch data from MySQL database:
+results <- tryCatch(
+  suppressMessages(wmf::mysql_read(query, "log")),
+  error = function(e) {
+    return(data.frame())
+  }
+)
+
+if (nrow(results) == 0) {
+  # Here we make the script output tab-separated
+  # column names, as required by Reportupdater:
+  output <- switch(
+    opt$output,
+    overall = data.frame(),
+    language = data.frame()
+  )
+} else {
+  # De-duplicate, clean, and sort:
+  results$timestamp <- as.POSIXct(results$timestamp, format = "%Y%m%d%H%M%S")
+  results <- results[order(results$event_id, results$timestamp), ]
+  results <- results[!duplicated(results$event_id, fromLast = TRUE), ]
+  results <- results[order(results$session_id, results$timestamp), ]
+  # Some more processing steps:
+  # Convert to data.table for quick aggregation:
+  results <- data.table::as.data.table(results)
+}
+
+write.table(output, file = "", append = FALSE, sep = "\t", row.names = FALSE, 
quote = FALSE)
diff --git a/modules/metrics/search/sister_search_engagement 
b/modules/metrics/search/sister_search_engagement
new file mode 100755
index 0000000..9656ed6
--- /dev/null
+++ b/modules/metrics/search/sister_search_engagement
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+Rscript modules/metrics/search/sister_search.R -d $1
diff --git a/modules/metrics/search/sister_search_engagement_lang_breakdown 
b/modules/metrics/search/sister_search_engagement_lang_breakdown
new file mode 100755
index 0000000..361ab63
--- /dev/null
+++ b/modules/metrics/search/sister_search_engagement_lang_breakdown
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+Rscript modules/metrics/search/sister_search.R -d $1 -o language

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic21741d1cb7b226135cfccbf888488f9b1aeadfb
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/golden
Gerrit-Branch: master
Gerrit-Owner: Bearloga <[email protected]>

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

Reply via email to