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