Analytics/Reportcard/2.0/Requirements

=Rationale= There is a need for both the foundation and community to see 'at-a-glance' what the current standing is on various projects and a need for a common reporting infrastructure within the foundation for measures we find important. The current report card, as it exists is a monolithic structure and process which ends with very specific data points being summarized for the board and ED. There are parts of data in this report that can be reused and/or combined with other reports to get very specific, relevant reports to other interested parties.

Please chime in on the Discussion page with your thoughts.

=Goals= This project will seek to improve the general metrics reporting process in the following ways:
 * Data: extraction, transformation and loading is fully automated, there will be zero manual steps.
 * Granularity: we start with daily aggregated data.
 * Targets: a measurement is benchmarked against a target, this applies to certain reader, mobile and diversity measures.
 * API: there will be a simple API so people can fetch the data and analyze and visualize it themselves.
 * Embedded: there will be a Mediawiki extension that allows you to embed a particular chart in a Wiki page.
 * Modular: the frontend and backend will be very loosely coupled so that it will be possible to just replace the backend in one shot.
 * Interactivity: the charts will offer basic interactivity: zoom-in / zoom-out, indexed vs raw count, add other projects to compare, etc.

=Roadmap= This is a list of features that we want but are outside of the current scope
 * Raw data: Instead of storing aggregates, we want to be able to store the raw data.
 * Granularity: Hourly data is something to consider.

=Metrics= In total, there are six themes that will be visualized on the Dashboard: Reader metrics, Editor metrics, Device metrics, Diversity metrics, Media metrics and API metrics.

Reader-centered measurements

 * Pageviews
 * Breakdown by project_language
 * Breakdown by project
 * Unique visitors
 * Breakdown by project_language
 * Breakdown by project
 * Unique visitors competing web properties (Google, Facebook)

Editor-centered measurements

 * Count of edits
 * Breakdown by project_language
 * Breakdown by project
 * Count of new editors
 * Breakdown by project_language
 * Breakdown by project
 * Count of active editors (5+ edits per month)
 * Breakdown by project_language
 * Breakdown by project
 * Count of very active editors (100+ edits per month)
 * Breakdown by project_language
 * Breakdown by project
 * Count of total articles
 * Breakdown by project_language
 * Breakdown by project
 * Count of new articles per day
 * Breakdown by language
 * Breakdown by project
 * Count of reverted edits
 * Count of bot edits
 * Count of deleted articles

Device-centered measurements

 * Count of mobile devices
 * Breakdown by manufacturer
 * Breakdown by project_language
 * Breakdown by project
 * Breakdown by geography
 * Breakdown by partner (Wikimedia Zero)
 * Breakdown by official apps (iOS, Android, Symbian, etc)

Diversity-centered measurement

 * Percentage of editors from the Global South
 * Editors / readers from India (data at state level and for the following languages: English, Hindi, Kannada, Malayalam, Bengali, Marathi, Gujarati, Tamil and Telugu)
 * Editors / readers from Brasil
 * Percentage of female editors

Media-centered measurements
(This applies mainly to Commons)
 * Count of binary files (jpg, png, svg, ogg, gif, tiff, pdf, djvu, ogv, mid)

API-centered measurements

 * Count of API requests
 * Breakdown by language
 * Breakdown by project

=Proposed Database Design= You can find the proposed database design at Analytics/Reportcard/Database_design.

=External Links=
 * Wikimedia_Report_Card_2.0
 * Wikistats/Analytics_Database_Feed
 * http://strategy.wikimedia.org/wiki/Thread:Talk:Strategic_Plan/Movement_Priorities/%22Community_Health%22_measures#x.22Community_Health.22_measures_5711
 * http://strategy.wikimedia.org/wiki/Community_Health/Metrics
 * http://etherpad.wikimedia.org/AnalyticsBacklog