Analytics/Reportcard

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.

Goals
This project will seek to improve the general metrics reporting process in the following ways:
 * Break down the process of report-card summary statistics generation, specifically at places as dictated by metrics goals of other interested parties
 * Serve all the summarized data that goes into these reports from web service calls that can be reused/'remixed' with any reports or external agent that makes these web service calls
 * Create a common (albeit loose) modular infrastructure for reporting metrics in general throughout the organization

This project will also:
 * Create visual presentations of this data with the specific data needs of the data consumer in mind (modules/concrete use cases for the above improvements)

Wikistats scripts
These will be modularized and extended to allow further analyses of data at any of several TBD "interesting points" in processing. For instance, a possibly interesting module would be the "removal of bot edit data" module, or the "correction for possible data loss" module note: the work that needs to be done here will probably be more informed once ErikZ and Nimish have gotten to talk about the report card generation process in more detail

Data API
This component simply takes a request sent to it, and returns the appropriate information. How this information lives is TBD. The specific level of request ("data for march" vs "request=totalEditors&projects=all&granularity=monthly&start=20110228&end=20110331") and ability to handle requests is TBD

(Database possibilities here)

Report "widgets"
Interchangeable modules that report on a specific interesting dimension
 * TBD: what level will these widgets work at? ie. will they be "number of edits" widgets, or "line chart" widgets?

Report templates
These will be collections of widgets with specific parameters. ex a "community report" might have a widget+parameters that effectively gives "number of edits over the last month on all projects", another that gives "trends in active editors against our projected goals" etc

Additional documents

 * User requirements:
 * Specifications:
 * Software design document:
 * Test plan:
 * Documentation plan:
 * User interface design docs:
 * Schedule:
 * Task management:
 * Release management plan:
 * Communications plan:
 * Status updates