DS4UX (Spring 2016)/Wikipedia Notifications survey

From CommunityData
A screenshot of the survey.
A screenshot of the Notifications feature.

The Wikimedia Foundation is working on updates to the Notifications feature of MediaWiki, a panel that alerts editors to important, relavant events that have occured since they last logged in.

Types of notifications
There are currently 8 types of notification that a user can receive
  • someone @mentioned you in a discussion
  • someone left you a message on your user page
  • someone reverted one of your edits
  • someone changed your userrights
  • someone sent you an email
  • someone thanked you for your edit
  • someone reviewed an article you created
  • someone linked to an article you created


In order to understand how to prioritize their work, the product team at Wikimedia that is in charge of the Notifications feature needs to know how editors currently use the feature: what they value, what annoys them, what confuses them, etc.

We released a survey targeted at these editors, and asked them a variety of questions about how their usage of Notifications, and how we could improve the feature to make it better meet their needs. In that survey, we asked respondents to identify notifications that they have seen before, and then asked them to rank these notifications in order of how important/informative they were.

The ZIP file linked below contains a file called notifications_ranking_survey_data.csv contains anonymized responses from over 100 users, as well as some heavily-commented scripts for processing that file and outputting aggregated statistics from those responses. In class, we'll walk through this step by step, to show the process involved in transforming raw data in research findings!


Code and data[edit]

Click here to download the Notifications data and scripts

Analysis[edit]

To see how these questions are answered, ead the multi-line comments (the ones surrounded by """) and un-comment print statements 1-by-1 in the files below as you walk through the code.

  • How do import this dataset into Python? How should we structure the data we import? — run notifications.py.
  • How many people report having seen each type of notification? — run count_notifications.py.
  • Which types of notifications are ranked #1 priority by the most people? run rank_notifications1.py.
  • Which types of notifications are ranked among the top THREE highest priority by the most people? run rank_notifications2.py.