{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Wikimedia Desktop Usage and Behavior Data Analysis\n", "\n", "*Megan Neisler*\n", "
\n", "*August, 2019*\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Purpose: We would like to begin to develop an understanding of the usage/behavior of various elements on the desktop site as we start to think about improvements we can make to the desktop experience. \n", "\n", "[Task](https://phabricator.wikimedia.org/T229926)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Contents\n", "\n", "1. [Search](#Search)\n", "2. [Sidebar links](#Sidebar-links)\n", "3. [Header links](#Header-links)\n", "4. [Language links](#Language-links)\n", "4. [Table of contents](#Table-of-contents)" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "library(IRdisplay)\n", "\n", "display_html(\n", "'\n", "
\n", " \n", "
'\n", ")" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "shhh <- function(expr) suppressPackageStartupMessages(suppressWarnings(suppressMessages(expr)))\n", "shhh({\n", " library(magrittr); library(zeallot); library(glue); library(tidyverse); library(glue); library(lubridate)\n", " library(scales)\n", "})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Search " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Data questions**: \n", "* what percentage of users use search? \n", "* How many searches do users of search perform per session?\n", "\n", "Audiences: logged-in users, logged-out users\n", "\n", "Why this is relevant: currently search is a relatively small element on the page, and is only accessible from the top of the page (i.e. you can't perform a search if you're scrolled down, reading an article). We're curious if people have difficulty finding search, or perhaps just don't think of searching the site because they don't notice it.\n", "\n", "Notes: Data from [searchsatisfaction](https://meta.wikimedia.org/wiki/Schema:SearchSatisfaction) eventlogging table and webrequest. Data is from August 2019 and for desktop users across all projects. Search events include both full text and autocomplete searches.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. What percentage of users use search? ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notes: Unique users defined by client_ip and user agent." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# collect number of distinct users that used search\n", "query <- \n", "\"SELECT\n", " date,\n", " COUNT(DISTINCT CONCAT(client_ip, user_agent, query)) AS n_search,\n", " COUNT(DISTINCT CONCAT(client_ip, user_agent)) AS n_user,\n", " logged_in\n", "FROM (\n", " SELECT \n", " CONCAT(year, '-', LPAD(month, 2, '0'), '-', LPAD(day, 2, '0')) AS date,\n", " access_method,\n", " client_ip, \n", " user_agent,\n", " IF(x_analytics_map['loggedIn'] = '1', true, false) as logged_in,\n", " PARSE_URL(CONCAT('http://', uri_host, uri_path, uri_query), 'QUERY', 'search') AS query,\n", " PARSE_URL(CONCAT('http://', uri_host, uri_path, uri_query), 'QUERY', 'searchToken') AS searchToken\n", " FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", " WHERE year = 2019 AND month = 08\n", " AND webrequest_source = 'text'\n", " AND access_method = 'desktop'\n", " AND agent_type = 'user'\n", " AND is_pageview\n", " -- flag for pageviews that are search results pages\n", " AND page_id IS NULL\n", " AND (\n", " uri_path = '/wiki/Special:Search'\n", " OR (\n", " uri_path = '/w/index.php'\n", " AND (\n", " LENGTH(PARSE_URL(CONCAT('http://', uri_host, uri_path, uri_query), 'QUERY', 'search')) > 0\n", " OR LENGTH(PARSE_URL(CONCAT('http://', uri_host, uri_path, uri_query), 'QUERY', 'searchToken')) > 0\n", " )\n", " )\n", " )\n", ") AS serp\n", "GROUP BY date, logged_in;\"" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "search_events_byuser <- wmf::query_hive(query)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "search_events_byuser$date <- as.Date(search_events_byuser$date, format = \"%Y-%m-%d\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nBbsM+C+Hw6FQKBQKRbAL4neSJDkcDqVSGSI3K4QIkTt1/gwrlfL/o1GSJEmSQuFOhRB2uz1E\nqlUIYbfbVSpVsEsRCA6HQ5Kk0LnZEPkBJtgBAADIREikVwAAgFBAsAMAAJAJgh0AAIBMEOwA\nAABkgmAHAAAgEwQ7AAAAmSDYAQAAyIQ62AVA12MymV566aVVq1b5dbLHa9eurV+//quvvpIk\nafDgwbNnz46NjXXtnThxYpPjP/74Y/8VJkQEpmYLCwt379796aefmkymJrV25syZ/Pz8U6dO\n2Wy2xMTExx9//L777vNfSUJE0KtVCPHll19u3ry5qKhIo9EMGTJk5syZer3ef4UJBQGo1lu+\nHyVJys/P37lzZ0VFRXx8/JNPPjlixAg/FQaeo8UO7bZ7926DwXD48GH/vURjY+Mrr7ySlpa2\nfv36d955Jy0tbeHChWaz2f2Yj7/Pf4UJHQGoWSHEm2++qdfrly9f3nzX/PnzjUbjK6+88t57\n7z333HNbtmzZvXu3XwsTCoJerV999dXy5ctHjx69YcOGNWvWZGZmvvbaa1ar1a/lkb0AVOst\n349r1qy5ePHiokWLtm7d+tvf/nb//v3+KwzaQQLaw+FwzJ49+8SJEy+++KL/XmX79u1vvPGG\n+5Y33njj448/dn05YcIE/716aApMzbprXokbNmxwrnHkVFxcPHv27MAURq46Q7XOmzdv7969\n7lv27NmTn58fmPLIUmCqte3346lTp3Jycvz36vAaLXZony+++CI5Ofnuu+8ODw8/e/as+67m\n3aNNNhYXFy9evPiJJ56YNm3aX//6V7PZ3OIpQohjx46NHDnSfcvIkSOPHj3qiztAywJTs23L\nzs52X1E3Pj7eYDB4cR24dIZqvXDhwtChQ923DB069MiRI15cCk6Bqda234+7du0aN25cR+8E\nfsAzdmifHTt2TJ06VQgxbty4vLy8O+64w8MTy8rKFi9ePGXKlN/97ndCiM8///wvf/lLaweX\nlJSkpKS4b0lOTr58+bL7lunTp9fV1UVGRmZmZj755JOJiYntvhm4CUzNtsuJEycSEhJ8cqmQ\n1QmrVQihUChKSkp8dbUQFJRqbfJ+PHfu3AMPPDB//vwLFy4olcrbb7996tSpP/jBD9p5K/A9\nWuzQDsXFxSaT6c477xRCDB06tLCwsLKy0sNzP/zww6ysrHHjxun1er1eP27cuDaiWH19fY8e\n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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot daily total search and sessions for August 2019\n", "search_events_byuser_daily <- search_events_byuser %>%\n", " gather(type, count, n_search:n_user) %>%\n", "group_by(date, type) %>%\n", "summarise(count = sum(count)) %>%\n", " ggplot(aes(x=date, y= count, color= type)) +\n", " geom_line() +\n", " scale_x_date(name = \"Date\") +\n", " scale_y_continuous(labels = polloi::compress, name = \"Daily Count\") +\n", " labs(title = \"Daily number of desktop searches\") +\n", " wmf::theme_min() \n", " \n", "search_events_byuser_daily" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Total Number of Logged In and Loggout Out Search Users from Webrequest Sample" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\n", "
A tibble: 2 × 2
logged_intotal_users
<chr><int>
false59139
true 2458
\n" ], "text/latex": [ "A tibble: 2 × 2\n", "\\begin{tabular}{r|ll}\n", " logged\\_in & total\\_users\\\\\n", " & \\\\\n", "\\hline\n", "\t false & 59139\\\\\n", "\t true & 2458\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 2 × 2\n", "\n", "| logged_in <chr> | total_users <int> |\n", "|---|---|\n", "| false | 59139 |\n", "| true | 2458 |\n", "\n" ], "text/plain": [ " logged_in total_users\n", "1 false 59139 \n", "2 true 2458 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#total number of logged in and logged out users from sample\n", "search_events_byuser_total <- search_events_byuser %>%\n", "group_by(logged_in) %>%\n", "summarise(total_users = sum(n_user))\n", "\n", "search_events_byuser_total" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Number of overall users (apporximated by client ip and user client)\n", "query <-\n", "\"SELECT COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user,\n", "logged_in\n", "FROM (\n", "SELECT \n", "client_ip,\n", "user_agent,\n", "IF(x_analytics_map['loggedIn'] = '1', true, false) as logged_in\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE year = 2019 and month = 8\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND webrequest_source = 'text'\n", " AND is_pageview\n", ") as dataset\n", "GROUP BY logged_in\"" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "total_users_August <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "About 1.4% of logged out desktop users and about 2.7% of logged in desktop users use search based on sample from August 2019." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. How many searches do users of search perform per search session?? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Average number of searches per session " ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# query for average search sessions. \n", "query <- \"\n", "SELECT\n", " CONCAT(year,'-',LPAD(month,2,'0'),'-',LPAD(day,2,'0')) as date,\n", " event.searchSessionId as session_id,\n", " sum(if(event.action='searchResultPage',1,0)) as n_search\n", "FROM event.SearchSatisfaction\n", "WHERE year = 2019 and month = 08 and day > 05 -- when events were logged to new schema.\n", "AND useragent.is_bot = FALSE\n", "AND event.action = 'searchResultPage'\n", "group by year, month, day, event.searchSessionId\n", "\"" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "search_events_bysession <- wmf::query_hive(query)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "search_events_bysession$date <- as.Date(search_events_bysession$date, format = \"%Y-%m-%d\")" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 2
dateaverage_search_bysession
<date><dbl>
2019-08-066.789426
2019-08-076.801644
2019-08-086.779381
2019-08-096.781527
2019-08-106.968016
2019-08-116.958233
\n" ], "text/latex": [ "A tibble: 6 × 2\n", "\\begin{tabular}{r|ll}\n", " date & average\\_search\\_bysession\\\\\n", " & \\\\\n", "\\hline\n", "\t 2019-08-06 & 6.789426\\\\\n", "\t 2019-08-07 & 6.801644\\\\\n", "\t 2019-08-08 & 6.779381\\\\\n", "\t 2019-08-09 & 6.781527\\\\\n", "\t 2019-08-10 & 6.968016\\\\\n", "\t 2019-08-11 & 6.958233\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 2\n", "\n", "| date <date> | average_search_bysession <dbl> |\n", "|---|---|\n", "| 2019-08-06 | 6.789426 |\n", "| 2019-08-07 | 6.801644 |\n", "| 2019-08-08 | 6.779381 |\n", "| 2019-08-09 | 6.781527 |\n", "| 2019-08-10 | 6.968016 |\n", "| 2019-08-11 | 6.958233 |\n", "\n" ], "text/plain": [ " date average_search_bysession\n", "1 2019-08-06 6.789426 \n", "2 2019-08-07 6.801644 \n", "3 2019-08-08 6.779381 \n", "4 2019-08-09 6.781527 \n", "5 2019-08-10 6.968016 \n", "6 2019-08-11 6.958233 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Find average and remove sessions with over 40 events\n", "search_events_bysession_average <- search_events_bysession %>%\n", " filter(n_search < 40) %>%\n", " group_by(date) %>%\n", " summarise(average_search_bysession = mean(n_search))\n", "\n", "head(search_events_bysession_average) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are an average of 6.8 searches per search session on desktop looking at all wikipedias. Note. I filtered out sessions with over 50 searches as these are likely bots. " ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nOydB5zURBuH/3sFOHrvXUQB6YKi\nYKGIDVEQRRBFxY6KiiIoIiKCCoqifmLDAlIERURUUFBRsGEDCyKISJPj6B3u8l02W5LJzCaT\n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\nB3xIM2lb/y9/AAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot averaege daily sessions by search since 2019\n", "search_events_bysession_daily_plot <- search_events_bysession_average %>%\n", " ggplot(aes(x=date, y= average_search_bysession)) +\n", " geom_line() +\n", " scale_x_date(name = \"Date\") +\n", " scale_y_continuous(name = \"Average number of searches\") +\n", " labs(title = \"Average daily number of desktop searches by session\") +\n", " wmf::theme_min()\n", "\n", "search_events_bysession_daily_plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Sidebar links\n", "\n", "**Data questions**: \n", "* what percentage of users use links in the sidebar? \n", "* What is the usage for all of the various links?\n", "\n", "**Audiences**: logged-in users, logged-out users\n", "\n", "**Why this is relevant**: we're curious about a more modular design, wherein the main menu is collapsible. It could even act different for different audiences. Knowing how often it gets used, and by whom, will inform our thinking.\n", "\n", "**Data Notes**:\n", "\n", "* Analysis based on sample from webrequest July 2019 desktop data. \n", "* Looking at en.wiki only \n", "* Donate, store and wikidata links currently excluded. Unable to track as they direct to external sites. Need instrumentation.\n", "* Note this is based on views to the pages linked in the sidebar from an internal referrer (within the wiki project). Clicks directly to links in the sidebar are not currently recorded, as a result, some of these views may include clicks from other locations on the website (It seems those views would be minimal though). \n", "\n", "TODO: Look into possible ways to track clicks to store and dontate links" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What is the overall usage for all of the various links?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#overall pageviews for both logged in and logged out users\n", "query <- \n", "\"SELECT \n", "SUM(IF((pageview_info['page_title'] = 'Main_Page'), 1, null)) AS main_page,\n", " SUM(IF((pageview_info['page_title'] = 'Portal:Contents'), 1, null)) AS contents,\n", " SUM(IF((pageview_info['page_title'] = 'Portal:Featured_content'), 1, null)) AS featured_content,\n", " SUM(IF((pageview_info['page_title'] = 'Portal:Current_events'), 1, null)) AS current_events,\n", " SUM(IF((pageview_info['page_title'] = 'Special:Random'), 1, null)) AS random_article,\n", " SUM(IF((pageview_info['page_title'] = 'Help:Contents'), 1, null)) AS help_views,\n", " SUM(IF((pageview_info['page_title'] = 'Wikipedia:About'), 1, null)) AS about_wikipedia,\n", " SUM(IF((pageview_info['page_title'] = 'Wikipedia:Community_portal'), 1, null)) AS community_portal,\n", " SUM(IF((pageview_info['page_title'] = 'Special:RecentChanges'), 1, null)) AS recent_changes,\n", " SUM(IF((pageview_info['page_title']= 'Wikipedia:Contact_us'), 1, null)) AS contact_page,\n", " SUM(IF((pageview_info['page_title'] LIKE 'Special:WhatLinksHere%'), 1, null)) AS what_links_here,\n", " SUM(IF((pageview_info['page_title'] LIKE 'Special:RecentChangesLinked%'), 1, null)) AS related_changes,\n", " SUM(IF((pageview_info['page_title'] = 'Wikipedia:File_Upload_Wizard'), 1, null)) AS file_upload,\n", " SUM(IF((pageview_info['page_title'] = 'Special:SpecialPages'), 1, null)) AS special_pages,\n", " SUM(IF((uri_query LIKE '%&action=info%'), 1, null)) AS page_info,\n", " SUM(IF((pageview_info['page_title'] = 'Special:CiteThisPage'), 1, null)) AS cite_this_page, \n", " SUM(IF((pageview_info['page_title'] = 'Special:Book'), 1, null)) AS create_book,\n", " SUM(IF((pageview_info['page_title'] = 'Special:ElectronPdf'), 1, null)) AS download_as_pdf\n", "FROM wmf.webrequest\n", "WHERE year = 2019 and month = 7\n", " AND agent_type = 'user'\n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND is_pageview\"\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "sidebar_views_overall_raw <- read.csv(file=\"Data/sidebar_views_overall.tsv\", header=TRUE, sep=\"\\t\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\n", "
A data.frame: 1 × 18
main_pagecontentsfeatured_contentcurrent_eventsrandom_articlehelp_viewsabout_wikipediacommunity_portalrecent_changescontact_pagewhat_links_hererelated_changesfile_uploadspecial_pagespage_infocite_this_pagecreate_bookdownload_as_pdf
<int><int><int><int><fct><int><int><int><int><int><int><int><int><int><int><int><int><int>
11068094424594124742741406NULL914651259602378264761232268858435005795639575745432123188242384258355685032
\n" ], "text/latex": [ "A data.frame: 1 × 18\n", "\\begin{tabular}{r|llllllllllllllllll}\n", " main\\_page & contents & featured\\_content & current\\_events & random\\_article & help\\_views & about\\_wikipedia & community\\_portal & recent\\_changes & contact\\_page & what\\_links\\_here & related\\_changes & file\\_upload & special\\_pages & page\\_info & cite\\_this\\_page & create\\_book & download\\_as\\_pdf\\\\\n", " & & & & & & & & & & & & & & & & & \\\\\n", "\\hline\n", "\t 11068094 & 424594 & 124742 & 741406 & NULL & 91465 & 125960 & 237826 & 476123 & 226885 & 843500 & 579563 & 95757 & 45432 & 123188 & 242384 & 258355 & 685032\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 1 × 18\n", "\n", "| main_page <int> | contents <int> | featured_content <int> | current_events <int> | random_article <fct> | help_views <int> | about_wikipedia <int> | community_portal <int> | recent_changes <int> | contact_page <int> | what_links_here <int> | related_changes <int> | file_upload <int> | special_pages <int> | page_info <int> | cite_this_page <int> | create_book <int> | download_as_pdf <int> |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| 11068094 | 424594 | 124742 | 741406 | NULL | 91465 | 125960 | 237826 | 476123 | 226885 | 843500 | 579563 | 95757 | 45432 | 123188 | 242384 | 258355 | 685032 |\n", "\n" ], "text/plain": [ " main_page contents featured_content current_events random_article help_views\n", "1 11068094 424594 124742 741406 NULL 91465 \n", " about_wikipedia community_portal recent_changes contact_page what_links_here\n", "1 125960 237826 476123 226885 843500 \n", " related_changes file_upload special_pages page_info cite_this_page\n", "1 579563 95757 45432 123188 242384 \n", " create_book download_as_pdf\n", "1 258355 685032 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "head(sidebar_views_overall_raw)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Proportion of sidebar views" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 18 × 3
sidebar_linkn_viewsproportion
<chr><int><dbl>
main_page 110680940.675282939
what_links_here 8435000.051463347
current_events 7414060.045234421
download_as_pdf 6850320.041794949
related_changes 5795630.035360109
recent_changes 4761230.029049061
contents 4245940.025905191
create_book 2583550.015762671
cite_this_page 2423840.014788253
community_portal 2378260.014510162
contact_page 2268850.013842634
about_wikipedia 1259600.007685030
featured_content 1247420.007610718
page_info 1231880.007515906
file_upload 957570.005842295
help_views 914650.005580433
special_pages 454320.002771882
random_article 00.000000000
\n" ], "text/latex": [ "A data.frame: 18 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t main\\_page & 11068094 & 0.675282939\\\\\n", "\t what\\_links\\_here & 843500 & 0.051463347\\\\\n", "\t current\\_events & 741406 & 0.045234421\\\\\n", "\t download\\_as\\_pdf & 685032 & 0.041794949\\\\\n", "\t related\\_changes & 579563 & 0.035360109\\\\\n", "\t recent\\_changes & 476123 & 0.029049061\\\\\n", "\t contents & 424594 & 0.025905191\\\\\n", "\t create\\_book & 258355 & 0.015762671\\\\\n", "\t cite\\_this\\_page & 242384 & 0.014788253\\\\\n", "\t community\\_portal & 237826 & 0.014510162\\\\\n", "\t contact\\_page & 226885 & 0.013842634\\\\\n", "\t about\\_wikipedia & 125960 & 0.007685030\\\\\n", "\t featured\\_content & 124742 & 0.007610718\\\\\n", "\t page\\_info & 123188 & 0.007515906\\\\\n", "\t file\\_upload & 95757 & 0.005842295\\\\\n", "\t help\\_views & 91465 & 0.005580433\\\\\n", "\t special\\_pages & 45432 & 0.002771882\\\\\n", "\t random\\_article & 0 & 0.000000000\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 18 × 3\n", "\n", "| sidebar_link <chr> | n_views <int> | proportion <dbl> |\n", "|---|---|---|\n", "| main_page | 11068094 | 0.675282939 |\n", "| what_links_here | 843500 | 0.051463347 |\n", "| current_events | 741406 | 0.045234421 |\n", "| download_as_pdf | 685032 | 0.041794949 |\n", "| related_changes | 579563 | 0.035360109 |\n", "| recent_changes | 476123 | 0.029049061 |\n", "| contents | 424594 | 0.025905191 |\n", "| create_book | 258355 | 0.015762671 |\n", "| cite_this_page | 242384 | 0.014788253 |\n", "| community_portal | 237826 | 0.014510162 |\n", "| contact_page | 226885 | 0.013842634 |\n", "| about_wikipedia | 125960 | 0.007685030 |\n", "| featured_content | 124742 | 0.007610718 |\n", "| page_info | 123188 | 0.007515906 |\n", "| file_upload | 95757 | 0.005842295 |\n", "| help_views | 91465 | 0.005580433 |\n", "| special_pages | 45432 | 0.002771882 |\n", "| random_article | 0 | 0.000000000 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion \n", "1 main_page 11068094 0.675282939\n", "2 what_links_here 843500 0.051463347\n", "3 current_events 741406 0.045234421\n", "4 download_as_pdf 685032 0.041794949\n", "5 related_changes 579563 0.035360109\n", "6 recent_changes 476123 0.029049061\n", "7 contents 424594 0.025905191\n", "8 create_book 258355 0.015762671\n", "9 cite_this_page 242384 0.014788253\n", "10 community_portal 237826 0.014510162\n", "11 contact_page 226885 0.013842634\n", "12 about_wikipedia 125960 0.007685030\n", "13 featured_content 124742 0.007610718\n", "14 page_info 123188 0.007515906\n", "15 file_upload 95757 0.005842295\n", "16 help_views 91465 0.005580433\n", "17 special_pages 45432 0.002771882\n", "18 random_article 0 0.000000000" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views\n", "\n", "sidebar_views_overall <- sidebar_views_overall_raw %>%\n", " gather(sidebar_link, n_views) %>%\n", " mutate(proportion = (n_views / sum(n_views))) %>%\n", " arrange(desc(n_views))\n", "\n", "sidebar_views_overall\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzde3wU9b3/8e9mc4WEGAhswiUJCSAtKLcCWgUFFbBUEKFCKVdbgRIvULz9\ntKJR6uV4JFxS2gJaELxxOyieAHIpEgtWUEygAioENoHcIJB7Ntnd+f0x5+wjJ7vJzCa7s/D1\n9fyDBzuZme9nZue7+97vzM6aFEURAAAAuP4FBboAAAAA+AbBDgAAQBIEOwAAAEkQ7AAAACRB\nsAMAAJAEwQ4AAEASBDsAAABJEOygzdRAeHi4xWK57bbbFi1adPz4cf815481+9v1W7lX3Dez\nxRvujz1m2LOgs6GW1SPfsWRqmr8bbX6Kt2vQIyEhwWQynTx5suHEcePGqWsbPXp0w+n//ve/\nTSZTUlJSK8s2/pjx4UsBfIhgB+/YbLbi4uJDhw4tXbr05ptvnjNnjs1mM74MXj68wu4CjDRs\n2DAhRFZWlmuKoiiHDh1S///FF184nU7Xn9TZ1EWA1iPYQS9FURRFsdvtJSUl+/fv/93vfmc2\nm9esWTNnzpxAl3atUHdRoKsIgGtqww0r5pra6uuF4onxBfi7Ffdgd+rUqcuXL3fu3Ll79+7l\n5eUNT3ccPHhQ/N9g17Iir4UD8lqoAQQ7eMdsNsfGxo4YMWLNmjWffPJJcHDwO++888UXXwS6\nLgC4VrgHu88//1wIcfvtt992221CiH/+85+uPzFiB98i2KHlxowZow7X/f3vf284/b//+79H\njx7dvn37sLCwHj16PPXUU2VlZQ1n+PDDD0eMGBEfHx8aGtq5c+dJkybt3bu3qVZqa2t//etf\nm0ym4ODgjIwMIYTrrKL7ZTpOp/Ovf/3r4MGDIyMj27ZtO2TIkL/97W+NPkGq89vt9pdeeikl\nJSU8PLxHjx4vv/xyXV1dUzUMGDDAZDJt2bKl0fRNmzaZTKaBAwc2XHOjeZrfG8nJySaTKScn\nR31os9nCwsJMJlPXrl1d8+Tk5JhMppSUlJbtwFbuLj2autTG4XAsWbIkKSkpLCysT58+77//\nfvPrcX+uvd1YHxaj2bR7Q3V1dS+//LJ6UKWkpCxZssRut3tcs2YfUWkepZ9//vn06dO7du0a\nEhJisVimTJny3XffedwhNTU1jz76qMViaeakvP7u04KdqZPO9dtsthdffDE5Odm1qx0OR8su\nRNNzgHm7vT/96U/bt29//vz5vLw8dYqa5FzBTs15Qohz587l5+fHxsb27t27mSIb8dhTmjry\n9bzWaR6QOo9t9xr0HKLwMY8D40BDzRwq6mfNvn37uqY8//zz7odZnz59ysrK1BkWL17c/KHY\n8GFRUdGtt94qhIiKisrMzGw4g8fFp06d6v6n6dOnu2/O9OnTG802fvz4pvbAypUrhRBjxoxp\nNF29CDojI6OpHaW5N373u98JIVasWKE+dL3cCyG+++47deJf/vIXIcScOXN07sBGWrm7mlqh\nnikPPfRQo5Xv3LmzqQU9PtfebmxrimnEqwNVURSn0zl+/Hj3nelej+ZRoeg+St3XExMTc/bs\nWfd5Jk6cqLn39Hcfb3em++5qfrbm1+90OseOHdtohhkzZrg3oTlF57Pcgu297777hBDvvvuu\n+lD9YPbVV1+pn+ISEhLU6evXrxdC3H///frL9thTmllK8yjSPCD1H9tNTWnI/RCFbxHsoM29\nr7qUlpaqHVV9uGfPHiFEly5dNm3aVFJSUl1dfejQocGDBwshnn76aXWeDh06CCEWLlx47ty5\nurq6y5cv79ixY9SoUe7NnThxQv2mWGJi4vHjxzVLeu+994QQYWFh6enpBQUFFy9e/M///M+Q\nkBAhxIcfftho2bCwsGXLlhUWFhYUFCxbtiwsLEwI8d577zW1mWFhYUFBQXl5ea6JeXl5QUFB\nYWFhpaWlHqvSszc++OADIcSkSZPUh//xH/8hhBgzZowQ4q9//as6UX0B3bRpk84d6K41u0vP\n2pqaEhsb++GHH169evXs2bMjR44UQowePdrjgk091z7ZWJ3FNKL/QFW9++67jY6rpUuXhoaG\ntuCoUHQfpffee+/OnTuvXr1aXV199OhRdbsefvhh981v3779li1bysvLm9per7qPtztT8fQG\n7+I+W/Prf+edd4QQERERGRkZhYWFhYWFK1euDA8P139kuh7qfJZbsL1qX543b56iKIWFhUKI\nqKgou93ucDiio6OFEOqLifrR7s0339RZtlevinqOIj0HpM5j22MNeg5R+BbBDtrc+6pLfX29\nECI4OFh9qH6qO3jwYMN5zpw5I4To2bOn+rB9+/ZCiE8++aS+vr6Z5nbt2tWuXTshxNChQwsL\nC/WUdPfddwsh0tLSGk784x//KIS45557Gi370ksvNZwtLS1NCHH33Xd7LElRlClTpgghXn75\nZdeUl156SQjx61//uqmq9OyNkpISk8lksVjUh/fff78QIjs722QyTZ48WZ2onq69dOmS+lBz\nB7prze7Ss7ampriGKxRFUQcqOnTo4D5bM8+1TzZWZzGN6DxQXQ/V/dnouHINCLmm6DkqlJYe\npQUFBUKI7t27u9e5Zs2aZjZW8bL7eLszFS+DXfPrv+uuu4QQr776asMFX375Zf1Hpuuhzme5\nBdt7+PBhIUSfPn0URVGv4nDtRvWT2wcffKAoyo033iiE+PLLL/WU7e2rop6jSM8BqfPY9lhD\nIx4PUfgWwQ7amumrjUbsOnXqJIQwm81mszkoKCgoKMh1vUVoaKg6T2pqqjqlTZs2w4YNS0tL\nazgM5mrObDYLISZPnlxTU6OzJPU1+syZMw0nfv/990KI2NjYRss2mu2HH35o/sX6008/FUIk\nJyc7nU5FUZxOZ3JyshBiz549TVWlZ28oitK/f38hxKlTpxRFsVgs6nntQYMGderUSfnfz/oD\nBw50za+5A327u/Ssrakply9fdk1Rb4sTFBTkPlszz7VPNlZnMd423aghj/tTPa5acFToPEr3\n7t173333xcXFBQcHi/8VFhbmXmd+fn4zG9tU/U11H293pqLjLV//+tVSG53OU7OIziPT9VDn\ns9yC7a2rq2vTpo36kWzhwoVCiBdffFH9k5pBH3nkkaKiIiFE27ZtG8XKpsr29lVRz1Gk54DU\neWx7rEHPIQrfIthBWzOvyOoX9W+66Sb1YcOu606dp76+Xr0Hnmt6mzZtDhw40Kg5lev8o56S\n1Fe9Ri951dXVosGYomtZzdkacTqdiYmJQoj9+/crirJv3z4hRFJSkprzPFalZ28oivLEE08I\nIVavXq2+UC5YsEBRlOeee04IceLEia1btwohnnrqKdf8mjvQt7tLz9r0TGlmtmaea59srM5i\nvG260Rqa2Z8tOCrUh80/Ox9++GFTl9i7b6nD4WhmY5uv3737NFpWc2fqnEfn+nXuao9razTF\n22fZq2258847hRAfffSRemZz79696vT9+/cLIQYMGKCO5LkPwTZVtkr/q6Keo0jPAdniHa7z\nEIVvsXOhrZl++Pvf/17873UkiqLExsYKtw92TSkpKdm6deuIESOEEIMHD27U3GOPPSaEMJvN\nGzdu1FlSMx8rGw5yqMt6O2KnKMoLL7wghJg2bZqiKL/5zW9Eg4/gHqvSuTd27dqlrla9cuiT\n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\n/Vk3gZD/nGhPP/00+9B8T7Ti4uKioqLRo0cbvB3QdurUKUdHx+HDh7MPffv27WvXrg0fPtzV\n1ZV99JycnJaWltGjR7MPXV9ff+HCBV4nWn5+fkVFBZcTra2t7fjx4+Y60dRqo/kb68Ru4MCB\nBQUFgYGBhJBffvll4EADzZmmX7Nz584ePXq88MILhJDy8nJx4J1Go5FeoFKphg4davYtV6vV\nVlZWzs7OZv+f22VlZUUIsbW15RJd7Mh2dnbmktiJG8Blx2/fvk0IcXJycnR0ZB/dyspKrVZz\n2fHGxkZCiIODA5foarW6paWFS2jxCOd+orEPLRYW4HWiVVZWEkKcnJwcHBzYR1epVLxOtHv3\n7hGuJ1pbWxuX0CI7O7vudqK1trYSQnr27Ek7OutyJ88888zWrVsrKioqKiq2bt367LPPSn+a\nPHlyu6+5cePG7t2733jjDfESLA68y83NFQfeAQAAAHRnrFvs/uu//quiomL+/Pniv5977rmO\nv6atrW316tXR0dF9+/YVfzNz5kxp4B2jHQAAAACwVKwTO5VKFRMTExMTo/+ntLQ006+xtrZe\ns2aN/DfSwDsAAAAAYN0VCwAAAACUILEDAAAAUAgkdgAAAAAKgcQOAAAAQCGQ2AEAAAAoBBI7\nAAAAAIVAYgcAAACgEEjsAAAAABQCiR0AAACAQiCxAwAAAFAIJHYAAAAACoHEDgAAAEAhkNgB\nAAAAKAQSOwAAAACFQGIHAAAAoBBI7AAAAAAUAokdAAAAgEIgsQMAAABQCCR2AAAAAAqBxA4A\nAABAIZDYAQAAACgEEjsAAAAAhUBiBwAAAKAQSOwAAAAAFAKJHQAAAIBCILHrqIyMjF27dnEJ\nXV1dnZKScvnyZS7RT5w4kZKSIggC+9Ctra0pKSknTpxgH5oQcvny5ZSUlDt37nCJ/t133/30\n009cQhcVFaWkpBQXF3OJnpGRsXv3bi6hq6qqUlJSrl69yiX6sWPHeJ1oLS0tKSkpp06dYh+a\nEHLp0qWUlJTa2lou0TmeaNevX09JSSktLeUSff/+/d9//z2X0OKJduXKFS7Rjx49+u2333IJ\nff/+/ZSUlNOnT9MOhMSuo8rKym7cuMEldGtra35+fl1dHZfoVVVV+fn5XO43hJD8/Pzq6mou\noe/evZufn9/a2solelFRkUaj4RL63r17+fn5jY2NXKKXlpbyOtFaWlry8/N5ZRi3b9/Oz8/n\n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\nyrG/y3KcjHXw4MHc3Fzx30lJSWlpadnZ2XPnzo2KiqI3tkxiIee4wPxLP3bsWExMTHp6enFx\nsfgb9kcdx7kafKfB8Y0ucMrj0RX7Gx9++OHbb7/99NNP+/n5jR07VpwFPXr0aAadYiIrK6tf\nf/21srLSz89P/E1JSYm1tfVPP/00bNiwPn36UIorVtbZvHmzvAqxWq0eP358c3NzcHDwU089\nRSm0iNeOnzt3bv369bNmzRo5cuT69evd3d1fffXV1atXV1ZWbt261d7eXqp6Q49KpcrLy6up\nqZH2vbi4+MaNGxMmTKAXlOOOnzhxIjEx8cknn1SpVF9//XXv3r2HDh3KrCNSp0Yo+/rbXMY5\niG7fvr1hw4Zr164NHTp0yJAh4gSRSZMmeXp6Ojk5mb3Mhw4LOcdtbGykSzqNL12r1V67dk1e\nxP7jjz+eO3fuU0891atXL/E30lFH9Z5y6NChn3/+WSx2XVBQcPny5W3bts2fPz8gIKC0tDQ1\nNTUiIkKlUtGOzjE04bHj3K8whKAr9rdMFB1g1n4rtV40NzcXFxeLrRfp6ekffPABpYjStB1e\ntR5E7Hec49h5nakSjAdxc9zxsrKyN998Uz5VIioqqrCwUPyRdkeksRqhLOv4iFiOc5BrbW1N\nS0uLj4/ftWvX8uXLMzMz2cQVMTjH29raxPkoImOHukDtS9epliUIQmhoaHV1tfRjRUWF2CdL\n9Z7CcZKKwHX+H98dt5ArDFrsfkPngbK4uNjGxsbNzc3X15feIG6dxcrs7OzGjx+/d+/epKSk\nAwcOhIaGTpw4sbGxMTMz88UXXzR7dI1Gs2nTpoSEBE9PT/HZgll7Fd8d5zh2Xn+qxOOPP85s\nEDfHHZdGE8unSgiCkJOT88QTTxBCrKysKIUWLV++fN68eWPGjNFqtdnZ2UFBQfb29ra2ti4u\nLkFBQR4eHvRC6yxdxWwyFvltE4K7u7uvr+8zzzxz+vTpkydPFhUVTZo0iV5o8tvTfODAgbTP\n8Vu3bu3cuXPs2LEqlcrEod6jR4/Ro0fT+NIdHR3HjRunUqk0Go2TkxMhJD8/v6qqasSIEeIL\nLly4kJOT4+fnR++ewneSCsdpcHx3nHC9wvwGm/yxq2A/1sfEYmWNjY1iA0ZTU9OiRYv++c9/\nmj26WNIlNDRUvuINg2YbgfeOi7iMnReMT5UQ6A/iFvHacSm0zlSJFStW0I4rYjDgRn/xKMHI\n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\nxtj9LuXl5evXr8/JyXF0dAwPD2c2gB0AAABAHxI7MxAEQaVS8d4KAAAA6O6Q2AEAAAAoBMbY\nAQAAACgEEjsAAAAAhUBiBwAAAKAQSOwAAAAAFAKJHQAAAIBCILEDAKVRqVQmKhCZ/uvvefHv\npBPrQUOz3FQAsFhI7AAAAAAUgsMK4gAAVCmjPKcy9gIAGEOLHQAAAIBCILEDgC6prq7u7bff\n9vHxsbe3d3Z2fu6553744QfxTzqjzXbv3u3r6+vg4DBp0qTKykqd/+fOnTvi/9OzZ09XV9eQ\nkJCff/5Z5zW3bt16/vnn7e3tfX19v//+e+n3RUVFc+bMcXd379Wr18iRI5OSkrRarfRXcTOu\nX78+duxYtfqBu0cMDrm7d+9efHy8s7Ozm5vb/PnzW1tbDb739OnTTk5Orq6u58+ff9C4ANC1\nCQAAXdCUKVMIIR988EFlZWVTU9OpU6eCg4PFP8kvbhcuXLC2th4yZEheXt7PP//8t7/9Tf7X\n27dvDxkyxMnJKSUl5e7du6dOnRo8eLCzs3NeXp78v5ozZ05eXl5eXt6QIUOsra0vXrwoCEJR\nUdGoUaMOHjx4796969evv/rqq4SQFStWSFsovnf69OlXr17ds2dPu3ukc002+OObb7556tSp\nysrKyZMnE0LWrFmj//qrV6+6ubm5uLicPXu2Ux8tAHRhSOwAoEtycnIihBw9elT/T/KUKCws\njBCyY8cO8cdt27bJ/zp37lxCyGeffSa9d/fu3YSQsLAw+X8lvX379u3yv8pVV1cTQnx9fXU2\nIzU1tYN71JHETvrfxKY4f39/nRfcuHFjwIABzs7Op0+f7mBcAFASlYDxuQDQBQUFBWVmZhJC\nXnjhhdDQ0JdeesnV1VX8k9iDKV7cBg8eXFRUVF5e7uHhQQgpLy9/6KGHpL8OHDiwuLg4Pz/f\nx8dHfG9NTY2rq6u7u/utW7ek/0p6e0VFRb9+/QYPHvzrr7+2tbWtXr363//+d35+/r1798S3\nq9XqlpYW+WZoNJp+/fp1ZI/km23sx4qKir59+xJCGhoaHB0de/XqdffuXfkLfH19NRpNRkbG\nk08+2anPFQC6NoyxA4Au6X//939nz57dr1+/H3/8MSYmZtCgQdIYOzmNRkMIkXI+6R+i8vJy\nQsjQoUPVarW1tbWVlZX4gtu3b8tfJr2rd+/e0v/51ltvvfXWW0OHDs3JyWlubm5ubiaE6A96\n69Onjxn29j/c3d3Ffzg4OBBCamtrdV5w8+bN+/fv19TUmDEoAHQhSOwAoEtyd3dPTk7WaDTn\nzp0LCwurr69/44039F8mts9JiY5OxiPmSb/++mtra2tbW5tWqxX7MuRzIPTfLv6f33zzDSFk\nzZo13t7eNjY2paWlBrezE9MmTGi3BPGePXtUKtXLL7+8f/9+M8YFgK4CiR0AdG0BAQH/+Mc/\nCCEGUyuxR/Lo0aPij9nZ2fK/hoSEEEK2bt1qOoT0dvEf4v8pdpLa2NiIf5LPluXo2WefTUtL\nI4QgtwPonpDYAUCX9Pzzz2dkZDQ0NNTW1iYlJRFCgoKC9F/2zjvvWFtbv/fee/n5+fn5+UeO\nHJH/dcmSJSNHjly8ePGHH354/fr1+/fvl5eXp6amPvPMM/KXZWdni29///33ra2tFy5cKG4A\nIWTp0qV1dXUHDhzIzc2luLcP4k9/+pOYZSK3A+iOeM3aAAD4PTIzM0NCQtzc3Gxtbb29vRcu\nXHjnzh3xTzoXt507d/r4+Nja2v7lL3+pqKjQ+WtjY+OKFStGjx7t6OioVqsHDRo0ffr0M2fO\nyP8rjUbz3HPP2dra+vj47Ny5U/xTVVVVRESEq6uri4tLbGxsXV2dzv/8oNdY02/X/99MvyA9\nPb1nz562trbp6ekd3wYA6OowKxYAAABAIdAVCwAAAKAQSOwAAAAAFMKc8/ABAMAYE5VKMCQG\nAMwFY+wAAAAAFAJdsQAAAAAKgcQOAAAAQCGQ2AEAAAAoBBI7AAAAAIVAYgcAAACgEEjsAAAA\nABQCiR0AAACAQvx/pO8P853LCckAAAAASUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#plot bar chart showing usage\n", "\n", "p <- ggplot(sidebar_views_overall, aes(x= sidebar_link, y= proportion, fill = sidebar_link)) %>%\n", "+ geom_col(position = 'dodge') +\n", "scale_y_continuous(\"Proportion of sidebar views\", labels = scales::percent) +\n", " labs(title = \"Desktop views to links in sidebar on English Wikipedia\") +\n", " ggthemes::theme_tufte(base_size = 10, base_family = \"Gill Sans\") +\n", " theme(axis.text.x=element_text(angle = 45, hjust = 1),\n", " plot.title = element_text(hjust = 0.5),\n", " panel.grid = element_line(\"gray70\"),\n", " legend.position= \"none\")\n", "\n", "ggsave(\"Figures/proportion_sidebar_views.png\", p, width = 18, height = 9, units = \"in\", dpi = 150)\n", "p\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The main page is by far the most viewed sidebar linked page on desktop (about 68% of all users views to a sidebar linked page are to the main page) followed by the what_links_here, current_events pages and download as pdf. This is for both logged in and logged out users.\n", "\n", "Note: Random Article is recording very few events. This may be due to a bug in how it's recorded. I'll need to investigate further" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What percentage of users use links in the sidebar?" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "#estimate of all unique users on desktop in Jul 2019 (both logged in and logged out)\n", "\n", "query <- \n", "\"SELECT COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user,\n", "logged_in\n", "FROM (\n", "SELECT \n", "client_ip,\n", "user_agent,\n", "IF(x_analytics_map['loggedIn'] = '1', true, false) as logged_in\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE year = 2019 and month = 7\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND is_pageview\n", " AND webrequest_source = 'text'\n", " AND pageview_info['project'] = 'en.wikipedia'\n", ") as dataset\n", "GROUP BY logged_in\"" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "unique_users_count <- read.csv(file=\"Data/unique_users_count.tsv\", header=TRUE, sep=\"\\t\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## users who view sidebar linked page broken down by logged in status\n", "query <- \n", "\"SELECT COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user_sidebar,\n", "logged_in\n", "FROM (\n", "SELECT \n", "client_ip,\n", "user_agent,\n", "IF(x_analytics_map['loggedIn'] = '1', true, false) as logged_in\n", "FROM wmf.webrequest\n", "WHERE year = 2019 and month = 7\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND is_pageview\n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND (pageview_info['page_title'] IN ('Main_Page', 'Portal:Contents', 'Portal:Featured_content', 'Portal:Current_events',\n", " 'Special:Random', 'Help:Contents', 'Wikipedia:About', 'Wikipedia:Community_portal', 'Special:RecentChanges', 'Wikipedia:Contact_us',\n", " 'Wikipedia:File_Upload_Wizard', 'Special:SpecialPages', 'Special:CiteThisPage', 'Special:Book', 'Special:ElectronPdf') OR\n", " pageview_info['page_title'] LIKE '%Special:WhatLinksHere%' OR \n", " pageview_info['page_title'] LIKE '%Special:RecentChangesLinked%' OR \n", " uri_query LIKE '%&action=info%')\n", ") as dataset\n", "GROUP BY logged_in\"" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "sidebar_views_user_overall_raw <- read.csv(file=\"Data/sidebar_views_user_overall.tsv\", header=TRUE, sep=\"\\t\")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 3 × 4
logged_inn_user_sidebarn_user_alluser_pct
<fct><int><int><dbl>
NA NA NA
false1173220384980.5755218
true 731 443451.6484384
\n" ], "text/latex": [ "A data.frame: 3 × 4\n", "\\begin{tabular}{r|llll}\n", " logged\\_in & n\\_user\\_sidebar & n\\_user\\_all & user\\_pct\\\\\n", " & & & \\\\\n", "\\hline\n", "\t & NA & NA & NA\\\\\n", "\t false & 11732 & 2038498 & 0.5755218\\\\\n", "\t true & 731 & 44345 & 1.6484384\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 3 × 4\n", "\n", "| logged_in <fct> | n_user_sidebar <int> | n_user_all <int> | user_pct <dbl> |\n", "|---|---|---|---|\n", "| | NA | NA | NA |\n", "| false | 11732 | 2038498 | 0.5755218 |\n", "| true | 731 | 44345 | 1.6484384 |\n", "\n" ], "text/plain": [ " logged_in n_user_sidebar n_user_all user_pct \n", "1 NA NA NA\n", "2 false 11732 2038498 0.5755218\n", "3 true 731 44345 1.6484384" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sidebar_views_user_overall <- merge(sidebar_views_user_overall_raw, unique_users_count, by = \"logged_in\", all = TRUE)\n", "\n", "sidebar_views_byusertype <- sidebar_views_user_overall %>%\n", "mutate(user_pct = (n_user_sidebar/n_user_all) * 100)\n", "\n", "sidebar_views_byusertype" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at sample data from July 2019, about 0.5% of logged out users and 1.6% of logged in desktop users clicked on one of the pages located in the sidebar. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Obtain user clicks to each sidebar linked page\n", "#ran in terminal due to issues running over notebook. \n", "\n", "query <-\n", "\"\n", "SELECT \n", " COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user,\n", " logged_in,\n", " sidebar_name\n", "FROM (\n", " SELECT \n", " client_ip,\n", " user_agent,\n", " IF(x_analytics_map['loggedIn'] = '1', true, false) as logged_in,\n", " (CASE\n", " WHEN uri_query LIKE '%&action=info%' THEN 'PageInformation' \n", " WHEN pageview_info['page_title'] LIKE '%Special:WhatLinksHere%' THEN 'WhatLinksHere' \n", " WHEN pageview_info['page_title'] LIKE '%Special:RecentChangesLinked%' THEN 'RelatedChanges' \n", " ELSE pageview_info['page_title'] \n", " END) as sidebar_name\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE\n", "year = 2019 and month = 7 \n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND is_pageview\n", " AND webrequest_source = 'text'\n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND (pageview_info['page_title'] IN ('Main_Page', 'Portal:Contents', 'Portal:Featured_content', 'Portal:Current_events',\n", " 'Special:Random', 'Help:Contents', 'Wikipedia:About', 'Wikipedia:Community_portal', 'Special:RecentChanges', 'Wikipedia:Contact_us',\n", " 'Wikipedia:File_Upload_Wizard', 'Special:SpecialPages', 'Special:CiteThisPage', 'Special:Book', 'Special:ElectronPdf') OR\n", " pageview_info['page_title'] LIKE '%Special:WhatLinksHere%' OR \n", " pageview_info['page_title'] LIKE '%Special:RecentChangesLinked%' OR \n", " pageview_info['page_title'] LIKE '%Special:RecentChangesLinked%' OR \n", " uri_query LIKE '%&action=info%')\n", ") AS page_info\n", "Group BY sidebar_name, logged_in\n", "\"" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "sidebar_views_user_byfeature_raw <- read.csv(file=\"Data/sidebar_views_users_byfeature.tsv\", header=TRUE, sep= \"\\t\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Percent of users that view each sidebar link" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 34 × 4
n_user_sidebarlogged_insidebar_namepercent_all_users
<int><fct><fct><dbl>
442true Main_Page 0.996730184
9312falseMain_Page 0.456806924
81true WhatLinksHere 0.182658699
51true Portal:Current_events 0.115007329
44true Special:RecentChanges 0.099222009
29true Wikipedia:File_Upload_Wizard0.065396324
17true PageInformation 0.038335776
16true Special:ElectronPdf 0.036080731
12true RelatedChanges 0.027060548
12true Portal:Contents 0.027060548
541falseSpecial:ElectronPdf 0.026539148
527falsePortal:Current_events 0.025852368
11true Wikipedia:Community_portal 0.024805502
314falseWhatLinksHere 0.015403498
6true Special:Book 0.013530274
238falseSpecial:RecentChanges 0.011675263
234falseRelatedChanges 0.011479040
5true Special:SpecialPages 0.011275228
159falsePortal:Contents 0.007799860
3true Special:CiteThisPage 0.006765137
3true Wikipedia:About 0.006765137
131falseSpecial:CiteThisPage 0.006426300
122falseSpecial:Book 0.005984799
96falseWikipedia:Contact_us 0.004709350
2true Portal:Featured_content 0.004510091
2true Help:Contents 0.004510091
91falsePortal:Featured_content 0.004464071
87falsePageInformation 0.004267848
86falseWikipedia:About 0.004218792
82falseWikipedia:Community_portal 0.004022570
56falseWikipedia:File_Upload_Wizard0.002747121
49falseHelp:Contents 0.002403731
1true Wikipedia:Contact_us 0.002255046
29falseSpecial:SpecialPages 0.001422616
\n" ], "text/latex": [ "A data.frame: 34 × 4\n", "\\begin{tabular}{r|llll}\n", " n\\_user\\_sidebar & logged\\_in & sidebar\\_name & percent\\_all\\_users\\\\\n", " & & & \\\\\n", "\\hline\n", "\t 442 & true & Main\\_Page & 0.996730184\\\\\n", "\t 9312 & false & Main\\_Page & 0.456806924\\\\\n", "\t 81 & true & WhatLinksHere & 0.182658699\\\\\n", "\t 51 & true & Portal:Current\\_events & 0.115007329\\\\\n", "\t 44 & true & Special:RecentChanges & 0.099222009\\\\\n", "\t 29 & true & Wikipedia:File\\_Upload\\_Wizard & 0.065396324\\\\\n", "\t 17 & true & PageInformation & 0.038335776\\\\\n", "\t 16 & true & Special:ElectronPdf & 0.036080731\\\\\n", "\t 12 & true & RelatedChanges & 0.027060548\\\\\n", "\t 12 & true & Portal:Contents & 0.027060548\\\\\n", "\t 541 & false & Special:ElectronPdf & 0.026539148\\\\\n", "\t 527 & false & Portal:Current\\_events & 0.025852368\\\\\n", "\t 11 & true & Wikipedia:Community\\_portal & 0.024805502\\\\\n", "\t 314 & false & WhatLinksHere & 0.015403498\\\\\n", "\t 6 & true & Special:Book & 0.013530274\\\\\n", "\t 238 & false & Special:RecentChanges & 0.011675263\\\\\n", "\t 234 & false & RelatedChanges & 0.011479040\\\\\n", "\t 5 & true & Special:SpecialPages & 0.011275228\\\\\n", "\t 159 & false & Portal:Contents & 0.007799860\\\\\n", "\t 3 & true & Special:CiteThisPage & 0.006765137\\\\\n", "\t 3 & true & Wikipedia:About & 0.006765137\\\\\n", "\t 131 & false & Special:CiteThisPage & 0.006426300\\\\\n", "\t 122 & false & Special:Book & 0.005984799\\\\\n", "\t 96 & false & Wikipedia:Contact\\_us & 0.004709350\\\\\n", "\t 2 & true & Portal:Featured\\_content & 0.004510091\\\\\n", "\t 2 & true & Help:Contents & 0.004510091\\\\\n", "\t 91 & false & Portal:Featured\\_content & 0.004464071\\\\\n", "\t 87 & false & PageInformation & 0.004267848\\\\\n", "\t 86 & false & Wikipedia:About & 0.004218792\\\\\n", "\t 82 & false & Wikipedia:Community\\_portal & 0.004022570\\\\\n", "\t 56 & false & Wikipedia:File\\_Upload\\_Wizard & 0.002747121\\\\\n", "\t 49 & false & Help:Contents & 0.002403731\\\\\n", "\t 1 & true & Wikipedia:Contact\\_us & 0.002255046\\\\\n", "\t 29 & false & Special:SpecialPages & 0.001422616\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 34 × 4\n", "\n", "| n_user_sidebar <int> | logged_in <fct> | sidebar_name <fct> | percent_all_users <dbl> |\n", "|---|---|---|---|\n", "| 442 | true | Main_Page | 0.996730184 |\n", "| 9312 | false | Main_Page | 0.456806924 |\n", "| 81 | true | WhatLinksHere | 0.182658699 |\n", "| 51 | true | Portal:Current_events | 0.115007329 |\n", "| 44 | true | Special:RecentChanges | 0.099222009 |\n", "| 29 | true | Wikipedia:File_Upload_Wizard | 0.065396324 |\n", "| 17 | true | PageInformation | 0.038335776 |\n", "| 16 | true | Special:ElectronPdf | 0.036080731 |\n", "| 12 | true | RelatedChanges | 0.027060548 |\n", "| 12 | true | Portal:Contents | 0.027060548 |\n", "| 541 | false | Special:ElectronPdf | 0.026539148 |\n", "| 527 | false | Portal:Current_events | 0.025852368 |\n", "| 11 | true | Wikipedia:Community_portal | 0.024805502 |\n", "| 314 | false | WhatLinksHere | 0.015403498 |\n", "| 6 | true | Special:Book | 0.013530274 |\n", "| 238 | false | Special:RecentChanges | 0.011675263 |\n", "| 234 | false | RelatedChanges | 0.011479040 |\n", "| 5 | true | Special:SpecialPages | 0.011275228 |\n", "| 159 | false | Portal:Contents | 0.007799860 |\n", "| 3 | true | Special:CiteThisPage | 0.006765137 |\n", "| 3 | true | Wikipedia:About | 0.006765137 |\n", "| 131 | false | Special:CiteThisPage | 0.006426300 |\n", "| 122 | false | Special:Book | 0.005984799 |\n", "| 96 | false | Wikipedia:Contact_us | 0.004709350 |\n", "| 2 | true | Portal:Featured_content | 0.004510091 |\n", "| 2 | true | Help:Contents | 0.004510091 |\n", "| 91 | false | Portal:Featured_content | 0.004464071 |\n", "| 87 | false | PageInformation | 0.004267848 |\n", "| 86 | false | Wikipedia:About | 0.004218792 |\n", "| 82 | false | Wikipedia:Community_portal | 0.004022570 |\n", "| 56 | false | Wikipedia:File_Upload_Wizard | 0.002747121 |\n", "| 49 | false | Help:Contents | 0.002403731 |\n", "| 1 | true | Wikipedia:Contact_us | 0.002255046 |\n", "| 29 | false | Special:SpecialPages | 0.001422616 |\n", "\n" ], "text/plain": [ " n_user_sidebar logged_in sidebar_name percent_all_users\n", "1 442 true Main_Page 0.996730184 \n", "2 9312 false Main_Page 0.456806924 \n", "3 81 true WhatLinksHere 0.182658699 \n", "4 51 true Portal:Current_events 0.115007329 \n", "5 44 true Special:RecentChanges 0.099222009 \n", "6 29 true Wikipedia:File_Upload_Wizard 0.065396324 \n", "7 17 true PageInformation 0.038335776 \n", "8 16 true Special:ElectronPdf 0.036080731 \n", "9 12 true RelatedChanges 0.027060548 \n", "10 12 true Portal:Contents 0.027060548 \n", "11 541 false Special:ElectronPdf 0.026539148 \n", "12 527 false Portal:Current_events 0.025852368 \n", "13 11 true Wikipedia:Community_portal 0.024805502 \n", "14 314 false WhatLinksHere 0.015403498 \n", "15 6 true Special:Book 0.013530274 \n", "16 238 false Special:RecentChanges 0.011675263 \n", "17 234 false RelatedChanges 0.011479040 \n", "18 5 true Special:SpecialPages 0.011275228 \n", "19 159 false Portal:Contents 0.007799860 \n", "20 3 true Special:CiteThisPage 0.006765137 \n", "21 3 true Wikipedia:About 0.006765137 \n", "22 131 false Special:CiteThisPage 0.006426300 \n", "23 122 false Special:Book 0.005984799 \n", "24 96 false Wikipedia:Contact_us 0.004709350 \n", "25 2 true Portal:Featured_content 0.004510091 \n", "26 2 true Help:Contents 0.004510091 \n", "27 91 false Portal:Featured_content 0.004464071 \n", "28 87 false PageInformation 0.004267848 \n", "29 86 false Wikipedia:About 0.004218792 \n", "30 82 false Wikipedia:Community_portal 0.004022570 \n", "31 56 false Wikipedia:File_Upload_Wizard 0.002747121 \n", "32 49 false Help:Contents 0.002403731 \n", "33 1 true Wikipedia:Contact_us 0.002255046 \n", "34 29 false Special:SpecialPages 0.001422616 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Table showing percent of all users in each group (logged in or logged out) \n", "#that view each page linked in the sidebar\n", "\n", "sidebar_views_user_byfeature <- sidebar_views_user_byfeature_raw %>%\n", "mutate(percent_all_users = if_else(logged_in == 'false', as.numeric(n_user_sidebar)/2038498 *100, as.numeric(n_user_sidebar)/44345 * 100)) %>%\n", "arrange(desc(percent_all_users))\n", "\n", "sidebar_views_user_byfeature" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison of language clicks to other sidebar link clicks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do the the language links (as a group) get clicked more than the other links in the sidebar?\n", "\n", "The data presented below shows the percent of all sidebar link clicks on desktop by users for each sidebar link in June 2019.\n", "\n", "Notes:\n", "- Changes made to recorded special pages in pageview_hourly change on July 23, 2019. Reviewed June 2019 data as sample for this analysis.\n", "- Reviewed some smaller and larger size wikis.\n", "- Data is isolated to users on desktop and only internal referrer links (excludes direct views to pages from external referrers such as google). \n", "- The pages in the sidebar vary depending on project so you can't do a direct comparison across all of them." ] }, { "cell_type": "code", "execution_count": 165, "metadata": {}, "outputs": [], "source": [ "#Percent language links clicks out of all internal referred clicks\n", "#By project looking by the source of request (not target)\n", "query <- \n", "\"\n", "SELECT\n", " navigation_count.project as project,\n", " navigation_count_total as languages,\n", " view_count_total,\n", " (navigation_count_total/view_count_total) *100 as clicks_as_percent_of_total\n", "FROM (\n", "SELECT \n", " concat(previous_project, '.', project_family) as project,\n", " sum(navigation_count) as navigation_count_total\n", " from wmf.interlanguage_navigation\n", " where date > '2019-05-31' \n", " AND date < '2019-07-01'\n", " AND previous_project IN ('en', 'fr', 'de', 'it', 'scn', 'cy', 'ps')\n", " group by project_family, previous_project\n", " ) as navigation_count\n", "INNER JOIN\n", "(SELECT project,\n", "sum(view_count) as view_count_total\n", "FROM wmf.projectview_hourly\n", "WHERE year = 2019\n", "and month = 06\n", "and project IN ('en.wikipedia', 'fr.wikipedia', 'de.wikipedia', 'it.wikipedia', 'scn.wikipedia', 'cy.wikipedia', 'ps.wikipedia')\n", "and agent_type = 'user'\n", "and access_method = 'desktop'\n", "and referer_class = 'internal'\n", "group by project\n", ") as projectview \n", "on navigation_count.project = projectview.project\"" ] }, { "cell_type": "code", "execution_count": 166, "metadata": {}, "outputs": [], "source": [ "language_link_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Language Links Views " ] }, { "cell_type": "code", "execution_count": 167, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 7 × 4
projectlanguagesview_count_totalclicks_as_percent_of_total
<chr><int><int><dbl>
cy.wikipedia 40011 15733525.4304509
de.wikipedia 1528152 156633851 0.9756205
en.wikipedia 54673051088768166 0.5021551
fr.wikipedia 784399 82525574 0.9504920
it.wikipedia 428082 48007596 0.8916964
ps.wikipedia 10317 4771221.6234909
scn.wikipedia 25627 7299935.1059604
\n" ], "text/latex": [ "A data.frame: 7 × 4\n", "\\begin{tabular}{r|llll}\n", " project & languages & view\\_count\\_total & clicks\\_as\\_percent\\_of\\_total\\\\\n", " & & & \\\\\n", "\\hline\n", "\t cy.wikipedia & 40011 & 157335 & 25.4304509\\\\\n", "\t de.wikipedia & 1528152 & 156633851 & 0.9756205\\\\\n", "\t en.wikipedia & 5467305 & 1088768166 & 0.5021551\\\\\n", "\t fr.wikipedia & 784399 & 82525574 & 0.9504920\\\\\n", "\t it.wikipedia & 428082 & 48007596 & 0.8916964\\\\\n", "\t ps.wikipedia & 10317 & 47712 & 21.6234909\\\\\n", "\t scn.wikipedia & 25627 & 72999 & 35.1059604\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 7 × 4\n", "\n", "| project <chr> | languages <int> | view_count_total <int> | clicks_as_percent_of_total <dbl> |\n", "|---|---|---|---|\n", "| cy.wikipedia | 40011 | 157335 | 25.4304509 |\n", "| de.wikipedia | 1528152 | 156633851 | 0.9756205 |\n", "| en.wikipedia | 5467305 | 1088768166 | 0.5021551 |\n", "| fr.wikipedia | 784399 | 82525574 | 0.9504920 |\n", "| it.wikipedia | 428082 | 48007596 | 0.8916964 |\n", "| ps.wikipedia | 10317 | 47712 | 21.6234909 |\n", "| scn.wikipedia | 25627 | 72999 | 35.1059604 |\n", "\n" ], "text/plain": [ " project languages view_count_total clicks_as_percent_of_total\n", "1 cy.wikipedia 40011 157335 25.4304509 \n", "2 de.wikipedia 1528152 156633851 0.9756205 \n", "3 en.wikipedia 5467305 1088768166 0.5021551 \n", "4 fr.wikipedia 784399 82525574 0.9504920 \n", "5 it.wikipedia 428082 48007596 0.8916964 \n", "6 ps.wikipedia 10317 47712 21.6234909 \n", "7 scn.wikipedia 25627 72999 35.1059604 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "language_link_views" ] }, { "cell_type": "code", "execution_count": 177, "metadata": {}, "outputs": [], "source": [ "#non-language sidebar views for enwiki\n", "query <- \n", "\"SELECT \n", " SUM(IF((page_title = 'Main_Page'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'Portal:Contents'), 1, null)) AS contents,\n", " SUM(IF((page_title = 'Portal:Featured_content'), 1, null)) AS featured_content,\n", " SUM(IF((page_title = 'Portal:Current_events'), 1, null)) AS current_events,\n", " SUM(IF((page_title = 'Help:Contents'), 1, null)) AS help_views,\n", " SUM(IF((page_title = 'Wikipedia:About'), 1, null)) AS about_wikipedia,\n", " SUM(IF((page_title = 'Wikipedia:Community_portal'), 1, null)) AS community_portal,\n", " SUM(IF((page_title = 'Special:RecentChanges'), 1, null)) AS recent_changes,\n", " SUM(IF((page_title= 'Wikipedia:Contact_us'), 1, null)) AS contact_page,\n", " SUM(IF((page_title LIKE 'Special:WhatLinksHere%'), 1, null)) AS what_links_here,\n", " SUM(IF((page_title LIKE 'Special:RecentChangesLinked%'), 1, null)) AS related_changes,\n", " SUM(IF((page_title = 'Wikipedia:File_Upload_Wizard'), 1, null)) AS file_upload,\n", " SUM(IF((page_title = 'Special:SpecialPages'), 1, null)) AS special_pages,\n", " SUM(IF((page_title = 'Special:CiteThisPage'), 1, null)) AS cite_this_page, \n", " SUM(IF((page_title = 'Special:Book'), 1, null)) AS create_book,\n", " SUM(IF((page_title = 'Special:ElectronPdf'), 1, null)) AS download_as_pdf,\n", " sum(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6\n", " AND project = 'en.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia \"" ] }, { "cell_type": "code", "execution_count": 178, "metadata": {}, "outputs": [], "source": [ "enwiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### English Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 185, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 17 × 3
sidebar_linkn_viewspercent_views
<chr><dbl><dbl>
languages 546730539.0831352
main_page 519982937.1710779
what_links_here 1106416 7.9092361
related_changes 770540 5.5082200
current_events 440947 3.1521181
download_as_pdf 271868 1.9434536
contents 114028 0.8151314
recent_changes 94601 0.6762571
featured_content 76561 0.5472978
about_wikipedia 68634 0.4906315
contact_page 67793 0.4846196
cite_this_page 66971 0.4787435
create_book 60714 0.4340152
community_portal 54568 0.3900804
file_upload 47320 0.3382679
special_pages 41861 0.2992442
help_views 38955 0.2784706
\n" ], "text/latex": [ "A data.frame: 17 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & percent\\_views\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 5467305 & 39.0831352\\\\\n", "\t main\\_page & 5199829 & 37.1710779\\\\\n", "\t what\\_links\\_here & 1106416 & 7.9092361\\\\\n", "\t related\\_changes & 770540 & 5.5082200\\\\\n", "\t current\\_events & 440947 & 3.1521181\\\\\n", "\t download\\_as\\_pdf & 271868 & 1.9434536\\\\\n", "\t contents & 114028 & 0.8151314\\\\\n", "\t recent\\_changes & 94601 & 0.6762571\\\\\n", "\t featured\\_content & 76561 & 0.5472978\\\\\n", "\t about\\_wikipedia & 68634 & 0.4906315\\\\\n", "\t contact\\_page & 67793 & 0.4846196\\\\\n", "\t cite\\_this\\_page & 66971 & 0.4787435\\\\\n", "\t create\\_book & 60714 & 0.4340152\\\\\n", "\t community\\_portal & 54568 & 0.3900804\\\\\n", "\t file\\_upload & 47320 & 0.3382679\\\\\n", "\t special\\_pages & 41861 & 0.2992442\\\\\n", "\t help\\_views & 38955 & 0.2784706\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 17 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | percent_views <dbl> |\n", "|---|---|---|\n", "| languages | 5467305 | 39.0831352 |\n", "| main_page | 5199829 | 37.1710779 |\n", "| what_links_here | 1106416 | 7.9092361 |\n", "| related_changes | 770540 | 5.5082200 |\n", "| current_events | 440947 | 3.1521181 |\n", "| download_as_pdf | 271868 | 1.9434536 |\n", "| contents | 114028 | 0.8151314 |\n", "| recent_changes | 94601 | 0.6762571 |\n", "| featured_content | 76561 | 0.5472978 |\n", "| about_wikipedia | 68634 | 0.4906315 |\n", "| contact_page | 67793 | 0.4846196 |\n", "| cite_this_page | 66971 | 0.4787435 |\n", "| create_book | 60714 | 0.4340152 |\n", "| community_portal | 54568 | 0.3900804 |\n", "| file_upload | 47320 | 0.3382679 |\n", "| special_pages | 41861 | 0.2992442 |\n", "| help_views | 38955 | 0.2784706 |\n", "\n" ], "text/plain": [ " sidebar_link n_views percent_views\n", "1 languages 5467305 39.0831352 \n", "2 main_page 5199829 37.1710779 \n", "3 what_links_here 1106416 7.9092361 \n", "4 related_changes 770540 5.5082200 \n", "5 current_events 440947 3.1521181 \n", "6 download_as_pdf 271868 1.9434536 \n", "7 contents 114028 0.8151314 \n", "8 recent_changes 94601 0.6762571 \n", "9 featured_content 76561 0.5472978 \n", "10 about_wikipedia 68634 0.4906315 \n", "11 contact_page 67793 0.4846196 \n", "12 cite_this_page 66971 0.4787435 \n", "13 create_book 60714 0.4340152 \n", "14 community_portal 54568 0.3900804 \n", "15 file_upload 47320 0.3382679 \n", "16 special_pages 41861 0.2992442 \n", "17 help_views 38955 0.2784706 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "enwiki_sidebar_view_wlang <- enwiki_sidebar_views%>%\n", " mutate(languages = 5467305) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>% #remove columns not needed for calculation\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(percent_views = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(percent_views))\n", "\n", "\n", "enwiki_sidebar_view_wlang" ] }, { "cell_type": "code", "execution_count": 186, "metadata": {}, "outputs": [], "source": [ "#sidebar views for fr.wikipedia (excluding language lnks)\n", "\n", "query <- \n", "\"SELECT \n", "SUM(IF((page_title = 'Wikipédia:Accueil_principal'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'Portail:Accueil'), 1, null)) AS thematic_portals,\n", " SUM(IF((page_title= 'Wikipédia:Contact'), 1, null)) AS contact_page,\n", " SUM(IF((page_title = 'Aide:Débuter'), 1, null)) AS getting_started,\n", " SUM(IF((page_title = 'Aide:Accueil'), 1, null)) AS help,\n", " SUM(IF((page_title = 'Wikipédia:Accueil_de_la_communauté'), 1, null)) AS community_home,\n", " SUM(IF((page_title = 'Spécial:Modifications_récentes'), 1, null)) AS recent_changes,\n", " SUM(IF((page_title LIKE 'Spécial:Pages_liées%'), 1, null)) AS linked_pages,\n", " SUM(IF((page_title LIKE 'Spécial:Suivi_des_liens%'), 1, null)) AS tracking_related_changes,\n", " SUM(IF((page_title = 'Aide:Importer_un_fichier'), 1, null)) AS file_upload,\n", " SUM(IF((page_title = 'Spécial:Pages_spéciales'), 1, null)) AS special_pages,\n", " SUM(IF((page_title = 'Spécial:Livre'), 1, null)) AS create_book,\n", " SUM(IF((page_title = 'Spécial:ElectronPdf'), 1, null)) AS create_pdf,\n", " SUM(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6 \n", " AND project = 'fr.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal'\n", "\"" ] }, { "cell_type": "code", "execution_count": 187, "metadata": {}, "outputs": [], "source": [ "frwiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### French Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 188, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 14 × 3
sidebar_linkn_viewsproportion
<chr><dbl><dbl>
languages 78439952.9211943
main_page 42253628.5073155
linked_pages 66163 4.4638315
create_pdf 56973 3.8438081
tracking_related_changes 38309 2.5846005
thematic_portals 24560 1.6569941
recent_changes 23431 1.5808237
community_home 15461 1.0431102
contact_page 14086 0.9503428
getting_started 12764 0.8611512
file_upload 7188 0.4849541
create_book 6002 0.4049381
help 5272 0.3556870
special_pages 5058 0.3412490
\n" ], "text/latex": [ "A data.frame: 14 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 784399 & 52.9211943\\\\\n", "\t main\\_page & 422536 & 28.5073155\\\\\n", "\t linked\\_pages & 66163 & 4.4638315\\\\\n", "\t create\\_pdf & 56973 & 3.8438081\\\\\n", "\t tracking\\_related\\_changes & 38309 & 2.5846005\\\\\n", "\t thematic\\_portals & 24560 & 1.6569941\\\\\n", "\t recent\\_changes & 23431 & 1.5808237\\\\\n", "\t community\\_home & 15461 & 1.0431102\\\\\n", "\t contact\\_page & 14086 & 0.9503428\\\\\n", "\t getting\\_started & 12764 & 0.8611512\\\\\n", "\t file\\_upload & 7188 & 0.4849541\\\\\n", "\t create\\_book & 6002 & 0.4049381\\\\\n", "\t help & 5272 & 0.3556870\\\\\n", "\t special\\_pages & 5058 & 0.3412490\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 14 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | proportion <dbl> |\n", "|---|---|---|\n", "| languages | 784399 | 52.9211943 |\n", "| main_page | 422536 | 28.5073155 |\n", "| linked_pages | 66163 | 4.4638315 |\n", "| create_pdf | 56973 | 3.8438081 |\n", "| tracking_related_changes | 38309 | 2.5846005 |\n", "| thematic_portals | 24560 | 1.6569941 |\n", "| recent_changes | 23431 | 1.5808237 |\n", "| community_home | 15461 | 1.0431102 |\n", "| contact_page | 14086 | 0.9503428 |\n", "| getting_started | 12764 | 0.8611512 |\n", "| file_upload | 7188 | 0.4849541 |\n", "| create_book | 6002 | 0.4049381 |\n", "| help | 5272 | 0.3556870 |\n", "| special_pages | 5058 | 0.3412490 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion\n", "1 languages 784399 52.9211943\n", "2 main_page 422536 28.5073155\n", "3 linked_pages 66163 4.4638315\n", "4 create_pdf 56973 3.8438081\n", "5 tracking_related_changes 38309 2.5846005\n", "6 thematic_portals 24560 1.6569941\n", "7 recent_changes 23431 1.5808237\n", "8 community_home 15461 1.0431102\n", "9 contact_page 14086 0.9503428\n", "10 getting_started 12764 0.8611512\n", "11 file_upload 7188 0.4849541\n", "12 create_book 6002 0.4049381\n", "13 help 5272 0.3556870\n", "14 special_pages 5058 0.3412490" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "frwiki_sidebar_view_wlang <- frwiki_sidebar_views%>%\n", " mutate(languages = 784399) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>%\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(proportion = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(proportion))\n", "\n", "\n", "frwiki_sidebar_view_wlang" ] }, { "cell_type": "code", "execution_count": 189, "metadata": {}, "outputs": [], "source": [ "#sidebar views for de.wikipedia (excluding language lnks)\n", "\n", "query <- \n", "\"SELECT \n", " SUM(IF((page_title = 'Wikipedia:Hauptseite'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'Portal:Wikipedia_nach_Themen'), 1, null)) AS theme_portals,\n", " SUM(IF((page_title= 'Wikipedia:Beteiligen'), 1, null)) AS improve_articles,\n", " SUM(IF((page_title= 'Hilfe:Neuen_Artikel_anlegen'), 1, null)) AS create_articles,\n", " SUM(IF((page_title= 'Wikipedia:Autorenportal'), 1, null)) AS author_portal,\n", " SUM(IF((page_title= 'Hilfe:Übersicht'), 1, null)) AS help,\n", " SUM(IF((page_title LIKE 'Spezial:Letzte_Änderungen%'), 1, null)) AS last_changes,\n", " SUM(IF((page_title= 'Wikipedia:Kontakt'), 1, null)) AS contact_page,\n", " SUM(IF((page_title LIKE 'Spezial:Linkliste%'), 1, null)) AS linked_pages,\n", " SUM(IF((page_title LIKE 'Spezial:Änderungen_an_verlinkten_Seiten%'), 1, null)) AS linked_page_changes,\n", " SUM(IF((page_title = 'Spezial:Hochladen'), 1, null)) AS upload_file,\n", " SUM(IF((page_title = 'Spezial:Spezialseiten'), 1, null)) AS special_pages,\n", " SUM(IF((page_title = 'Spezial:Buch'), 1, null)) AS create_book,\n", " SUM(IF((page_title = 'Spezial:ElectronPdf'), 1, null)) AS create_pdf,\n", " SUM(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6\n", " AND project = 'de.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal'\n", "\"" ] }, { "cell_type": "code", "execution_count": 190, "metadata": {}, "outputs": [], "source": [ "dewiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### German Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 191, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 15 × 3
sidebar_linkn_viewsproportion
<chr><dbl><dbl>
languages 152815249.32816429
main_page 114607536.99486431
create_pdf 96030 3.09981181
linked_pages 86723 2.79938540
last_changes 50767 1.63873942
author_portal 35203 1.13633943
linked_page_changes 33391 1.07784876
theme_portals 32271 1.04169558
contact_page 19754 0.63765159
create_articles 17749 0.57293096
improve_articles 14328 0.46250238
special_pages 12992 0.41937681
create_book 11474 0.37037635
help 11398 0.36792310
upload_file 1623 0.05238982
\n" ], "text/latex": [ "A data.frame: 15 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 1528152 & 49.32816429\\\\\n", "\t main\\_page & 1146075 & 36.99486431\\\\\n", "\t create\\_pdf & 96030 & 3.09981181\\\\\n", "\t linked\\_pages & 86723 & 2.79938540\\\\\n", "\t last\\_changes & 50767 & 1.63873942\\\\\n", "\t author\\_portal & 35203 & 1.13633943\\\\\n", "\t linked\\_page\\_changes & 33391 & 1.07784876\\\\\n", "\t theme\\_portals & 32271 & 1.04169558\\\\\n", "\t contact\\_page & 19754 & 0.63765159\\\\\n", "\t create\\_articles & 17749 & 0.57293096\\\\\n", "\t improve\\_articles & 14328 & 0.46250238\\\\\n", "\t special\\_pages & 12992 & 0.41937681\\\\\n", "\t create\\_book & 11474 & 0.37037635\\\\\n", "\t help & 11398 & 0.36792310\\\\\n", "\t upload\\_file & 1623 & 0.05238982\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 15 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | proportion <dbl> |\n", "|---|---|---|\n", "| languages | 1528152 | 49.32816429 |\n", "| main_page | 1146075 | 36.99486431 |\n", "| create_pdf | 96030 | 3.09981181 |\n", "| linked_pages | 86723 | 2.79938540 |\n", "| last_changes | 50767 | 1.63873942 |\n", "| author_portal | 35203 | 1.13633943 |\n", "| linked_page_changes | 33391 | 1.07784876 |\n", "| theme_portals | 32271 | 1.04169558 |\n", "| contact_page | 19754 | 0.63765159 |\n", "| create_articles | 17749 | 0.57293096 |\n", "| improve_articles | 14328 | 0.46250238 |\n", "| special_pages | 12992 | 0.41937681 |\n", "| create_book | 11474 | 0.37037635 |\n", "| help | 11398 | 0.36792310 |\n", "| upload_file | 1623 | 0.05238982 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion \n", "1 languages 1528152 49.32816429\n", "2 main_page 1146075 36.99486431\n", "3 create_pdf 96030 3.09981181\n", "4 linked_pages 86723 2.79938540\n", "5 last_changes 50767 1.63873942\n", "6 author_portal 35203 1.13633943\n", "7 linked_page_changes 33391 1.07784876\n", "8 theme_portals 32271 1.04169558\n", "9 contact_page 19754 0.63765159\n", "10 create_articles 17749 0.57293096\n", "11 improve_articles 14328 0.46250238\n", "12 special_pages 12992 0.41937681\n", "13 create_book 11474 0.37037635\n", "14 help 11398 0.36792310\n", "15 upload_file 1623 0.05238982" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "dewiki_sidebar_view_wlang <- dewiki_sidebar_views%>%\n", " mutate(languages = 1528152) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>%\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(proportion = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(proportion))\n", "\n", "\n", "dewiki_sidebar_view_wlang" ] }, { "cell_type": "code", "execution_count": 192, "metadata": {}, "outputs": [], "source": [ "#sidebar views for it.wikipedia (excluding language lnks)\n", "\n", "query <- \n", "\"SELECT \n", " SUM(IF((page_title = 'Pagina_principale'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'Speciale:UltimeModifiche'), 1, null)) AS recent_changes,\n", " SUM(IF((page_title = 'Speciale:NelleVicinanze'), 1, null)) AS nearby,\n", " SUM(IF((page_title = 'Wikipedia:Vetrina'), 1, null)) AS showcase,\n", " SUM(IF((page_title = 'Aiuto:Aiuto'), 1, null)) AS help,\n", " SUM(IF((page_title = 'Aiuto:Sportello_informazioni'), 1, null)) AS information_desk,\n", " SUM(IF((page_title = 'Portale:Comunità'), 1, null)) AS community_portal,\n", " SUM(IF((page_title = 'Wikipedia:Bar'), 1, null)) AS wikipedia_cafe,\n", " SUM(IF((page_title = 'Wikipedia:Wikipediano'), 1, null)) AS wikipedian_page,\n", " SUM(IF((page_title = 'Wikipedia:Contatti'), 1, null)) AS contact_page,\n", " SUM(IF((page_title LIKE 'Speciale:PuntanoQui%'), 1, null)) AS linked_pages,\n", " SUM(IF((page_title LIKE 'Speciale:ModificheCorrelate%'), 1, null)) AS related_changes,\n", " SUM(IF((page_title = 'Speciale:PagineSpeciali'), 1, null)) AS special_pages,\n", " SUM(IF((page_title = 'Speciale:Libro'), 1, null)) AS create_book,\n", " SUM(IF((page_title = 'Speciale:ElectronPdf'), 1, null)) AS create_pdf,\n", " SUM(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6 \n", " AND project = 'it.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal'\n", "\"" ] }, { "cell_type": "code", "execution_count": 193, "metadata": {}, "outputs": [], "source": [ "itwiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Italian Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 194, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 16 × 3
sidebar_linkn_viewsproportion
<chr><dbl><dbl>
languages 42808250.8350552
main_page 24092228.6096663
linked_pages 33965 4.0333690
recent_changes 28815 3.4218026
create_pdf 24586 2.9196057
related_changes 12444 1.4777342
wikipedia_cafe 11336 1.3461584
information_desk 9167 1.0885881
wikipedian_page 8593 1.0204251
showcase 8442 1.0024938
nearby 7289 0.8655742
contact_page 6971 0.8278114
help 6529 0.7753236
create_book 5652 0.6711792
special_pages 5543 0.6582354
community_portal 3764 0.4469778
\n" ], "text/latex": [ "A data.frame: 16 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 428082 & 50.8350552\\\\\n", "\t main\\_page & 240922 & 28.6096663\\\\\n", "\t linked\\_pages & 33965 & 4.0333690\\\\\n", "\t recent\\_changes & 28815 & 3.4218026\\\\\n", "\t create\\_pdf & 24586 & 2.9196057\\\\\n", "\t related\\_changes & 12444 & 1.4777342\\\\\n", "\t wikipedia\\_cafe & 11336 & 1.3461584\\\\\n", "\t information\\_desk & 9167 & 1.0885881\\\\\n", "\t wikipedian\\_page & 8593 & 1.0204251\\\\\n", "\t showcase & 8442 & 1.0024938\\\\\n", "\t nearby & 7289 & 0.8655742\\\\\n", "\t contact\\_page & 6971 & 0.8278114\\\\\n", "\t help & 6529 & 0.7753236\\\\\n", "\t create\\_book & 5652 & 0.6711792\\\\\n", "\t special\\_pages & 5543 & 0.6582354\\\\\n", "\t community\\_portal & 3764 & 0.4469778\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 16 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | proportion <dbl> |\n", "|---|---|---|\n", "| languages | 428082 | 50.8350552 |\n", "| main_page | 240922 | 28.6096663 |\n", "| linked_pages | 33965 | 4.0333690 |\n", "| recent_changes | 28815 | 3.4218026 |\n", "| create_pdf | 24586 | 2.9196057 |\n", "| related_changes | 12444 | 1.4777342 |\n", "| wikipedia_cafe | 11336 | 1.3461584 |\n", "| information_desk | 9167 | 1.0885881 |\n", "| wikipedian_page | 8593 | 1.0204251 |\n", "| showcase | 8442 | 1.0024938 |\n", "| nearby | 7289 | 0.8655742 |\n", "| contact_page | 6971 | 0.8278114 |\n", "| help | 6529 | 0.7753236 |\n", "| create_book | 5652 | 0.6711792 |\n", "| special_pages | 5543 | 0.6582354 |\n", "| community_portal | 3764 | 0.4469778 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion\n", "1 languages 428082 50.8350552\n", "2 main_page 240922 28.6096663\n", "3 linked_pages 33965 4.0333690\n", "4 recent_changes 28815 3.4218026\n", "5 create_pdf 24586 2.9196057\n", "6 related_changes 12444 1.4777342\n", "7 wikipedia_cafe 11336 1.3461584\n", "8 information_desk 9167 1.0885881\n", "9 wikipedian_page 8593 1.0204251\n", "10 showcase 8442 1.0024938\n", "11 nearby 7289 0.8655742\n", "12 contact_page 6971 0.8278114\n", "13 help 6529 0.7753236\n", "14 create_book 5652 0.6711792\n", "15 special_pages 5543 0.6582354\n", "16 community_portal 3764 0.4469778" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "itwiki_sidebar_view_wlang <- itwiki_sidebar_views%>%\n", " mutate(languages = 428082) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>%\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(proportion = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(proportion))\n", "\n", "\n", "itwiki_sidebar_view_wlang" ] }, { "cell_type": "code", "execution_count": 195, "metadata": {}, "outputs": [], "source": [ "#sidebar views for cy.wikipedia (Welsh) (excluding language lnks)\n", "\n", "query <- \n", "\"SELECT \n", " SUM(IF((page_title = 'Hafan'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'Wicipedia:Porth_y_Gymuned'), 1, null)) AS community_gateway, \n", " SUM(IF((page_title = 'Wicipedia:Y_Caffi'), 1, null)) AS wikipedia_cafe,\n", " SUM(IF((page_title = 'Categori:Materion_cyfoes'), 1, null)) AS current_affairs,\n", " SUM(IF((page_title = 'Arbennig:RecentChanges'), 1, null)) AS recent_changes,\n", " SUM(IF((page_title = 'Wicipedia:Cymorth'), 1, null)) AS help_page,\n", " SUM(IF((page_title = 'Arbennig:Book'), 1, null)) AS make_a_book,\n", " SUM(IF((page_title = 'Arbennig:ElectronPdf'), 1, null)) AS download_pdf,\n", " SUM(IF((page_title LIKE 'Arbennig:WhatLinksHere%'), 1, null)) AS what_links_here,\n", " SUM(IF((page_title LIKE 'Arbennig:RecentChangesLinked%'), 1, null)) AS related_changes,\n", " SUM(IF((page_title LIKE 'Arbennig:SpecialPages%'), 1, null)) AS special_pages,\n", " SUM(IF((page_title = 'Arbennig:Book'), 1, null)) AS create_book,\n", " SUM(IF((page_title = 'Arbennig:ElectronPdf'), 1, null)) AS create_pdf,\n", " SUM(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6\n", " AND project = 'cy.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal'\n", "\"" ] }, { "cell_type": "code", "execution_count": 196, "metadata": {}, "outputs": [], "source": [ "cywiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Welsh Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 197, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 14 × 3
sidebar_linkn_viewsproportion
<chr><dbl><dbl>
languages 4001182.0890010
main_page 3196 6.5571080
recent_changes 1018 2.0885907
help_page 779 1.5982438
what_links_here 776 1.5920888
community_gateway 631 1.2945980
wikipedia_cafe 446 0.9150407
download_pdf 343 0.7037197
create_pdf 343 0.7037197
make_a_book 306 0.6278082
create_book 306 0.6278082
related_changes 213 0.4370038
current_affairs 193 0.3959705
special_pages 180 0.3692989
\n" ], "text/latex": [ "A data.frame: 14 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 40011 & 82.0890010\\\\\n", "\t main\\_page & 3196 & 6.5571080\\\\\n", "\t recent\\_changes & 1018 & 2.0885907\\\\\n", "\t help\\_page & 779 & 1.5982438\\\\\n", "\t what\\_links\\_here & 776 & 1.5920888\\\\\n", "\t community\\_gateway & 631 & 1.2945980\\\\\n", "\t wikipedia\\_cafe & 446 & 0.9150407\\\\\n", "\t download\\_pdf & 343 & 0.7037197\\\\\n", "\t create\\_pdf & 343 & 0.7037197\\\\\n", "\t make\\_a\\_book & 306 & 0.6278082\\\\\n", "\t create\\_book & 306 & 0.6278082\\\\\n", "\t related\\_changes & 213 & 0.4370038\\\\\n", "\t current\\_affairs & 193 & 0.3959705\\\\\n", "\t special\\_pages & 180 & 0.3692989\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 14 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | proportion <dbl> |\n", "|---|---|---|\n", "| languages | 40011 | 82.0890010 |\n", "| main_page | 3196 | 6.5571080 |\n", "| recent_changes | 1018 | 2.0885907 |\n", "| help_page | 779 | 1.5982438 |\n", "| what_links_here | 776 | 1.5920888 |\n", "| community_gateway | 631 | 1.2945980 |\n", "| wikipedia_cafe | 446 | 0.9150407 |\n", "| download_pdf | 343 | 0.7037197 |\n", "| create_pdf | 343 | 0.7037197 |\n", "| make_a_book | 306 | 0.6278082 |\n", "| create_book | 306 | 0.6278082 |\n", "| related_changes | 213 | 0.4370038 |\n", "| current_affairs | 193 | 0.3959705 |\n", "| special_pages | 180 | 0.3692989 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion\n", "1 languages 40011 82.0890010\n", "2 main_page 3196 6.5571080\n", "3 recent_changes 1018 2.0885907\n", "4 help_page 779 1.5982438\n", "5 what_links_here 776 1.5920888\n", "6 community_gateway 631 1.2945980\n", "7 wikipedia_cafe 446 0.9150407\n", "8 download_pdf 343 0.7037197\n", "9 create_pdf 343 0.7037197\n", "10 make_a_book 306 0.6278082\n", "11 create_book 306 0.6278082\n", "12 related_changes 213 0.4370038\n", "13 current_affairs 193 0.3959705\n", "14 special_pages 180 0.3692989" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "cywiki_sidebar_view_wlang <- cywiki_sidebar_views%>%\n", " mutate(languages = 40011) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>%\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(proportion = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(proportion))\n", "\n", "\n", "cywiki_sidebar_view_wlang" ] }, { "cell_type": "code", "execution_count": 198, "metadata": {}, "outputs": [], "source": [ "## sidebar views for scn.wikipedia (Sicilian) (excluding language lnks)\n", "\n", "query <- \n", "\"SELECT \n", " SUM(IF((page_title = 'Pàggina_principali'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'Wikipedia:Porta_dâ_Cumunitati'), 1, null)) AS community_portal,\n", " SUM(IF((page_title = 'Archiviu:Nutizzi'), 1, null)) AS news,\n", " SUM(IF((page_title LIKE 'Spiciali:UltimeModifiche%'), 1, null)) AS recent_changes,\n", " SUM(IF((page_title = 'Wikipedia:Circulu'), 1, null)) AS the_circle,\n", " SUM(IF((page_title = 'Wikipedia:Articulu_n_vitrina'), 1, null)) AS article_of_week,\n", " SUM(IF((page_title = 'Wikipedia:Chat_IRC_n_sicilianu'), 1, null)) AS IRC_chat,\n", " SUM(IF((page_title = 'Wikipedia:Grammàtica'), 1, null)) AS grammar,\n", " SUM(IF((page_title = 'Wikipedia:Cumpenniu_Stilìsticu'), 1, null)) AS style_guide,\n", " SUM(IF((page_title LIKE 'Spiciali:Libro%'), 1, null)) AS create_book,\n", " SUM(IF((page_title LIKE 'Spiciali:ElectronPdf%'), 1, null)) AS create_pdf,\n", " SUM(IF((page_title LIKE 'Spiciali:PuntanoQui%'), 1, null)) AS linked_pages,\n", " SUM(IF((page_title LIKE 'Spiciali:ModificheCorrelate%'), 1, null)) AS related_changes,\n", " SUM(IF((page_title = 'Spiciali:PagineSpeciali'), 1, null)) AS special_pages,\n", " SUM(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6 \n", " AND project = 'scn.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal'\n", "\"" ] }, { "cell_type": "code", "execution_count": 199, "metadata": {}, "outputs": [], "source": [ "scnwiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sicilian Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 200, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 15 × 3
sidebar_linkn_viewsproportion
<chr><dbl><dbl>
languages 2562784.22176942
main_page 2402 7.89404496
community_portal 508 1.66951492
news 408 1.34087025
linked_pages 314 1.03194426
the_circle 276 0.90705929
create_pdf 152 0.49953990
article_of_week 137 0.45024320
create_book 136 0.44695675
recent_changes 131 0.43052452
irc_chat 118 0.38780071
grammar 110 0.36150914
special_pages 70 0.23005127
style_guide 25 0.08216117
related_changes 14 0.04601025
\n" ], "text/latex": [ "A data.frame: 15 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 25627 & 84.22176942\\\\\n", "\t main\\_page & 2402 & 7.89404496\\\\\n", "\t community\\_portal & 508 & 1.66951492\\\\\n", "\t news & 408 & 1.34087025\\\\\n", "\t linked\\_pages & 314 & 1.03194426\\\\\n", "\t the\\_circle & 276 & 0.90705929\\\\\n", "\t create\\_pdf & 152 & 0.49953990\\\\\n", "\t article\\_of\\_week & 137 & 0.45024320\\\\\n", "\t create\\_book & 136 & 0.44695675\\\\\n", "\t recent\\_changes & 131 & 0.43052452\\\\\n", "\t irc\\_chat & 118 & 0.38780071\\\\\n", "\t grammar & 110 & 0.36150914\\\\\n", "\t special\\_pages & 70 & 0.23005127\\\\\n", "\t style\\_guide & 25 & 0.08216117\\\\\n", "\t related\\_changes & 14 & 0.04601025\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 15 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | proportion <dbl> |\n", "|---|---|---|\n", "| languages | 25627 | 84.22176942 |\n", "| main_page | 2402 | 7.89404496 |\n", "| community_portal | 508 | 1.66951492 |\n", "| news | 408 | 1.34087025 |\n", "| linked_pages | 314 | 1.03194426 |\n", "| the_circle | 276 | 0.90705929 |\n", "| create_pdf | 152 | 0.49953990 |\n", "| article_of_week | 137 | 0.45024320 |\n", "| create_book | 136 | 0.44695675 |\n", "| recent_changes | 131 | 0.43052452 |\n", "| irc_chat | 118 | 0.38780071 |\n", "| grammar | 110 | 0.36150914 |\n", "| special_pages | 70 | 0.23005127 |\n", "| style_guide | 25 | 0.08216117 |\n", "| related_changes | 14 | 0.04601025 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion \n", "1 languages 25627 84.22176942\n", "2 main_page 2402 7.89404496\n", "3 community_portal 508 1.66951492\n", "4 news 408 1.34087025\n", "5 linked_pages 314 1.03194426\n", "6 the_circle 276 0.90705929\n", "7 create_pdf 152 0.49953990\n", "8 article_of_week 137 0.45024320\n", "9 create_book 136 0.44695675\n", "10 recent_changes 131 0.43052452\n", "11 irc_chat 118 0.38780071\n", "12 grammar 110 0.36150914\n", "13 special_pages 70 0.23005127\n", "14 style_guide 25 0.08216117\n", "15 related_changes 14 0.04601025" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "scnwiki_sidebar_view_wlang <- scnwiki_sidebar_views%>%\n", " mutate(languages = 25627) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>%\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(proportion = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(proportion))\n", "\n", "\n", "scnwiki_sidebar_view_wlang " ] }, { "cell_type": "code", "execution_count": 202, "metadata": {}, "outputs": [], "source": [ "## sidebar views for ps.wikipedia Pashto (excluding language lnks)\n", "\n", "query <- \n", "\"SELECT \n", " SUM(IF((page_title = 'لومړی_مخ'), 1, null)) AS main_page,\n", " SUM(IF((page_title = 'ويکيپېډيا:د_ټولنې_تانبه'), 1, null)) AS community_portal,\n", " SUM(IF((page_title = 'ويکيپېډيا:تازه_پېښې'), 1, null)) AS current_events,\n", " SUM(IF((page_title = 'ځانگړی:اوسني_بدلونونه'), 1, null)) AS recent_changes,\n", " SUM(IF((page_title = 'ځانگړی:Book'), 1, null)) AS create_a_book,\n", " SUM(IF((page_title = 'ځانگړی:ElectronPdf'), 1, null)) AS download_as_pdf,\n", " SUM(IF((page_title LIKE 'ځانگړی:WhatLinksHere%'), 1, null)) AS what_links_here,\n", " SUM(IF((page_title LIKE 'ځانگړی:RecentChangesLinked%'), 1, null)) AS related_changes,\n", " SUM(IF((page_title = 'ځانگړی:ځانګړي_مخونه'),1,null)) AS special_pages,\n", " SUM(view_count) as view_count_total\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 6 \n", " AND project = 'ps.wikipedia'\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal'\n", "\"" ] }, { "cell_type": "code", "execution_count": 203, "metadata": {}, "outputs": [], "source": [ "pswiki_sidebar_views <- wmf::query_hive(query)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pashto Wikipedia Sidebar Views with Language Links Included" ] }, { "cell_type": "code", "execution_count": 204, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 10 × 3
sidebar_linkn_viewsproportion
<chr><dbl><dbl>
languages 1031776.95807847
main_page 181513.53871401
community_portal 561 4.18469342
download_as_pdf 177 1.32030434
what_links_here 152 1.13382068
create_a_book 127 0.94733701
recent_changes 111 0.82798747
current_events 77 0.57436969
special_pages 58 0.43264210
related_changes 11 0.08205281
\n" ], "text/latex": [ "A data.frame: 10 × 3\n", "\\begin{tabular}{r|lll}\n", " sidebar\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t languages & 10317 & 76.95807847\\\\\n", "\t main\\_page & 1815 & 13.53871401\\\\\n", "\t community\\_portal & 561 & 4.18469342\\\\\n", "\t download\\_as\\_pdf & 177 & 1.32030434\\\\\n", "\t what\\_links\\_here & 152 & 1.13382068\\\\\n", "\t create\\_a\\_book & 127 & 0.94733701\\\\\n", "\t recent\\_changes & 111 & 0.82798747\\\\\n", "\t current\\_events & 77 & 0.57436969\\\\\n", "\t special\\_pages & 58 & 0.43264210\\\\\n", "\t related\\_changes & 11 & 0.08205281\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 10 × 3\n", "\n", "| sidebar_link <chr> | n_views <dbl> | proportion <dbl> |\n", "|---|---|---|\n", "| languages | 10317 | 76.95807847 |\n", "| main_page | 1815 | 13.53871401 |\n", "| community_portal | 561 | 4.18469342 |\n", "| download_as_pdf | 177 | 1.32030434 |\n", "| what_links_here | 152 | 1.13382068 |\n", "| create_a_book | 127 | 0.94733701 |\n", "| recent_changes | 111 | 0.82798747 |\n", "| current_events | 77 | 0.57436969 |\n", "| special_pages | 58 | 0.43264210 |\n", "| related_changes | 11 | 0.08205281 |\n", "\n" ], "text/plain": [ " sidebar_link n_views proportion \n", "1 languages 10317 76.95807847\n", "2 main_page 1815 13.53871401\n", "3 community_portal 561 4.18469342\n", "4 download_as_pdf 177 1.32030434\n", "5 what_links_here 152 1.13382068\n", "6 create_a_book 127 0.94733701\n", "7 recent_changes 111 0.82798747\n", "8 current_events 77 0.57436969\n", "9 special_pages 58 0.43264210\n", "10 related_changes 11 0.08205281" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#proportion of sidebar views with language clicks added\n", "\n", "pswiki_sidebar_view_wlang <- pswiki_sidebar_views%>%\n", " mutate(languages = 10317) %>% #add language clicks\n", " gather(sidebar_link, n_views) %>%\n", " filter(sidebar_link != \"view_count_total\") %>%\n", " mutate(proportion = (as.numeric(n_views) / sum(as.numeric(n_views)))*100) %>%\n", " arrange(desc(proportion))\n", "\n", "\n", "pswiki_sidebar_view_wlang " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In summary, the language links as a group are clicked more than the other links in the sidebar for all wikis reviewed. Clicks to the main page account for the second most viewed sidebar link. On the larger sized wikis reviewed, clicks to language links represent around half (39-52%) of all clicks to links in the sidebar. On the smaller-sized wikis reviewed, language link clicks represent an even larger portion (77-84%) of all clicks to links in the sidebar." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Header links\n", "\n", "Questions: what percentage of users use the user links in the header? What is the usage for all of the various links?\n", "\n", "Audiences: logged-in users, logged-out users\n", "\n", "Why this is relevant: currently the user links take up quite a bit of space in the header. As we think of ways to tidy up the site it would be helpful to understand what the usage is like there.\n", "\n", "Data Notes: Sample data from webrequest and pageview_hourly table for en.wiki. Data is from July 2019 and for desktop users on en.wiki.\n", "Pages available in header vary for logged-in and logged-out users.\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What is the usage for all of the various links in the header?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Overall views to various header links (both logged in and logged out users)\n", "#ran in terminal due to issues running over notebook. \n", "query <- \n", "\"SELECT \n", "SUM(IF(page_title = 'Special:MyTalk', 1, null)) AS MyTalk,\n", "SUM(IF(page_title = 'Special:MyContributions', 1, null)) AS MyContributions,\n", "SUM(IF(page_title = 'Special:CreateAccount', 1, null)) AS CreateAccount,\n", "SUM(IF(page_title = 'Special:UserLogin', 1, null)) AS UserLogin,\n", "SUM(IF(page_title LIKE 'User:%', 1, null)) AS UserPage,\n", "SUM(IF(page_title LIKE 'User_talk:%', 1, null)) AS User_talk,\n", "SUM(IF(page_title LIKE 'User:%/sandbox', 1, null)) AS Sandbox,\n", "SUM(IF(page_title = 'Special:Preferences', 1, null)) AS Preferences,\n", "SUM(IF(page_title = 'Special:Watchlist', 1, null)) AS Watchlist,\n", "SUM(IF(page_title LIKE 'Special:Contributions%', 1, null)) AS Contributions,\n", "SUM(IF(page_title = 'Special:UserLogout', 1, null)) AS UserLogout\n", "FROM wmf.pageview_hourly\n", "WHERE year = 2019 and month = 7 \n", " AND agent_type = 'user'\n", " AND project = 'en.wikipedia'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", "\"" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [], "source": [ "header_views_overall_raw <- read.csv(file=\"Data/header_views_overall.tsv\", header=TRUE, sep=\"\\t\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Percent of logged out users that view each header link" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 4 × 3
header_linkn_viewsproportion
<chr><int><dbl>
createaccount 2193920.52479846908
mycontributions1027600.24580791771
mytalk 958800.22935055615
userlogin 180.00004305705
\n" ], "text/latex": [ "A data.frame: 4 × 3\n", "\\begin{tabular}{r|lll}\n", " header\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t createaccount & 219392 & 0.52479846908\\\\\n", "\t mycontributions & 102760 & 0.24580791771\\\\\n", "\t mytalk & 95880 & 0.22935055615\\\\\n", "\t userlogin & 18 & 0.00004305705\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 4 × 3\n", "\n", "| header_link <chr> | n_views <int> | proportion <dbl> |\n", "|---|---|---|\n", "| createaccount | 219392 | 0.52479846908 |\n", "| mycontributions | 102760 | 0.24580791771 |\n", "| mytalk | 95880 | 0.22935055615 |\n", "| userlogin | 18 | 0.00004305705 |\n", "\n" ], "text/plain": [ " header_link n_views proportion \n", "1 createaccount 219392 0.52479846908\n", "2 mycontributions 102760 0.24580791771\n", "3 mytalk 95880 0.22935055615\n", "4 userlogin 18 0.00004305705" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#isolate to links viewed by logged out users\n", "\n", "header_views_overall_loggedout <- header_views_overall_raw %>%\n", " gather(header_link, n_views) %>%\n", " filter(header_link %in% c('mytalk', 'mycontributions','createaccount','userlogin')) %>%\n", " mutate(proportion = (n_views / sum(n_views))) %>%\n", " arrange(desc(n_views))\n", "\n", "header_views_overall_loggedout" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC9FBMVEUAAAAAv8QBAQECAgID\nAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQV\nFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYn\nJycoKCgqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs9PT0/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tNTU1OTk5P\nT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBh\nYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJz\nc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx8rgB9fX1+fn5/f3+AgICBgYGCgoKDg4OE\nhISFhYWGhoaHh4eIiIiKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaX\nl5eYmJiZmZmampqbm5udnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamq\nqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS2tra3t7e4uLi5ubm6urq7u7u8vLy9\nvb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7P\nz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh\n4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz\n8/P09PT19fX29vb39/f4dm34+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////5c9pTAAAACXBIWXMA\nABJ0AAASdAHeZh94AAAgAElEQVR4nO2de5wcZZnv60ASAqho0MXbuhJcL7t71nWz7roej7q6\n6p4EJWISEgKjsEIIBleDe5CjCHhjFRXQddUFV+UWOYhNuISbgGjIAEnESLhOuCQTAiGBQE4u\nk3n/OV1d3TNd9XTneTvzPu+vCn7fzyc91dU9/f7ep59vuqqnujpxhJAxk6ADEPJ8gCIREgCK\nREgAKBIhAaBIhASAIhESAIpESAAqIVJSZ+JB7/yXlbu/U6w4ezzetpMPHt/zb/Uyjnbf7PYO\n99rdL6qpx1j52E+cDZWYRNLi2G27u1PnZbtQPf/K59M5WI5jIpKaOoZIpbet7PkapFUc2nDD\nMeOSubu/U6flEnFIctn2nn8pvEg9/qKamiK5ComUctX45DfqnYrLJWJcMtz7L8FFUlNTJFcx\nkdy85J/TH1f+46R93rBwU7p48btfNeHV05e07rR1ZjLu3NamoHO7/v1vXrT/278/nD3IztMP\nmfiGM7a3P27bqlvmvHb8QTNWN27YdtrkiYecOdQcd2S4v0oWNVZckrxtJNRolsnJivpv7pO8\ntr68IjkkFy4brZkqSZ6bf5BIN3TG5H3f+kuXJnrLxbnJD535+n3+7EJXGC4XePsZh9QD7xSZ\nRsZqL2Trsu1x24rXLXU+rXzU9ttz9etSzGJoV3yQ5vrGj5EUuYbIfrTl7TDx/GzsqJZItyR/\nUb/8QlbVP9/s3BdHK5xerP/75CWL28p+RLZwZPYgRzauHNr+uG2rsrtOerC+OPy/Gstzs3FH\nhzs3+WDj9z6QnNcK1ZblmOQc526tX7nXuX9PjW8LNzpAQ6TpHdIdnS6Pv+0j6Y+9bmsP+fHG\n3a4qDJcLfGj2SCLTyFjthWxdtj1uW/G6pc6nlY/adnuuft2KWQidkR9k9NF3I1Jb3g4TL8zG\njmqJtDGZ5NyS5LWXbnjutrcnn3Pu5cmnB3Y8WfvH7E53H5y8/ndtv3BhMvFb69Z+Y0JySWPd\nxG8Prvv2xOTCtsdtW/WhqzY91//e5Nj64n8l+503OHjuvo2HaRtu48S9H6mveWTviRubY7Rn\nuTj5qHNnJR9Mvu/ckcmluXC5eSTJgT9/WqQ78KKnBv4xeWX64/3Jh9sn/4pLNj343uQDheHa\nA/+sMZGz9xGZWmPlArQuRx+3vXhdUhfTFh+1/fZc/boVMx/adXrCRGZRyFzeThMXs7GiWiLt\nTMY7d2hyc7r8QPJG5w5Mrtw5cqerD0j+brD9F96XnJ7+ODV5f2PdGemV05P3tT1ucdW6ZHL9\n8h+Sr6VXzmw8TPtwM5Mz64tnJLNaY7TfuGGvVzr34WTFXjPqO+h7PZELl5tHkvywQ7qf1i/v\nbv04uP2Xfla/XJm8vDBce+D3ZRP5osjUGisXoHU5+rjtxeuSupBWPGr77bn6dS1mLnRGYRCR\nWRQyl7fTxMVsrKiWSI1XpIOSceP23nuvJNnHuROSZP93nf5IdqdxyYytuV84MHkg/XFf8orG\nusaV+7POad6tbdV1U181vr4NMLHxe+n2Uv0ZSR+mfbhrk0OG3fAhycg+WfuN9V2oe9wr/8JN\nOcgNJn/tcuFysZLk0Q7p6ua5Ha0fE9p/6cn65fZk7+JwucDNiYhMzbFyAVqXo4/bXrwuqQtp\nxaO2356rX9di5kK7Tk+YyCwKmcvbaeJiNlZUS6Sbk//u3PgkGdnw3Xn2X9Z/7n+TyzajL83/\nwrik0RvPpa9j9XVtV1p3G111yV6jW9Mjv5deaR9u+PXJDe765ODh1hjtN7rPJj+4PznJfT65\n+7LkZJcLl4uVJLs6pMvfQ0xeDOcVuDVW7rFyrdm6MlK8LqkLacWjtt+ei9M1W+4G1+kJE5k7\n1WQ0b6eJi9lYUS2Rjk+Oc+4V2X9bLTZc9p7k7Y07fSoZ99PcLxzY/oqjvCL9WXLc6q3u2cZv\nTmr/TzQ33GnJHDc7+dLIGLkbr07m/FdypbslOfczybX5cLlYndN1uIdY1T5ce+Dcf+65TJ0a\nsKNIo8XrnLpT2vY7tN+eq1/XYnZ/RcoG2SvZUb98spNIuZtG8naZeH42VlRKpKvGJ0udm5p8\nNn/zU8mLsjudkOz9o8aa8dn/bP+QbXJ/sbnJne7f1Hdw2veRRldNTNJ3Ta9oDPXe5Ovp+i83\nruSGG9h7v4H99h4YCZW78bmJf3LchGfc0Ms+8o6Jz+XD5ebR/FFI1+EeYlX7cO2B35dN5Esy\nk7dIo8XrnLpT2vY7tN+eq1/XYuZCO1mSA5P0kLCfZTc3n9EmuZtG8nadePtsrKiMSENP3Hjs\nuKSvfu2mvZJj79i8bfUP/t65d/3kkZ3rTmn9Lzl8XLLXd9NfeF3yg2dd9r7QuvR9oYsbt+97\nzuDgOfs29rFbjzu66k+TU5586tJXNup/QbL/99av/+5+jSvtw6XP/tsbz3Lzmcrf+O7kle+q\n/5g+aZ/3plfbwo3OY/RHIV2He4hV7cO1B/5ZYyLfmSgz+YvUKl6X1J3Stt+h/fZc/boWMxfa\nyZJ8IHnvg5sufUV2c/MZbdJ+02jeThMXs7GiIiI1+WTjWLtv7T2yKdxc+JLLKjd8bJJ8s758\nYvPmj2U3H5E9yJzGlUOH2x53dNVZjaW5jfoPf7BxZU62z982nHMX1X9e3PxlcWP9f930f9Qf\nJslX22J/qW289h+FdJ3uIVa1DZcLPK1x5UiZyV+kVvG6pe6QNneHtttz9etazHxoWZLFjcWP\nZze3ntGM9pva8naYuJiNFZURaZ+D3vmZu5vXl835k332+/N/WeHcbz4xecIr331Jdqf6xXC9\nuF927tlPT56QXt913l/vt9+U7+3Kbt/xhYP3mXx67siG0VVD//bGiYec3vwz+9b66kPOuCd5\nVWE457YdmBy4zY2Ml79xaZL8uv7jkSS5Pb3aFs61/0qrIfLpOt1DrhodLhd4++mT9zn4tJ0y\nUw8iNYvXLXWHtLk7tN+eq1/XYuZDi0HchX824XWnN4+IaD2jTdpuas8rJy5mY0UlRApCIqfa\nYVU7ZyYfsgrzgiBXv+d7MSlSJ97/y0eeu+fz+yQX2UZ63pKr3wujmBSp830bHG6b6PlLrn4v\njGJSpE5cP/0NE1/6P/5jV5ebiUKufi+MYr5wRCLEEIpESAAoEiEBoEiEBIAiERIAikRIACgS\nIQGgSIQEgCIREoCKirRpTZxTWoTkmTW7OeFySdm65ln9TiVjx5qn9TsFJ6RIa1ZF49e1FfEG\nC8TS2p3oCD3TX7sdHaFnltduizfYyGlVQoq0aUM0ltcejTdYIFbVHkRH6Jn7a/egI/TMmtrK\neINtthApIvfWqrfJ8XDtSXSEnnm89hg6Qs88XXtAv1NwKFI0KFIcKFIPUKQ4UCRfKFI0KFIc\nKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRf\nKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIP\nUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfKFI0\nKFIcKFIPUKQ4UCRfKFI0KFIcKFIPUKQ4UCRfIon0/0qPfQ0oUhwoEhT7GlCkOFAkKPY1oEhx\noEhQ7GtAkeJAkaDY14AixYEiQbGvAUWKA0WCYl8DihQHigTFvgYUKQ4UCYp9DShSHCgSFPsa\nUKQ4UCQo9jWgSHGgSFDsa0CR4kCRoNjXgCLFgSJBsa8BRYoDRYJiXwOKFAeKBMW+BhQpDhQJ\n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\nZrQlHpj3WplFGj5/1qwfD+eWV/T1raxfu27BkM8DoDXRkZnRmujIzGhLPPBquLFQZpGuOmlw\n8KRrcssnLFs637kNcwa8HgCtiY7MjNZER2ZGW+KBV7+MhTKLtLDfuf6Tc8uH7dwx3Q2fushv\nGLQmOjIzWhMdmRltiQd+DTMGyizSjM3ObZqZW57X3z/fXblwl98waE10ZGa0JjoyM9oSD/wa\nZgyUWaRp9R2hoUNzy8v7+lasnf3o8mxXyZ04Z86cK27uCloTHZkZrYmOzIy2xIPuTRKIm2pL\nzMcY4e7eROrwilRneGHNzVu2bL6HSKFZUrsp3mCBuK52AzpCz9xQux4doWfKLFKHfaQ6i04Z\nznaV4nNv7VnAqGPj4dqT6Ag983jtMXSEninzpt3i1rt2U9uWB2avd9muUnwoUhwoki++f0ea\nOfOC9O9IU0eXhxZcW1+R7iqZBuwMRYoDRfIl0pENoaFIcaBIvlCkaFCkOFCkHqBIcaBIvlCk\naFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBI\ncaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCk\nOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBIvlCkaFCkOFCkHqBIcaBI\nvlCkaFCkOFCkHqBIcaBIvlRUpEWzBtEReub6WavQEXrmzlm3oiP0zMCsKwCjVlSkH06p3v+U\nV0y5Cx2hZ26bcg06Qs/cP+WngFEpUjQoUhwoUg9QpDhQJF8qKtIDS55DR+iZx5Y8hY7QM08s\nqd6+6DNL1gBGrahIhJQLikRIACgSIQGgSIQEgCKRLmxrXC4Bp6gKlRRp5a/c1feiQ/TOusXr\n0RF6YHjBTfXLJ49C56gIlRRpYO63j6lST2bcOPfnA+gM/myrV/km5x6ahw7SM7fNm780/qiV\nFMn9eOrl6Ag9s372Y27HA9vRMTxJX49Sk373OXSSXunv6+//+OLow1ZTpF8uTf+3rBY3nuZu\n6Tv2uKoctZ5aVP/32zPRQfzZ9fv6xdrP/67+n9YnoptUQZEaL93p87zpfnSUXtjU98/z7nan\n3YLO4Utm0hnT5xwxa0Y1Xv8H/23YbZl7+A6HMKl6IjVfugeO+sHxP0dn6Ykt9+1yG+euQ8fw\n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\nBOD/A/ChJ6TlNLhhAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#plot bar chart showing usage\n", "\n", "p <- ggplot(header_views_overall_loggedout, aes(x= header_link, y= proportion, fill = header_link)) %>%\n", "+ geom_col(position = 'dodge') +\n", "scale_y_continuous(\"Proportion of header views\", labels = scales::percent) +\n", " labs(title = \"Desktop pageviews from header links for logged out users\") +\n", " ggthemes::theme_tufte(base_size = 10, base_family = \"Gill Sans\") +\n", " theme(axis.text.x=element_text(angle = 45, hjust = 1),\n", " plot.title = element_text(hjust = 0.5),\n", " panel.grid = element_line(\"gray70\"),\n", " legend.position= \"none\")\n", "\n", "ggsave(\"Figures/proportion_header_views_loggedout.png\", p, width = 18, height = 9, units = \"in\", dpi = 150)\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "he create account link is the most viewed page in the header for logged out users. It accounts for about 52% of all desktop pageviews to links in a header for logged out users. Note: There were very few views to then UserLogin page compared to the other pages in the header bar, which seems unlikely. I spent a little time digging into the data but have not yet determined if this is real behavior or a bug." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Percent of logged out users that view each header link" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 7 × 3
header_linkn_viewsproportion
<chr><int><dbl>
userpage 12808510.332278703
user_talk 10237400.265578900
contributions 8703120.225776568
watchlist 5114550.132681791
sandbox 839600.021780925
userlogout 552910.014343606
preferences 291400.007559506
\n" ], "text/latex": [ "A data.frame: 7 × 3\n", "\\begin{tabular}{r|lll}\n", " header\\_link & n\\_views & proportion\\\\\n", " & & \\\\\n", "\\hline\n", "\t userpage & 1280851 & 0.332278703\\\\\n", "\t user\\_talk & 1023740 & 0.265578900\\\\\n", "\t contributions & 870312 & 0.225776568\\\\\n", "\t watchlist & 511455 & 0.132681791\\\\\n", "\t sandbox & 83960 & 0.021780925\\\\\n", "\t userlogout & 55291 & 0.014343606\\\\\n", "\t preferences & 29140 & 0.007559506\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 7 × 3\n", "\n", "| header_link <chr> | n_views <int> | proportion <dbl> |\n", "|---|---|---|\n", "| userpage | 1280851 | 0.332278703 |\n", "| user_talk | 1023740 | 0.265578900 |\n", "| contributions | 870312 | 0.225776568 |\n", "| watchlist | 511455 | 0.132681791 |\n", "| sandbox | 83960 | 0.021780925 |\n", "| userlogout | 55291 | 0.014343606 |\n", "| preferences | 29140 | 0.007559506 |\n", "\n" ], "text/plain": [ " header_link n_views proportion \n", "1 userpage 1280851 0.332278703\n", "2 user_talk 1023740 0.265578900\n", "3 contributions 870312 0.225776568\n", "4 watchlist 511455 0.132681791\n", "5 sandbox 83960 0.021780925\n", "6 userlogout 55291 0.014343606\n", "7 preferences 29140 0.007559506" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#isolate to links viewed by logged in users\n", "\n", "header_views_overall_loggedin <- header_views_overall_raw %>%\n", " gather(header_link, n_views) %>%\n", " filter(header_link %in% c('userpage','user_talk', 'sandbox','preferences','watchlist', 'contributions', 'userlogout' )) %>%\n", " mutate(proportion = (n_views / sum(n_views))) %>%\n", " arrange(desc(n_views))\n", "\n", "header_views_overall_loggedin" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n/1dwz/RMlwAA7JMZOwCAmEgf7H73u99961vfSj1+6qmn+vfvX1hYOHLkyC1btrRwbQAANEH6\nYHfffff94Ac/CCFs3Ljx4osvXrVqVVVV1aJFi+6+++6WLw8AgKjSB7vXXntt8ODBIYSnn356\n27Zto0eP3rJly5133vnYY4+1fHkAAESVPtjt2rUrddY1leS+//3vd+rU6aqrrlq9enWLVwcA\nQGTpg93hhx8+Y8aMZcuWLVq0qHv37scff3wIIS8vr0OHDi1fHgAAUaUPdueee+7kyZNPPfXU\nEMJ5552XanzppZeGDh3asqUBANAU6YPdzTfffN5553Xu3Hno0KE/+tGPUo1TpkyZMGFCy5YG\nAEBTpL9BcefOnZ944ok6jYsXL26ZegAAaCY3KAYAiIn0wa5fv36XXXbZb37zm3Xr1rVCQQAA\nNE/6U7EffvjhAw888MADD4QQjj766NNPP33YsGFf//rXDz744JYvDwCAqNIHu7/85S/Lli17\n8cUXly1btmLFihUrVkybNi03N/crX/nKn//851YoEQCAKNKfih00aNDVV189f/78ioqK9957\n7/vf/35RUVF1dfUrr7zSCvUBABBR+hm7EMKWLVuWLl36zDPPPPPMM+vXrz/55JNTJ2RbujgA\nAKJLH+xOO+201157bdCgQaeffvqcOXO+9rWvFRQUtEJlAAA0SfpTsTn1tEJZAAA0Vfpg9/vf\n/37dunX/5//8n82bN19xxRWHHHLI8OHD77nnntdff70V6gMAIKJI19h17Njxm9/85je/+c0P\nP/zw17/+9b333vvcc8+FEJLJZAuXBwBAVOmDXVlZ2R//+Mdly5YtW7bsk08+STXm5uYef/zx\nLVwbAABNkD7YDRo0qObxUUcdNWzYsNNPP/20005zg2IAgDYlfbDr06dP6uYmp59+enFxcSvU\nBABAM0T6SrFWqAMAgP2U/lOxAABkhUjB7t13373ooosOO+ywdu3+s//QoUPfeOONliwMAICm\nSR/s/vrXv5544onz58+vrKysub/JlVdeef/997dwbQAANEH6YHfjjTd27dp14cKFmzZtqmk8\n9dRTlyxZ0pKFAQDQNOk/PPHCCy8sWbLkxBNPrN3YtWvX1atXt1hVAAA0WfoZu23bth155JGp\nxzVfFLt69erCwsIWrAsAgCZKH+xKS0sXL16celwT7ObOnVuT9gAAaAvSn4o9764aNE8AACAA\nSURBVLzzLr/88k8++eTss8/OyclJJBLz5s2744477rrrrlaoDwCAiNLP2N1www3FxcXXXXfd\nwIEDq6ure/fufeONNx577LFXX311K9QHAEBE6YNdly5dXn755WuuuaZXr175+fk9evS49tpr\nly5dWlBQ0Ar1AQAQUfpTsSGErl27Tp8+ffr06S1dDQAAzeYrxQAAYqLhGbvUp19T3zNR80nY\n+mq+iAIAgIwzYwcAEBMNz9jVnoozLQcAkBXSz9ht2LChFeoAAGA/pQ92PXv2/Pa3v/3MM8/s\n3bu3FQoCAKB50ge7vXv3Pv7442eddVbv3r1vuummVatWtUJZAAA0Vfpgt2bNmhkzZnz1q19d\nvXr17bffPmDAgGHDhv3617/esWNHK9QHAEBE6YPdl770pauvvvrll1/+4IMPbr311r/5m7/5\n/e9/P2bMmB49erRCfQAARNSE253079//pptuevvtt3/5y1926tRp8+bNLVcWAABNFekrxVIq\nKysffvjhhx566M033wwhHHzwwY10fuONN5544ol33nmnY8eOX/nKVy699NLOnTuHEJLJ5EMP\nPfTss8+GEEaMGDF27Nj6N0BusE9ZWdl9990XQpg0adIxxxyT6rl06dKnn3763nvvzc3NbcKb\nBgCIo/Qzdrt27XriiSdGjRrVo0ePiRMnvvnmmyeddNIvfvGLNWvWNLLUwoULzzvvvHnz5k2f\nPj03N3fq1Kmp9iVLlixfvnzq1KlTp0598803n3vuufrLNthn9uzZV1111ZVXXjl79uxUtw0b\nNsyZM2fSpElSHQBAiDJj1717902bNoUQDj744DFjxlxxxRU1E2aNuPXWW1MPCgsLx48fP378\n+NTT559/fsyYMcXFxSGEMWPGzJ8/f/jw4XWWbbBPRUXF4MGDk8nkj3/84xBCMpmcNm3aqFGj\nevfu3YS3CwAQX+mD3aZNm7761a9efvnlF110UYcOHZrxGmVlZX379k09TiQSRxxxROrxgAED\nEolE/f4N9ikpKVm+fHkIoXv37iGERYsWVVVVnX/++Q2+4g033FBzCeCoUaMaP2tcx3HRu37x\n/PnPf850CZFs3749hLB8+fK8vCZcbEAIYefOnSGE//t//69NFwPZcsDu2rUrhPDBBx+Ul5dn\nupaIvprpAtqubBl11dXVIYREIpGl38LQpUuXv/mbv2nwR+l/d5eVlUWZotuXVatW/fznP//h\nD3+Yerpjx46OHTumHnfq1KnBe6Y02Ofyyy+fNm1aCGHixIkVFRWPPPLIPffc89Zbb6Uaa194\nF0JYu3btxo0bU4+3bNmSn5/f7PqpLRWY2r7du3eHEHbu3NmunW9Dbpo9e/aE7Np0LsTYt2w5\nYFN/YquqqlIPyGrZMupSX5e6e/fubCm4jkYm2tIHu/1JdW+99dbUqVOvu+66fv36pVqKioq2\nbdt20EEHhRC2bt1aVFRUf6kG+wwaNOjBBx8MISSTyeuvv3706NE9e/a88847r7rqqhDC7Nmz\nZ8yYUbOGVM/mqVqysNnLxt6wYcMyXUIkK1eufPvtt0866aTUR3aILpFIlJWVDRkypEuXLpmu\nJZo/vJ3pCtqubDlgKysrX3nllaOOOqpnz56ZriWSh/8j0xW0Ydky6rZt2/b73/++f//+AwYM\nyHQtB1gL/lO+bNmye++995//+Z+POuqomsbS0tL3338/9fiDDz4oLS2tv2DjfRYsWJCfnz9y\n5MgQwtq1awcPHjxo0KCKioqWehsAAFmipS6jWbhw4dNPP33bbbf16tWrdvvQoUPnzZt3+OGH\nhxDmzZt31lln1fzonHPOeeqppxrv8/HHHy9cuHDKlCmpm6TUufAOAOCLrKWCXepk6IQJE2pa\n5s+fX1hYOGLEiHXr1k2cODGEMGLEiDPOOKP+svvqU11dPXXq1EsuueSwww5LtdS+8K6F3ggA\nQLZoqWCXmnurLycn59JLL7300ksbWWRffXJzc1P3KK5Rc+EdAADpr7HLy8t78sknW6EUAAD2\nR/pgN2TIkIEDB7ZCKQAA7I/0we6RRx6ZMmXKY489tnbt2tQ9rgAAaIPSX2PXv3//EMIDDzxQ\n/0ep+/sBANAWZMnN5QEASCf9jJ1pOQCArGDGDgAgJiIFu3ffffeiiy467LDDar4XfOjQoW+8\n8UZLFgYAQNOkD3Z//etfTzzxxPnz51dWVtaclr3yyivvv//+Fq4NAIAmSB/sbrzxxq5duy5c\nuHDTpk01jaeeeuqSJUtasjAAAJom/YcnXnjhhSVLlpx44om1G7t27bp69eoWqwoAgCZLP2O3\nbdu2I488MvU4Jycn9WD16tWFhYUtWBcAAE2UPtiVlpYuXrw49bgm2M2dO7cm7QEA0BakPxV7\n3nnnXX755Z988snZZ5+dk5OTSCTmzZt3xx133HXXXa1QHwAAEaWfsbvhhhuKi4uvu+66gQMH\nVldX9+7d+8Ybbzz22GOvvvrqVqgPAICI0ge7Ll26vPzyy9dcc02vXr3y8/N79Ohx7bXXLl26\ntKCgoBXqAwAgovSnYkMIXbt2nT59+vTp01u6GgAAms1XigEAxETDM3Y1n35tXM0XUQAAkHFm\n7AAAYqLhYJesZd26dVdfffWjjz66du3aqqqqioqK3/zmNxMmTFi/fn0r1woAQCPSf3hi3Lhx\n06dPHzhwYOppSUnJRRddNHjw4EsuuWTRokUtXB4AAFGlPxX7hz/8oX5jTk5Og+0AAGRK+mDX\nq1evUaNGPfHEE+vXr9+9e/e6desWLFhw9tlnH3744a1QHwAAEaU/FXv33XdfeOGFF1xwQe3G\n3Nzcxx9/vMWqAgCgydLP2J1//vmvvfbahRde2KdPn4KCgj59+lx00UWvv/76ueee2wr1AQAQ\nUaRvnjjuuOMeffTRli4FAID94T52AAAxkT7Y7d279yc/+cmRRx6Zn5+f89+1Qn0AAESU/lTs\nrFmzfvCDH7RCKQAA7I/0M3b333//6NGjN23aFEKoqqpatWrVlClTvvvd727ZsqXlywMAIKr0\nwW7VqlV33313ly5dQgg5OTl9+/adNGnSuHHjrr322pYvDwCAqNIHu4KCguLi4hBCUVFRIpFI\nNR533HELFy5s2dIAAGiK9MFu9OjRL730Ughh4MCBN9100/r16zdv3nzzzTe3a+cTtQAAbUj6\ncPa9733ve9/7XgjhH/7hHx555JHi4uIuXbpMnTr1G9/4RsuXBwBAVOk/FdunT5/f/va3IYR/\n+qd/qqioeOihh5LJ5De+8Y1p06a1fHkAAEQV6ZsnevfuHULIzc2dMmXKlClTWrgkAACaI9J1\ncu++++5FF1102GGH1VxXN3To0DfeeKMlCwMAoGnSB7u//vWvJ5544vz58ysrK5PJZKrxyiuv\nvP/++1u4NgAAmiB9sLvxxhu7du26cOHC1D2KU0499dQlS5a0ZGEAADRN+mvsXnjhhSVLlpx4\n4om1G7t27bp69eoWqwoAgCZLP2O3bdu2I488MvU4Jycn9WD16tWFhYUtWBcAAE2UPtiVlpYu\nXrw49bgm2M2dO7cm7QEA0BakPxV73nnnXX755Z988snZZ5+dk5OTSCTmzZt3xx133HXXXa1Q\nHwAAEaWfsbvhhhuKi4uvu+66gQMHVldX9+7d+8Ybbzz22GOvvvrqVqgPAICI0ge7Ll26vPzy\ny9dcc02vXr3y8/N79Ohx7bXXLl26tKCgoBXqAwAgokjfPNG1a9fp06dPnz69pasBAKDZIn3z\nBAAAbV/6YLdnz55p06YNHjz4kEMOyfnvWqE+AAAiSn8q9rrrrnMSFgCg7Us/Yzd37txzzz33\njTfe2Lp1a/K/a4X6AACIKP2MXXV19QMPPNC1a9dWqAYAgGZLP2N3wQUXrFy5shVKAQBgf6QP\ndjNnznzssccee+yx9evXO/0KANBmNXwqNuInXuU8AIC2w33sAABiouEZO1NxAABZx4wdAEBM\nCHYAADEh2AEAxIRgBwAQE4IdAEBMNBzsat/HLuI97QAAyKyGg11ubu6OHTtauRQAAPZHw8Gu\ne/fuP/3pT7dt29bK1QAA0GwNB7tzzjnnuuuu69SpU+o8bM4+tG6pAAA0puFvnrjnnnv27t37\n1FNPrVmzppULAgCgeRqesevUqdNPf/rTTz75JPXdYsl9aN1SAQBoTPrbnQhwAABZIdJ97BKJ\nxPjx43v06NG+ffuePXuOHz++vLy8pSsDAKBJGr7GrrZEInHCCSesX78+9XTNmjVz5sxZvHjx\n66+/fvjhh7dweQAARJV+xu6WW27ZvXv3zJkzE4nEzp07E4nEzJkzd+3adfPNN7dCfQAARJR+\nxm7JkiVz584dOXJk6mmvXr0mTJjQu3fvK664ooVrAwCgCdLP2FVWVp5yyil1Gk899dTKysqW\nKQkAgOZIH+y6deu2bNmyOo0vvvhit27dWqYkAACaI32wGz58+NixY2fNmlVeXl5VVVVeXj5r\n1qxx48adeeaZrVAfAAARpQ92kydPzs3NnTBhQmlpaWFhYWlp6YQJE/Lz8ydPntwK9QEAEFH6\nYNenT5/XXntt3LhxJSUleXl5JSUll1xyyauvvlpaWtoK9QEAEFH6T8WGEPr06fPQQw+1dCkA\nAOyPSN88AQBA2yfYAQDEhGAHABATgh0AQEwIdgAAMSHYAQDERPpgt2fPnmnTpg0ePPiQQw7J\n+e9aoT4AACJKfx+76667bvr06a1QCgAA+yP9jN3cuXPPPffcN954Y+vWrcn/rhXqAwAgovQz\ndtXV1Q888EDXrl1boRoAAJotfbC74IILVq5cmb3Bbs2aNTt27Ije//CWKyX7rVy5MtMlRLJx\n48YQQnl5eUFBQaZryTKbN28OIXzyySebNm3KdC3sr2w5YLdu3RpCWLdu3c6dOzNdS0T9M11A\n25Uto27Xrl0hhI0bN2bpBwY6dOjQvXv3Bn+UPtjNnDnzlltu+fjjj7/+9a9/6UtfyrpNUFBQ\nkHU1t1kdOnTIdAmRfP755yGEwsLCoqKiTNeSZbZv3x5CKCwszJZ9TSOyZSfu2bMnhFBQUJAt\nBdOIbNmJubm5IYT27dtnS8F1NDJtkT7YdezYcV8/yorL7Jo611jVQnXEwr7+P2hrtm/f/skn\nn3zpS1/q3LlzpmvJMrt37w4hdO3atUuXLpmuJZr3Ml1AG5YtB2xeXl4I4ZBDDsmWgmlEtuzE\nbdu2hRA6d+6cLQVH5z52AAAxkX7GLium5QAAMGMHABATkYJdIpEYP358jx492rdv37Nnz/Hj\nx5eXl7d0ZQAANEn6U7GJROKEE05Yv3596umaNWvmzJmzePHi119//fDD3RsEAKCtSD9jd8st\nt+zevXvmzJmJRGLnzp2JRGLmzJm7du26+eabW6E+AAAiSj9jt2TJkrlz544cOTL1tFevXhMm\nTOjdu/cVV1zRwrUBANAE6WfsKisrTznllDqNp556amVlZcuUBABAc6QPdt26dVu2bFmdxhdf\nfLFbt24tUxIAAM2RPtgNHz587Nixs2bNKi8vr6qqKi8vnzVr1rhx484888xWqA8AgIjSB7vJ\nkyfn5uZOmDChtLS0sLCwtLR0woQJ+fn5kydPboX6AACIKH2w69Onz2uvvTZu3LiSkpK8vLyS\nkpJLLrnk1VdfLS0tbYX6AACIKP2nYkMIffr0eeihh1q6FAAA9oevFAMAiImGZ+xycnJCCMlk\nsuZxg1IdAABoC8zYAQDERMMzdrWn4kzLAQBkBTN2AAAxkT7Y7esau0auvQMAoPU1c8auurpa\nsAMAaFMi3ceujl27di1atOiggw464NUAANBs+wx2tSfkGpycGzZsWItUBABAszRnxq5Tp07H\nHXfcjBkzDng1AAA02z6DXc1dTnJyctzxBACg7Uv/4QmpDgAgK6QPdnl5eU8++WQrlAIAwP5I\nH+yGDBkycODAVigFAID9kT7YPfLII1OmTHnsscfWrl27Z8+eVqgJAIBmSP+p2P79+4cQHnjg\ngfo/cvkdAEDb4btiAQBiIv2MnWk5AICs0JwbFAMANNWe77yT6RL+U0EII8KAEPbsCW2lpLwH\njzwg64l0KjaRSIwfP75Hjx7t27fv2bPn+PHjy8vLD8jLAwBwoKSfsUskEieccML69etTT9es\nWTNnzpzFixe//vrrhx9+eAuXBwBAVOln7G655Zbdu3fPnDkzkUjs3LkzkUjMnDlz165dN998\ncyvUBwBAROln7JYsWTJ37tyRI0emnvbq1WvChAm9e/e+4oorWrg2AACaIP2MXWVl5SmnnFKn\n8dRTT62srGyZkgAAaI70wa5bt27Lli2r0/jiiy9269atZUoCAKA50ge74cOHjx07dtasWeXl\n5VVVVeXl5bNmzRo3btyZZ57ZCvUBABBR+mA3efLk3NzcCRMmlJaWFhYWlpaWTpgwIT8/f/Lk\nya1QHwAAEaUPdn369HnttdfGjRtXUlKSl5dXUlJyySWXvPrqq6Wlpa1QHwAAEUX65ok+ffo8\n9NBDLV0KAAD7I9I3T7z55pujR4/u169fUVFRv379Ro8evXz58pauDACAJkk/Y/fEE09ceOGF\n1dXVqacffvjhhx9++Pjjjy9YsGDUqFEtXB4AAFGln7H753/+5yOOOOLxxx9fu3ZtVVXV2rVr\nH3vssf79+//gBz9ohfoAAIgo/YxdeXn58uXLBw4cmHpaXFz8rW9969hjjx08eHAL1wYAQBOk\nn7Gr/7UTKV//+tcPdDEAADRf+hm7X/3qV3fdddfXv/71//k//2eXLl02bdr0xz/+8YUXXvA5\nWQCANiV9sOvevXsIYfr06XXaZ86cWftpMpk8gGUBANBUkW53AgBA25d+xs5UHABAVjBjBwAQ\nE5GCXSKRGD9+fI8ePdq3b9+zZ8/x48eXl5e3dGUAADRJ+lOxiUTihBNOWL9+ferpmjVr5syZ\ns3jx4tdff/3www9v4fIAAIgq/YzdLbfcsnv37pkzZyYSiZ07dyYSiZkzZ+7atevmm29uhfoA\nAIgo/YzdkiVL5s6dO3LkyNTTXr16TZgwoXfv3ldccUUL1wYAQBOkn7GrrKys/+UTp556amVl\nZcuUBABAc6QPdt26dVu2bFmdxhdffLFbt24tUxIAAM2RPtgNHz587Nixs2bNKi8vr6qqKi8v\nnzVr1rhx484888xWqA8AgIjSB7vJkyfn5uZOmDChtLS0sLCwtLR0woQJ+fn5kydPboX6AACI\nKH2w69Onz2uvvTZu3LiSkpK8vLySkpJLLrnk1VdfLS0tbYX6AACIKP2nYkMIffr0eeihh1q6\nFAAA9kf6Gbu8vLwnn3yyFUoBAGB/pA92Q4YMGThwYCuUAgDA/kgf7B555JEpU6Y89thja9eu\n3bNnTyvUBABAM6S/xq5///4hhAceeKD+j5LJ5IGvCACAZkk/YwcAQFZIP2NnWg4AICuYsQMA\niInGgt20adP69evXvn37fv363Xfffa1WEwAAzbDPU7GPPfbYxIkTU48//PDDSZMm9ezZ89vf\n/nZrFQYAQNPsc8buvvvuGzZs2IoVK3bs2PHWW2+ddtpp06ZNa83KAABokn3O2L377ruvvfZa\n3759QwhHH330L37xi5NOOqkVCwMAoGn2OWO3cePGVKpL6dev34YNG1qlJAAAmsOnYgEAYqKx\n+9jl5OQ03uIWdwAAbYcZOwCAmNjnjJ3ZOACA7GLGDgAgJgQ7AICYEOwAAGJCsAMAiAnBDgAg\nJgQ7AICYEOwAAGJCsAMAiAnBDgAgJgQ7AICYEOwAAGJin98Vu//OOeec1IOnnnqqpjGZTD70\n0EPPPvtsCGHEiBFjx47Nycmps2CDfcrKyu67774QwqRJk4455phUz6VLlz799NP33ntvbm5u\ny70RAICs0ILBLpXnauJdypIlS5YvXz516tQQwt13311SUjJ8+PA6CzbYZ/bs2VddddXevXtn\nz549Y8aMEMKGDRvmzJlz++23S3UAAKH1T8U+//zzY8aMKS4uLi4uHjNmzNKlSyP2qaioGDx4\n8HHHHVdRURFCSCaT06ZNGzVqVO/evVv5LQAAtE0tOGPXoEQiccQRR6QeDxgwIJFIROxTUlKy\nfPnyEEL37t1DCIsWLaqqqjr//PMbfJWtW7fu3bs39bigoKBdO5cSHhi7d+/OdAmRVFdXhxD2\n7NmTLQW3HTZdnGTLTtyzZ08Iobq6OlsKDiE/0wW0XY3vxLqXXlFLk8Z/Tk5OXl7DEa61g92O\nHTs6duyYetypU6cdO3ZE7HP55ZdPmzYthDBx4sSKiopHHnnknnvueeutt1KNtS+8CyFceOGF\n69evTz2+5pprunbtGr3CM5rztr4olixZkukSmuBPf/pTpkvIVq+88kqmS4isc6YLaMOy64At\nKysrKyvLdBURfTPTBbRdjY+6EWFAq1WSdZp0wBYXF59wwgkN/qi1g11RUdG2bdsOOuigEMLW\nrVuLiooi9hk0aNCDDz4YQkgmk9dff/3o0aN79ux55513XnXVVSGEmgvvUs4666wtW7akHvfv\n3z+1KvZfaWlppkuI5PPPP9+8eXP37t3z8/1j3TRbt27dtGlTcXFxQUFBpmuJ5tOPM11B25Ut\nB+yOHTsqKyu7du1a8y99G7fi7UxX0IZly6hrg5q06RoJNq0d7EpLS99///0hQ4aEED744IMG\n30bjfRYsWJCfnz9y5MgQwtq1awcPHpxMJlMX3tW45pprml1h1a+bvWj8HXvssZkuIZKVK1du\n3rx54MCBnTubz2maRCKxadOmAQMGdOnSJdO1RPOHZZmuoO3KlgO2srKysrKytLS0Z8+ema4l\nkhXZNBPa2hofdXvCO61WSdY5UAdsa198NnTo0Hnz5q1bt27dunXz5s07/fTTa35U8/nZRvp8\n/PHHCxcu/Md//MfUTVJSF96VlZWlLrwDAPgia4372KUepO5+MmLEiHXr1k2cODH1+IwzGrik\nbV99qqurp06deskllxx22GGpltoX3rXcGwEAyAotfh+7OnJyci699NJLL720kf776pObm5u6\nR3GNmgvvAABwHxAAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsA\ngJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCI\nCcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ\n7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEO\nACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAA\nYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAm\nBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKw\nAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsA\ngJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYiIv0wW0\nuLfeemvz5s3R+5/YcqVkv2XLlmW6hEiqqqpCCP/xH/+Rm5ub6VqyzK5du0IIy5cvt+liIFsO\n2D179oQQ3nnnnVWrVmW6lohOyXQBbVfjo+5r4UutVknWadIBe+ihhx511FEN/ij+we6YY45p\nUv+q3z3WQpXEwCmnZMevs5UrV7799ttDhgzp3LlzpmvJMolEoqysbNCgQV26dMl0LdH8oSzT\nFbRd2XLAVlZWvvLKK0ceeWTPnj0zXUskD/850xW0YY2Puj2/fKfVKsk6B+qAdSoWACAmBDsA\ngJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCI\nCcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ\n7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEO\nACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAA\nYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAm\n8jJdABC+9W85mS6hlpww56VM11DL4yOTmS4BIGuYsQMAiAnBDgAgJgQ7AICYEOwAAGJCsAMA\niAnBDgAgJgQ7AICYEOwAAGJCsAMAiAnBDgAgJgQ7AICYEOwAAGJCsAMAiIm8TBcAQAbkLN6Q\n6RJq5ITcr4ayEMraSknJs7plugRoJjN2AAAxIdgBAMSEYAcAEBOCHQBATAh2AAAxIdgBAMSE\nYAcAEBOCHQBATAh2AAAxIdgBAMSEYAcAEBOCHQBATORlugDi40/352S6hP+vSwhlv8l0EbWc\nfFky0yUAEH9m7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAAYkKwAwCICcEOACAmBDsAgJgQ7AAA\nYqK1g10ymZwzZ87FF1988cUX/+pXv0omG7gdf4N9ysrKvvOd73znO9956623anouXbp04sSJ\n1dXVrfcGAADaqtb+SrElS5YsX7586tSpIYS77767pKRk+PDhUfrMnj37qquu2rt37+zZs2fM\nmBFC2LBhw5w5c26//fbc3NxWfhcAAG1Qa8/YPf/882PGjCkuLi4uLh4zZszSpUsj9qmoqBg8\nePBxxx1XUVERQkgmk9OmTRs1alTv3r1b+S0AALRNrT1jl0gkjjjiiNTj0yQhZwAAIABJREFU\nAQMGJBKJiH1KSkqWL18eQujevXsIYdGiRVVVVeeff36Dr7Js2bKqqqrU4759+3bo0CF6hYdG\n7/rFk0rVNINN12w2XbOl23T5rVRHFkq36bq3Uh1ZqPFN96VWqyMLNel3XUFBwaGHNhxYchq8\nyq3ljBo16oknnkidPK2urr7gggsWLlwYpc/y5cunTZsWQpg4ceKXvvSl73//+/fcc8+GDRtS\njZMmTTrmmGNq1vCNb3xj/fr1qcfXXHNN165dW+fdAQC0tOLi4hNOOKHBH7X2jF1RUdG2bdsO\nOuigEMLWrVuLiooi9hk0aNCDDz4YQkgmk9dff/3o0aN79ux55513XnXVVSGEmgvvUu64447d\nu3enHvfo0aOwsLDl39mBV15e/sknnxx//PHt27fPdC1ZZs2aNYlE4thjj23SZC0hhPXr169a\nteroo4/u1KlTpmvJMps2bXrvvfeOPPLIQw45JNO1ZJnNmze/8847AwYM6NatW6ZryTJbt25d\nsWJF3759i4uLM11Lltm5c+df/vKXXr169ezZM9O1NEcjwaC1g11paen7778/ZMiQEMIHH3xQ\nWlra1D4LFizIz88fOXJkCGHt2rWDBw9OJpN1JjCPO+64FnwPrWXjxo0hhEMPPTRLg2kGffbZ\nZyGELl26dO7cOdO1ZJnt27eHEA4++P+1d+dhTVz7/8AnENawhLAqVhBBhHJFQFHUSoXWFlyo\nUoXKIktFL9at5VGveqFFxaWtgALu+NRi9QFtKV5BFFkUwQXqVRAFRECEQFAQZQlb8vtjbueb\nHzvUOkl4v/7KTEL45DyTyWfOfM456hoaGnTHImHIi0k1NTVkJ8NF3jhSVVVF0w0Xk8kkCEJF\nRQVNN1wtLS0EQbBYLOlrunc9eGLevHlxcXF1dXV1dXVxcXGOjo7UU4sXLx70NZWVlYmJiRs2\nbGAwGMSfhXcPHjwgC+8AAAAARrN33WP36aef1tXVbdy4kXz88ccfD/013d3d4eHhK1eu1NHR\nIfcEBARQhXfv6AMAAAAAiKt3ndgxGAwfHx8fH5/eTyUlJQ38GllZ2YiICNE9VOEdAAAAAGBJ\nMQAAAAApgcQOAAAAQEogsQMAAACQEkjsAAAAAKQEEjsAAAAAKYHEDgAAAEBKILEDAAAAkBJI\n7AAAAACkBBI7AAAAACmBxA4AAABASiCxAwAAAJASSOwAAAAApAQSOwAAAAApgcQOAAAAQEog\nsQMAAACQEkjsAAAAAKQEEjsAAAAAKYHEDgAAAEBKILEDAAAAkBJI7AAAAACkBBI7AAAAACmB\nxA4AAABASiCxAwAAAJASSOwAAAAApAQSOwAAAAApgcQOAAAAQEogsRNfjx8/TktLa2trozsQ\nyVNWVpaWlvbmzRu6A5E8z549S0tLe/nyJd2BSJ6ampq0tDQej0d3IJKHx+OlpaVVV1fTHYjk\nefXqVVpaWkVFBd2BSJ43b96kpaU9efKE7kDePiR24ovL5WZnZ3d2dtIdiOSpq6vLzs7m8/l0\nByJ5Xrx4kZ2d3draSncgkqexsTE7O/v169d0ByJ5mpubs7OzGxsb6Q5E8rS2tmZnZ9fX19Md\niOTp6OjIzs6ura2lO5C3D4kdAAAAgJRAYgcAAAAgJWS//fZbumOAvsnKyhoaGlpZWcnJydEd\ni4RhMpnvvfeelZWVoqIi3bFIGFlZ2bFjx1pZWbFYLLpjkTAyMjK6urrW1tZqamp0xyJhZGRk\ntLS0rK2tNTQ06I5FwjAYDA0NDRsbGy0tLbpjkTAMBkNNTc3GxkZXV5fuWN4yhlAopDsGAAAA\nAHgLcCsWAAAAQEogsQMAAACQEkjsAAAAAKQEEjsA6Ck9Pb29vZ3uKCRA71ZKS0ujJRIAABIS\nO7FWW1ubkpKCuexHAE33VxQUFGDxiUEJhcItW7ZkZWVRexoaGuLi4mgMSeIUFBRcv36dIIjU\n1NTS0lK6w4FRQeqPOiR24iszM3PLli2tra1YVWy40HR/EZPJbGhooDsKsdbe3s5gMDZt2hQb\nG0vldq9fv8Y0McOipqZ28uTJyMjI8+fPq6ur0x2O5MnPz9+7d29ERERJSQndsUgMqT/qkNiJ\nKR6Pd+LEiT179ri6uo4dO/bp06cdHR10ByUZ0HR/HZPJRI/dAKi+OgMDg9DQUCq3a25uVlVV\npTs6SWJgYODo6Hjt2rUFCxbo6OjQHY6EycnJiY6OtrW1NTMzCwsLu3LlCt0RSQapP+qYdAcA\nfSsqKjI2Nh47dmx2dnZsbCyTyZSVlf3xxx+VlZXpDk3coelGJjMzs7S0VE5OTk5OrqysjMvl\ntra26unp6enp6ejoyMrK0h2gGCH76oKDgwmCsLe3Dw0NJR8rKiqqqKjQHZ0kSU9Pv3Xr1o4d\nO6KjozU0NOzt7emOSJKcOXPm66+/trCwKCkpEQgEWlpaTU1NUtkF9dZpaGhI8VGHlSfElIaG\nRnx8fHJyclFR0YYNG/z9/fPy8pSUlMaPH093aOIOTTcy6urqOjo6ysrKAoGguLiYw+EIBIKS\nkpLc3NzGxkYzMzO6AxQvbDbb2tr6wIEDHA7H0tKSfNzY2Hj//v2LFy9euHDhwoULCQkJTCZz\n8uTJdAcrvlgs1pUrVwwNDZcvX042pqGhYVNTU3V1NYfDoTs6cRcXF+fj41NeXr5r166NGzda\nW1uHh4cbGxuj23hgtbW1PB7P3Nz8gw8+kMqjDj12YkpdXf3QoUNcLtfIyEhGRqaxsbG8vNzY\n2JjuuCQAmm5kNDQ0NDQ0TExMCIJoaGjgcDgLFy6kOyixRt6HFe2327Fjh5eX14cffshgMBgM\nhoyMDEruBqajoxMWFrZt2zaCIEJDQ0NCQkpKSu7du+fo6Dhx4kS6oxNT5KB1JyenKVOmnDhx\nIi8vj8zqqquri4uLpW+BrLcrMzPz1KlTixcvbmtrI7/C0nfUocdOjOTm5u7du/fy5ctaWlr6\n+vry8vIcDqeuri4rKys8PNzV1dXGxobuGMVUfn7+6dOn8/LyOByOpqYmmm7oHjx48Msvv/zx\nxx+amprU1eqLFy94PJ6lpSW9sYm/Hv12NjY2MTExY8aMMTU1VVBQkJeXpztAMcXlcqleJRaL\nNXPmzMjISB0dHV9f39LSUgcHh08++YTeCMXWkydPbt68mZCQwGazFyxYcOrUKRsbm0WLFj15\n8mT//v1ubm64iKUIBIJHjx5pa2tTe3g83p49e/bt2zdjxgwWi1VZWamvr29vby9lRx0SO3GR\nn59/5MiR1atXT5069ciRI/Ly8mTfycuXLysrKz08PGxtbemOUUzl5OQcPXrUycmJw+EcPnxY\nWVmZvOpC0w3q+vXr0dHRdnZ28vLyx44dU1NTMzIyIgiio6OjsLBw5syZdAcoAfq8J2ttbc1m\ns+kOTUy1tLRs2rSJvP9F7mGxWCwWKyYmZuzYscuXL3/vvfdoDVB8ZWZmHjp0yM7OztzcPCEh\nQVtb29vb+9atW0ePHi0oKHBzc3NwcKA7RrHQ3t7OZDJ5PN6FCxfs7OwYDAa5/+7du69fv160\naFF2dvbOnTtzcnJSU1MXLlxoa2srVUedEMRATU3N9u3bCwoKyM26ujp/f//k5GR6o5IUgYGB\nZNMVFxd7eXnl5+e/evWK7qAkg7e3d1FREfm4pqbG09OzuLhYKBS+fv36t99+ozU0sXb79u1t\n27bt3Lnz4cOH5J6Kigpvb+/MzEyhUIjDb1CizUW6evXqgQMHkpKSaIxKzAkEAg8Pj0ePHpGb\nNTU1K1aswM9EbwKBYMOGDaJHV01NDfng1atXvr6+AQEBgYGBhYWFQqEwJCTkxo0b9AT6t0Fi\nR7/m5mZvb+9ly5Z1dHRQO5HbDZ27u3tLSwuV1QmFwrCwMOqbDP3p7u52cXFpamqi9ly4cOHA\ngQM0hiQRMjIyfH19r1+/fuPGDT8/v8uXL5P7yWSloqKC3vAkBdlcaWlpQqHw5cuX/v7+5EUF\n9Kerq2vp0qXNzc3Unt9++23x4sWpqak0RiWeRK8cyF9YKs9rbm4uLS3t7u4WCoUNDQ3e3t5c\nLpfOWP8GuBVLP3l5eWtr66ysLCUlpUmTJpE7ybqTqqoqU1NTesMTf6WlpYWFhefOnaMqiOPj\n4z08PKju91GOvCvRez+DwSguLm5sbLSwsCD3VFVVVVZWzp07990GKEk6Ojp27dq1a9cuCwsL\nPp+fmZn58OFDBQUFExMTNpvt4OCA0vX+9KjmJG9hHz58OC0t7cKFC0uXLp09ezbdMYo1GRmZ\np0+f1tfXU1/Y58+fy8rKpqWlmZuba2lp0RueWBEtkDAxMaEeGxoajoYKbCR2tBE9zU2YMMHG\nxiY6OrpH3Qmyuv6UlZVdv36dw+GQrYQK4v4IhcKgoCAlJSXquHr48GFCQkJhYSGHw5kxY8bh\nw4e7u7uNjIy4XO6RI0eWLFkiVbUmb1thYaFAIHBwcKiqqgoJCdm0adPkyZOjoqLYbLaJiYmi\noiLdAYqpPqs52Wz2/Pnzx40b5+rqOm3aNLpjlADvv/9+TExMV1eXsbExl8uNiYlZsWKFkZFR\nSkrKvHnz6I5OvPRZ/Er9wkp3BTYSO3r0Ps1ZW1v3OPKgPzk5OREREVZWVpqammpqaiwWa9as\nWagg7hODwTAzM6OOq9zc3MjISFtbWwaDcfz48ffee++LL75ISkqKjo7OyMhYtmyZo6Mj3SGL\nl4KCguLiYgMDA/KGF4vF0tLS0tXV3bFjx4oVK2bNmlVWVqaoqKihoYHLsAEEBwdv3br1gw8+\nsLCwsLOz++GHHywsLDQ1NZlMpp6eHmZ17s+dO3diYmJyc3O1tLS0tbWVlJTmzJmTnJwcHR19\n5cqVZcuW2dvbt7W1ZWRkYHKi3gbI7dhstrm5udSOcKL7XvAo1V/ROsp0hmL16tX//e9/6Y5C\n3FVVVV29epV8TFWcBAUFUQdedXW1t7d3WVmZUChsa2vr6uqiLVYxRjZdRETEl19+WVdXR+58\n9uzZqlWrhEJhY2Ojv78/Vc8OfUI158j0V80pFArb2to6OzuFQiGfzw8JCTl16hRtUYoHPp/f\n31Oi9Xaj5BcWa8W+CwKBoKioSHSzqalJX1+f3BwzZsySJUsuXbpEEISBgcHBgwcNDAzoCVRC\nNDQ0iC4jwePxeDwejfGIJ3l5+XPnzqWkpBB/TqUbGxtbUVFBHXhjx451cXFJTU0lCEJRURGL\nhvWpz2UltbW1BQLBvn37NmzYsGDBAqwtMTAZGRkrK6vk5GRqj4qKSmtrK40hib+Ojo6ffvpp\n586dH3zwgY6OTmdn59mzZ8mvM0EQioqKTCbz8uXLX3/99ZgxYzw9PemNll7CP9dupvbk5uau\nXbt23bp1d+7cEV3QeZT8wuJW7LvQYzadgYvWUaYzqJKSkpcvX/7jH/8gN+/du3f//n2qMYFE\njr+JioqSk5MjS/vJMToMBkP0wKuqqkLR+sCePXvm7Ox8+vRpqkyCyWTOmTOnvb0dJf8DSE9P\nf/z4MTkf5+TJk1HNOSwDV3OSrzE2Nl6wYMG0adNkZEZ1H02PgpPek8JOmzaNmmByNAxvQmL3\nLqioqMyaNYvBYFDzreM0N1yiy3I4ODgcPny4q6trwoQJVVVVMTExixcvpnpTgNI7t7OxsTl2\n7FiPA2/cuHF0RyrWTE1N9fX1RQt0mpqaGhoaZs6cqampSXd0Ykp0gQQTExMVFRU7OztUcw5d\ne3s7qjmHTrSc7tKlS6tWrZo6derYsWPt7OzIE+C0adNGz6B1hlAopDuG0aKlpSUwMNDPz8/e\n3p4giNra2qioqIKCAiUlJU9PT5S+DiA/Pz86Onrt2rUEQcTExHz++edWVlZHjhy5f/++iorK\nihUrnJyc6I5RTD158iQlJSUtLW3NmjVkK1VWVm7fvp3P5+vq6rq4uMyfP5/uGCVGZWVlSEjI\n7NmzyWUlXV1d6Y5ITGVmZv70009Llizh8/m///67p6cn9Q3l8/lycnK47z9EVVVVO3fuPHbs\n2KtXr4KCgoKCgnDffwCVlZXBwcFtbW1nzpyRk5Mjd/J4vG3btrm6uo6enwkkdn+vgoKCxsbG\nuXPnpqamGhkZycvLBwcHU7kdgdPcEHC53OjoaHd3d/IGoui3VCgUYrK6Ady8efP48eOfffYZ\nn8+/ePEi9ftKnv5CQ0OlvtbkrXvx4kVSUtLkyZNnzZpFdyxiSigUenl57dixg0xBuFxuUFCQ\naG4H/Xn48GFmZqaSkpKjoyP53eTz+V999ZWJiUlRUdFnn322ZMkSumMUd+SFq7u7u2hfCY/H\nu3379qJFi2gM7F3Crdi/F5/PP3DgwLNnzzIzM52dnXvc0CEIgslkjvLyiIGRy0rW1dUFBASQ\n6W+P24t0ByjWvvvuu82bN1NzTPz444/KysqYSvevUFZWtrKyQtXEAAQCwdmzZ318fOTl5QmC\nUFVVlZWVPXHihKamJrmIM/Spx1REGhoahoaGqOYcImpmU319fUwKi8Tu78Vms9+8eXPp0iU3\nNzdyemvRUgDMVzcoLMvxV8TFxXl6eiooKBAEoaqqymAwTp48ial0B/bo0SNtbW26o5BgWCBh\nBLhcbmxs7Lp168jLsBkzZvzwww+WlpYaGhrkqQ/VnAPoMbMpfmSR2P3teg+pow47a2trqZ0g\n8e0hS/5H+RXYyPT4fa2qqpKXl9fU1ETT9ScvLy8qKmrevHlkNtwngUDw4MEDPT29dxmY+BNd\nSmfOnDlYIGHo8vLywsLC6uvrRS/DhELh/fv3p0+fTnd0EmD37t3r1q2bPXu2mpoauWeU/8j2\nsYIkvC3p6ent7e3kfX1dXd3g4GCCIOzt7Zuamrq6ug4ePKiurk53jGIqPz//6tWrioqKzs7O\nkyZNIiciohqQ7ugkRkBAwDfffMNkMhcuXFhfX3/+/Pm1a9daWlrSHZeY4nK5CQkJ33zzDTl0\nvU8CgSAiIuLNmzdTpkwZtfWd7e3tPRLf69evnzx5khwtERIS4uPj8/3338fExJw9e1ZGRsbL\ny8vS0lJGRqauro6umMVWXl7e0aNHg4KC9u3bl5yc7O7uTu5XUVEpKyujNzZJ0XtmU+LPSWFH\n548seuz+RiwWq8csYuHh4fX19XFxcWSlDt0BiqmcnJyjR486OTlxOJzDhw8rKytPnDhxlF+B\nDZHopDD6+vrkAkQpKSnR0dHp6enu7u5z5syhO0YxRVZz1tfX+/n5MZl9X/GSWd3r16+3b98+\nagc8CXutPkz0tWKYra3t0qVLXVxcli9fbmZm1t7efuzYMQsLi6lTp9IXu9gh78AGBga+//77\nmIpoKHos8Ufeoe5vZtPRW3BC36IXo0JdXZ2/v39ycjK5WV9ff/LkyZs3b9IblZgLDAwsKCgQ\nCoXFxcVeXl75+fmvXr0in6IeQG95eXm+vr55eXl5eXl+fn7UUScUCsnVh2BgFRUVHh4ev/76\na5/Pdnd3//jjjyEhIR0dHe84MHEjukaTcAgrhqWkpAQGBh45cgTHoajm5mZvb+9ly5ZRy2GR\nR6Crq2tgYCCZuEAPfS7xV1tb6+3tHR8f39LSUlZWFhAQUFhYSG+c9EKP3dtHzUJM/FnmHxkZ\nqaCgYGJigiF1QxEXF+fj41NeXr5r166NGzeSPZ3Gxsaqqqqj9wpsMFwu9/Tp072n5SQHDmPk\n9VCQ1ZyHDx/uXXMt2ldHzY81avUoTh94KR0CCyT0gxoZJicnZ2ZmRvx5BN68edPT0xMTOPep\n93hEgiDI6a9TUlJiYmJycnKWLVs2ymcjQmL3lpE3dHqU+bNYrJiYGNGlYKA3ajRiaWlpYWHh\nuXPnyKyuuro6Pj7ew8Nj1JY0DQqTwoxYfn7+6dOn8/LyOByOpqZmf+Ppbt26VVRUhKyO0qOh\nsJTOyPS+lsCIzkH1Ho9IEISKisqHH37o5ua2dOlSnPGQ2I1Qe3t7n4U45EVYj69leXm5srIy\nm83GaMT+iI5GNDU1PXXqlI2NzaJFi548ebJ//343NzdjY2O6YxRfmBRmZIZezfnee+/NnTu3\nv9q7UejRo0fGxsbUuY4srcOKYUMx6LUEtcfIyAiDr3vrc4m/6upqDoeDi38SEruREPYqH374\n8GFCQkJhYSGHwzEwMCCPOTU1NSMjo4aGhvDwcF9f31HeOTwAqoJYX1+fIAgWizVr1qxbt24d\nPXq0oKDAzc3NwcGB7hjF1J07d2JiYnJzc42NjT/99FNMCjMse/fuXb9+/YwZMwQCQVZWloOD\ng7KysqKiYp8TOOM3g0Jdhuno6Ijmdg4ODkuWLFm2bBmWverPEK8l2Gz2jBkzDA0NR+0Ynd6o\nc52Wlpa2tnbv8Yjm5uZ0xyg26C7yk1Si5cM5OTne3t6//fbb2bNnvb29MzIyyBesWrVq/fr1\nK1asSExMpDlcMda7ghiGKCMjw9fX9/r16zdu3PDz87t8+XKPqnYYmLu7e0tLCzVGRygUhoWF\n1dTU0B2XWKupqdm8efOjR4+oPTjqhg4jw0am97mO3I/xiH1CYjdy1OksKCioqKiI3FldXe3t\n7V1WViYUCvl8/r1797hcLq1hSoCBRyNCn9rb2318fJ4/fy7880di5cqVycnJ5GFZUVFBd4AS\nICwsLDIyksrqnj9/vnLlyu7ubrrjEl/9XYbhqBsiXEuMQH/nOrrjEl+4FTtsAoGALPOn+s/7\n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\nAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#plot bar chart showing usage\n", "\n", "p <- ggplot(header_views_overall_loggedin, aes(x= header_link, y= proportion, fill = header_link)) %>%\n", "+ geom_col(position = 'dodge') +\n", "scale_y_continuous(\"Proportion of header views\", labels = scales::percent) +\n", " labs(title = \"Desktop pageviews from header links for logged in users\") +\n", " ggthemes::theme_tufte(base_size = 10, base_family = \"Gill Sans\") +\n", " theme(axis.text.x=element_text(angle = 45, hjust = 1),\n", " plot.title = element_text(hjust = 0.5),\n", " panel.grid = element_line(\"gray70\"),\n", " legend.position= \"none\")\n", "\n", "ggsave(\"Figures/proportion_header_views_loggedin.png\", p, width = 18, height = 9, units = \"in\", dpi = 150)\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The user page, user talk page and contributions pages are the most viewed pages in the header for logged in users. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What percentage of users use the user links in the header?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## Overall for logged out users. Obtaining sample from the webrequest table. \n", "query <- \n", "\"SELECT COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user\n", "FROM (\n", "SELECT \n", "client_ip,\n", "user_agent\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE year = 2019 and month = 7\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND webrequest_source = 'text'\n", " AND is_pageview\n", "AND x_analytics_map['loggedIn'] is NULL \n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND pageview_info['page_title'] IN ('Special:MyTalk', 'Special:MyContributions','Special:CreateAccount','Special:UserLogin') \n", ") as page_info\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Logged Out Users**\n", "* Logged out users that click link in sidebar out of selected sample: 891\n", "* Percentage of logged in users that click header link: Only about 0.04% of logged out users view one of the pages found in the header. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## Overall for logged in users\n", "query <- \n", "\"SELECT COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user\n", "FROM (\n", "SELECT \n", "client_ip,\n", "user_agent,\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE year = 2019 and month = 7\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND webrequest_source = 'text'\n", " AND is_pageview\n", "AND x_analytics_map['loggedIn'] is NOT NULL \n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND (pageview_info['page_title'] IN ('Special:Preferences', 'Special:Watchlist','Special:UserLogout') \n", "OR\n", " pageview_info['page_title'] LIKE 'User:%' OR \n", " pageview_info['page_title'] LIKE 'User_talk:%' OR \n", " pageview_info['page_title'] LIKE 'User:%/sandbox' OR\n", " pageview_info['page_title'] LIKE 'Special:Contributions%')\n", ")as page_info\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Logged In Users**\n", "* Logged in users that click header link out of selected sample: 3198\n", "* Percentage of logged in users that click header link: 7.2% \n", "\n", "A higher percentage of logged in users click on a link in the header compared to logged out." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## By Feature for Logged Out Users\n", "\n", "query <-\n", "\"SELECT \n", " COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user,\n", " header_name\n", "FROM (\n", " SELECT \n", " client_ip,\n", " user_agent,\n", " pageview_info['page_title'] as sidebar_name\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE\n", "year = 2019 and month = 7 \n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND is_pageview\n", " AND x_analytics_map['loggedIn'] is NULL \n", " AND webrequest_source = 'text'\n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND pageview_info['page_title'] IN ('Special:MyTalk', 'Special:MyContributions','Special:CreateAccount','Special:UserLogin') \n", ") AS page_info\n", "Group BY sidebar_name\n", "\"\n" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "header_views_loggedout_bylink_raw <- read.csv(file=\"Data/header_views_loggedout_bylink.tsv\", header=TRUE, sep= \"\\t\")" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 4 × 3
n_usersidebar_nameuser_pct
<int><fct><dbl>
564Special:CreateAccount 0.02766742965
252Special:MyTalk 0.01236204303
125Special:MyContributions0.00613196579
1Special:UserLogin 0.00004905573
\n" ], "text/latex": [ "A data.frame: 4 × 3\n", "\\begin{tabular}{r|lll}\n", " n\\_user & sidebar\\_name & user\\_pct\\\\\n", " & & \\\\\n", "\\hline\n", "\t 564 & Special:CreateAccount & 0.02766742965\\\\\n", "\t 252 & Special:MyTalk & 0.01236204303\\\\\n", "\t 125 & Special:MyContributions & 0.00613196579\\\\\n", "\t 1 & Special:UserLogin & 0.00004905573\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 4 × 3\n", "\n", "| n_user <int> | sidebar_name <fct> | user_pct <dbl> |\n", "|---|---|---|\n", "| 564 | Special:CreateAccount | 0.02766742965 |\n", "| 252 | Special:MyTalk | 0.01236204303 |\n", "| 125 | Special:MyContributions | 0.00613196579 |\n", "| 1 | Special:UserLogin | 0.00004905573 |\n", "\n" ], "text/plain": [ " n_user sidebar_name user_pct \n", "1 564 Special:CreateAccount 0.02766742965\n", "2 252 Special:MyTalk 0.01236204303\n", "3 125 Special:MyContributions 0.00613196579\n", "4 1 Special:UserLogin 0.00004905573" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "header_views_loggedout_bylink <- header_views_loggedout_bylink_raw %>%\n", "mutate(user_pct = as.numeric(n_user)/2038498 *100) %>%\n", "arrange(desc(user_pct))\n", "\n", "header_views_loggedout_bylink\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## By Feature for Logged In Users\n", "\n", "query <-\n", "\"SELECT \n", " COUNT(DISTINCT CONCAT(client_ip, user_agent)) as n_user,\n", " header_name\n", "FROM (\n", " SELECT \n", " client_ip,\n", " user_agent,\n", " (CASE \n", " WHEN pageview_info['page_title'] LIKE 'User:%' THEN 'User' \n", " WHEN pageview_info['page_title'] LIKE 'User_talk:%' THEN 'User_talk' \n", " WHEN pageview_info['page_title'] LIKE 'User:%/sandbox' THEN 'Sandbox' \n", " WHEN pageview_info['page_title'] LIKE 'Special:Contributions%' THEN 'Special:Contributions'\n", " ELSE pageview_info['page_title'] \n", " END) as header_name\n", "FROM wmf.webrequest TABLESAMPLE(BUCKET 1 OUT OF 1024 ON hostname, sequence)\n", "WHERE\n", "year = 2019 and month = 7\n", " AND agent_type = 'user'\n", " AND access_method = 'desktop'\n", " AND referer_class = 'internal' --isolate to only views to these pages from within wikipedia. \n", " AND is_pageview\n", " AND x_analytics_map['loggedIn'] is NOT NULL \n", " AND webrequest_source = 'text'\n", " AND pageview_info['project'] = 'en.wikipedia'\n", " AND (pageview_info['page_title'] IN ('Special:Preferences', 'Special:Watchlist','Special:UserLogout') \n", "OR\n", " pageview_info['page_title'] LIKE 'User:%' OR \n", " pageview_info['page_title'] LIKE 'User_talk:%' OR \n", " pageview_info['page_title'] LIKE 'User:%/sandbox' OR\n", " pageview_info['page_title'] LIKE 'Special:Contributions%') \n", ") AS page_info\n", "Group BY header_name\n", "\"" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [], "source": [ "header_views_loggedin_bylink_raw <- read.csv(file=\"Data/header_views_loggedin_bylink.tsv\", header=TRUE, sep= \"\\t\")" ] }, { "cell_type": "code", "execution_count": 98, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 6 × 3
n_userheader_nameuser_pct
<int><fct><dbl>
975User 2.198669523
866Special:Contributions1.952869546
814Special:Watchlist 1.835607171
767User_talk 1.729620025
51Special:Preferences 0.115007329
3Special:UserLogout 0.006765137
\n" ], "text/latex": [ "A data.frame: 6 × 3\n", "\\begin{tabular}{r|lll}\n", " n\\_user & header\\_name & user\\_pct\\\\\n", " & & \\\\\n", "\\hline\n", "\t 975 & User & 2.198669523\\\\\n", "\t 866 & Special:Contributions & 1.952869546\\\\\n", "\t 814 & Special:Watchlist & 1.835607171\\\\\n", "\t 767 & User\\_talk & 1.729620025\\\\\n", "\t 51 & Special:Preferences & 0.115007329\\\\\n", "\t 3 & Special:UserLogout & 0.006765137\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 6 × 3\n", "\n", "| n_user <int> | header_name <fct> | user_pct <dbl> |\n", "|---|---|---|\n", "| 975 | User | 2.198669523 |\n", "| 866 | Special:Contributions | 1.952869546 |\n", "| 814 | Special:Watchlist | 1.835607171 |\n", "| 767 | User_talk | 1.729620025 |\n", "| 51 | Special:Preferences | 0.115007329 |\n", "| 3 | Special:UserLogout | 0.006765137 |\n", "\n" ], "text/plain": [ " n_user header_name user_pct \n", "1 975 User 2.198669523\n", "2 866 Special:Contributions 1.952869546\n", "3 814 Special:Watchlist 1.835607171\n", "4 767 User_talk 1.729620025\n", "5 51 Special:Preferences 0.115007329\n", "6 3 Special:UserLogout 0.006765137" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "header_views_loggedin_bylink <- header_views_loggedin_bylink_raw %>%\n", "mutate(user_pct = as.numeric(n_user)/44345 *100) %>%\n", "arrange(desc(user_pct))\n", "\n", "header_views_loggedin_bylink" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Language links" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Data questions: what percentage of users use language links?\n", "\n", "Audiences: logged-in users, logged-out users\n", "\n", "Why this is relevant: currently you have to scroll in order to find the language links. We're wondering if a more prominent location, perhaps closer to the article context itself, would make it easier for users to find.\n", "\n", "Data Notes: Data from [wmf.interlaguage_navigation](https://wikitech.wikimedia.org/wiki/Analytics/Data_Lake/Traffic/Interlanguage). Includes data for all projects and from July 2019.\n", "\n", "Data below reflects the percent of all requests in July 2019 that were clicks to langauge pages. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "#By project looking by the source of request (not target)\n", "query <- \n", "\"\n", "SELECT\n", " navigation_count.project as project,\n", " (navigation_count_total / view_count_total) *100 as percent_interlanguage_navigation\n", "FROM (\n", "SELECT \n", " concat(previous_project, '.', project_family) as project,\n", " sum(navigation_count) as navigation_count_total\n", " from wmf.interlanguage_navigation\n", " where date > '2019-06-31' \n", " AND date < '2019-08-01'\n", " group by project_family, previous_project\n", " ) as navigation_count\n", "INNER JOIN\n", "(SELECT project,\n", "sum(view_count) as view_count_total\n", "FROM wmf.projectview_hourly\n", "WHERE concat(year, '-', lpad(month, 2, '0'), '-', lpad(day, 2, '0')) between '2019-06-31' and '2019-08-01'\n", "and access_method = 'desktop'\n", "and agent_type = 'user'\n", "group by project\n", ") as projectview \n", "on navigation_count.project = projectview.project\n", "ORDER by percent_interlanguage_navigation DESC LIMIT 5000\"\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "interlanguage_clicks_byproject <- wmf::query_hive(query)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 50 × 2
projectpercent_interlanguage_navigation
<chr><dbl>
kg.wikipedia 10.363773
cv.wikipedia 9.953629
gd.wikipedia 9.470999
pa.wikipedia 9.375662
zh-min-nan.wikipedia 9.265733
arc.wikipedia 9.254850
ga.wikipedia 9.221888
nap.wikipedia 9.097672
ce.wikipedia 9.080891
nv.wikipedia 9.037040
koi.wikipedia 8.779625
pms.wikipedia 8.743561
ba.wikipedia 8.636493
ace.wikipedia 8.499482
stq.wikipedia 8.476840
ckb.wikipedia 8.421348
ia.wikipedia 8.302479
io.wikipedia 8.299008
bxr.wikipedia 8.293610
oc.wikipedia 8.229620
ilo.wikipedia 8.136071
cdo.wikipedia 8.135914
br.wikipedia 8.112895
yo.wikipedia 8.033573
cy.wikipedia 7.996634
wuu.wikipedia 7.987096
tum.wikipedia 7.949838
jv.wikipedia 7.903932
am.wikipedia 7.862119
gv.wikipedia 7.814249
ts.wikipedia 7.781456
pnb.wikipedia 7.775095
sco.wikipedia 7.768593
szl.wikipedia 7.753842
hak.wikipedia 7.712114
ps.wikipedia 7.707871
iu.wikipedia 7.689288
is.wikipedia 7.670631
st.wikipedia 7.669688
qu.wikipedia 7.638240
fo.wikipedia 7.545703
sah.wikipedia 7.506009
myv.wikipedia 7.491589
ht.wikipedia 7.481700
frp.wikipedia 7.469399
an.wikipedia 7.449329
xmf.wikipedia 7.414009
bh.wikipedia 7.376527
ku.wikipedia 7.334941
ext.wikipedia 7.326225
\n" ], "text/latex": [ "A data.frame: 50 × 2\n", "\\begin{tabular}{r|ll}\n", " project & percent\\_interlanguage\\_navigation\\\\\n", " & \\\\\n", "\\hline\n", "\t kg.wikipedia & 10.363773\\\\\n", "\t cv.wikipedia & 9.953629\\\\\n", "\t gd.wikipedia & 9.470999\\\\\n", "\t pa.wikipedia & 9.375662\\\\\n", "\t zh-min-nan.wikipedia & 9.265733\\\\\n", "\t arc.wikipedia & 9.254850\\\\\n", "\t ga.wikipedia & 9.221888\\\\\n", "\t nap.wikipedia & 9.097672\\\\\n", "\t ce.wikipedia & 9.080891\\\\\n", "\t nv.wikipedia & 9.037040\\\\\n", "\t koi.wikipedia & 8.779625\\\\\n", "\t pms.wikipedia & 8.743561\\\\\n", "\t ba.wikipedia & 8.636493\\\\\n", "\t ace.wikipedia & 8.499482\\\\\n", "\t stq.wikipedia & 8.476840\\\\\n", "\t ckb.wikipedia & 8.421348\\\\\n", "\t ia.wikipedia & 8.302479\\\\\n", "\t io.wikipedia & 8.299008\\\\\n", "\t bxr.wikipedia & 8.293610\\\\\n", "\t oc.wikipedia & 8.229620\\\\\n", "\t ilo.wikipedia & 8.136071\\\\\n", "\t cdo.wikipedia & 8.135914\\\\\n", "\t br.wikipedia & 8.112895\\\\\n", "\t yo.wikipedia & 8.033573\\\\\n", "\t cy.wikipedia & 7.996634\\\\\n", "\t wuu.wikipedia & 7.987096\\\\\n", "\t tum.wikipedia & 7.949838\\\\\n", "\t jv.wikipedia & 7.903932\\\\\n", "\t am.wikipedia & 7.862119\\\\\n", "\t gv.wikipedia & 7.814249\\\\\n", "\t ts.wikipedia & 7.781456\\\\\n", "\t pnb.wikipedia & 7.775095\\\\\n", "\t sco.wikipedia & 7.768593\\\\\n", "\t szl.wikipedia & 7.753842\\\\\n", "\t hak.wikipedia & 7.712114\\\\\n", "\t ps.wikipedia & 7.707871\\\\\n", "\t iu.wikipedia & 7.689288\\\\\n", "\t is.wikipedia & 7.670631\\\\\n", "\t st.wikipedia & 7.669688\\\\\n", "\t qu.wikipedia & 7.638240\\\\\n", "\t fo.wikipedia & 7.545703\\\\\n", "\t sah.wikipedia & 7.506009\\\\\n", "\t myv.wikipedia & 7.491589\\\\\n", "\t ht.wikipedia & 7.481700\\\\\n", "\t frp.wikipedia & 7.469399\\\\\n", "\t an.wikipedia & 7.449329\\\\\n", "\t xmf.wikipedia & 7.414009\\\\\n", "\t bh.wikipedia & 7.376527\\\\\n", "\t ku.wikipedia & 7.334941\\\\\n", "\t ext.wikipedia & 7.326225\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 50 × 2\n", "\n", "| project <chr> | percent_interlanguage_navigation <dbl> |\n", "|---|---|\n", "| kg.wikipedia | 10.363773 |\n", "| cv.wikipedia | 9.953629 |\n", "| gd.wikipedia | 9.470999 |\n", "| pa.wikipedia | 9.375662 |\n", "| zh-min-nan.wikipedia | 9.265733 |\n", "| arc.wikipedia | 9.254850 |\n", "| ga.wikipedia | 9.221888 |\n", "| nap.wikipedia | 9.097672 |\n", "| ce.wikipedia | 9.080891 |\n", "| nv.wikipedia | 9.037040 |\n", "| koi.wikipedia | 8.779625 |\n", "| pms.wikipedia | 8.743561 |\n", "| ba.wikipedia | 8.636493 |\n", "| ace.wikipedia | 8.499482 |\n", "| stq.wikipedia | 8.476840 |\n", "| ckb.wikipedia | 8.421348 |\n", "| ia.wikipedia | 8.302479 |\n", "| io.wikipedia | 8.299008 |\n", "| bxr.wikipedia | 8.293610 |\n", "| oc.wikipedia | 8.229620 |\n", "| ilo.wikipedia | 8.136071 |\n", "| cdo.wikipedia | 8.135914 |\n", "| br.wikipedia | 8.112895 |\n", "| yo.wikipedia | 8.033573 |\n", "| cy.wikipedia | 7.996634 |\n", "| wuu.wikipedia | 7.987096 |\n", "| tum.wikipedia | 7.949838 |\n", "| jv.wikipedia | 7.903932 |\n", "| am.wikipedia | 7.862119 |\n", "| gv.wikipedia | 7.814249 |\n", "| ts.wikipedia | 7.781456 |\n", "| pnb.wikipedia | 7.775095 |\n", "| sco.wikipedia | 7.768593 |\n", "| szl.wikipedia | 7.753842 |\n", "| hak.wikipedia | 7.712114 |\n", "| ps.wikipedia | 7.707871 |\n", "| iu.wikipedia | 7.689288 |\n", "| is.wikipedia | 7.670631 |\n", "| st.wikipedia | 7.669688 |\n", "| qu.wikipedia | 7.638240 |\n", "| fo.wikipedia | 7.545703 |\n", "| sah.wikipedia | 7.506009 |\n", "| myv.wikipedia | 7.491589 |\n", "| ht.wikipedia | 7.481700 |\n", "| frp.wikipedia | 7.469399 |\n", "| an.wikipedia | 7.449329 |\n", "| xmf.wikipedia | 7.414009 |\n", "| bh.wikipedia | 7.376527 |\n", "| ku.wikipedia | 7.334941 |\n", "| ext.wikipedia | 7.326225 |\n", "\n" ], "text/plain": [ " project percent_interlanguage_navigation\n", "1 kg.wikipedia 10.363773 \n", "2 cv.wikipedia 9.953629 \n", "3 gd.wikipedia 9.470999 \n", "4 pa.wikipedia 9.375662 \n", "5 zh-min-nan.wikipedia 9.265733 \n", "6 arc.wikipedia 9.254850 \n", "7 ga.wikipedia 9.221888 \n", "8 nap.wikipedia 9.097672 \n", "9 ce.wikipedia 9.080891 \n", "10 nv.wikipedia 9.037040 \n", "11 koi.wikipedia 8.779625 \n", "12 pms.wikipedia 8.743561 \n", "13 ba.wikipedia 8.636493 \n", "14 ace.wikipedia 8.499482 \n", "15 stq.wikipedia 8.476840 \n", "16 ckb.wikipedia 8.421348 \n", "17 ia.wikipedia 8.302479 \n", "18 io.wikipedia 8.299008 \n", "19 bxr.wikipedia 8.293610 \n", "20 oc.wikipedia 8.229620 \n", "21 ilo.wikipedia 8.136071 \n", "22 cdo.wikipedia 8.135914 \n", "23 br.wikipedia 8.112895 \n", "24 yo.wikipedia 8.033573 \n", "25 cy.wikipedia 7.996634 \n", "26 wuu.wikipedia 7.987096 \n", "27 tum.wikipedia 7.949838 \n", "28 jv.wikipedia 7.903932 \n", "29 am.wikipedia 7.862119 \n", "30 gv.wikipedia 7.814249 \n", "31 ts.wikipedia 7.781456 \n", "32 pnb.wikipedia 7.775095 \n", "33 sco.wikipedia 7.768593 \n", "34 szl.wikipedia 7.753842 \n", "35 hak.wikipedia 7.712114 \n", "36 ps.wikipedia 7.707871 \n", "37 iu.wikipedia 7.689288 \n", "38 is.wikipedia 7.670631 \n", "39 st.wikipedia 7.669688 \n", "40 qu.wikipedia 7.638240 \n", "41 fo.wikipedia 7.545703 \n", "42 sah.wikipedia 7.506009 \n", "43 myv.wikipedia 7.491589 \n", "44 ht.wikipedia 7.481700 \n", "45 frp.wikipedia 7.469399 \n", "46 an.wikipedia 7.449329 \n", "47 xmf.wikipedia 7.414009 \n", "48 bh.wikipedia 7.376527 \n", "49 ku.wikipedia 7.334941 \n", "50 ext.wikipedia 7.326225 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "head(interlanguage_clicks_byproject, 50)" ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 8 × 2
projectpercent_interlanguage_navigation
<chr><dbl>
fr.wikipedia0.3858005
de.wikipedia0.3707331
it.wikipedia0.3147767
ja.wikipedia0.2740005
zh.wikipedia0.2383240
en.wikipedia0.2179289
es.wikipedia0.2024851
ru.wikipedia0.1820905
\n" ], "text/latex": [ "A data.frame: 8 × 2\n", "\\begin{tabular}{r|ll}\n", " project & percent\\_interlanguage\\_navigation\\\\\n", " & \\\\\n", "\\hline\n", "\t fr.wikipedia & 0.3858005\\\\\n", "\t de.wikipedia & 0.3707331\\\\\n", "\t it.wikipedia & 0.3147767\\\\\n", "\t ja.wikipedia & 0.2740005\\\\\n", "\t zh.wikipedia & 0.2383240\\\\\n", "\t en.wikipedia & 0.2179289\\\\\n", "\t es.wikipedia & 0.2024851\\\\\n", "\t ru.wikipedia & 0.1820905\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 8 × 2\n", "\n", "| project <chr> | percent_interlanguage_navigation <dbl> |\n", "|---|---|\n", "| fr.wikipedia | 0.3858005 |\n", "| de.wikipedia | 0.3707331 |\n", "| it.wikipedia | 0.3147767 |\n", "| ja.wikipedia | 0.2740005 |\n", "| zh.wikipedia | 0.2383240 |\n", "| en.wikipedia | 0.2179289 |\n", "| es.wikipedia | 0.2024851 |\n", "| ru.wikipedia | 0.1820905 |\n", "\n" ], "text/plain": [ " project percent_interlanguage_navigation\n", "1 fr.wikipedia 0.3858005 \n", "2 de.wikipedia 0.3707331 \n", "3 it.wikipedia 0.3147767 \n", "4 ja.wikipedia 0.2740005 \n", "5 zh.wikipedia 0.2383240 \n", "6 en.wikipedia 0.2179289 \n", "7 es.wikipedia 0.2024851 \n", "8 ru.wikipedia 0.1820905 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Views for top sized_wikis\n", "interlanguage_clicks_byproject_topwikis <- interlanguage_clicks_byproject %>%\n", " filter(project %in% c('en.wikipedia', 'es.wikipedia', 'de.wikipedia', 'ja.wikipedia',\n", " 'fr.wikipedia', 'ru.wikipedia', 'it.wikipedia', 'zh.wikipedia')) %>%\n", " arrange(desc(percent_interlanguage_navigation))\n", "\n", "interlanguage_clicks_byproject_topwikis\n" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [], "source": [ "#overall across all projects\n", "query <- \n", "\"\n", "SELECT\n", " SUM(navigation_count_total) as navigation_count_total,\n", " SUM(view_count_total) as view_count_total\n", "FROM (\n", "SELECT \n", " concat(previous_project, '.', project_family) as project,\n", " sum(navigation_count) as navigation_count_total\n", "FROM wmf.interlanguage_navigation\n", "WHERE date >= '2019-07-01' \n", " AND date <= '2019-07-31'\n", " group by project_family, previous_project\n", " ) as navigation_count\n", "INNER JOIN\n", "(\n", "SELECT project,\n", " sum(view_count) as view_count_total\n", "FROM wmf.projectview_hourly\n", "WHERE \n", " concat(year, '-', lpad(month, 2, '0'), '-', lpad(day, 2, '0')) between '2019-07-01' and '2019-07-31'\n", " and access_method = 'desktop'\n", " and agent_type = 'user'\n", " group by project\n", ") as projectview\n", "on navigation_count.project = projectview.project\"" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [], "source": [ "interlanguage_clicks_overall <- wmf::query_hive(query)" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\n", "
A data.frame: 1 × 2
navigation_count_totalview_count_total
<int><dbl>
239483606166994793
\n" ], "text/latex": [ "A data.frame: 1 × 2\n", "\\begin{tabular}{r|ll}\n", " navigation\\_count\\_total & view\\_count\\_total\\\\\n", " & \\\\\n", "\\hline\n", "\t 23948360 & 6166994793\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 1 × 2\n", "\n", "| navigation_count_total <int> | view_count_total <dbl> |\n", "|---|---|\n", "| 23948360 | 6166994793 |\n", "\n" ], "text/plain": [ " navigation_count_total view_count_total\n", "1 23948360 6166994793 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "interlanguage_clicks_overall" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "About 0.39% of all pageviews from desktop are interlanguage navigation. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Table of contents\n", "\n", "Table of Contents clicks are not recorded by the client or server side. I'll do a little more asking with the team to confirm if there is a way to use the uri_path. " ] } ], "metadata": { "celltoolbar": "Raw Cell Format", "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.3.3" } }, "nbformat": 4, "nbformat_minor": 2 }