Research:Visual editor usage (January, 2014)
This page documents a completed research project.
In this study, we examined the usage rate of mw:VisualEditor (VE) in the list of Wikipedia projects where the editor is enabled by default (see [1]). To infer about recent activities, we limited our analysis to the most recent month: January, 2014.
Methods
editFor each wiki where VE is enabled by default, we ran the following query to gather hourly edit counts:
SELECT
DATABASE() AS wiki,
LEFT(rev_timestamp, 10) AS hour,
IF(
rev_user = 0,
"anon",
IF(post_ve.user_id IS NOT NULL, "post-ve","pre-ve")
) AS user_type,
ve_tag.ct_rev_id IS NOT NULL AS visualeditor,
COUNT(*) AS edits
FROM revision
LEFT JOIN change_tag ve_tag ON
rev_id = ct_rev_id AND
ct_tag = "visualeditor"
LEFT JOIN user post_ve ON
rev_user = user_id AND
user_registration >= "20130701210000"
WHERE rev_timestamp BETWEEN "20140101" AND "20140128"
GROUP BY 1,2,3,4;
The result of these queries was inserted into a MySQL table. In order to fill in missing values, the following query joined the cross product of wiki
, hour
, user_type
and visualeditor
:
INSERT INTO ve_hourly_edits
SELECT
all_possible.wiki,
all_possible.hour,
all_possible.user_type,
all_possible.visual_editor,
0
FROM (
SELECT
wiki,
hour,
user_type,
visual_editor
FROM (SELECT DISTINCT hour FROM ve_hourly_edits) AS hours
JOIN (SELECT DISTINCT wiki FROM ve_hourly_edits) AS wikis
JOIN (SELECT DISTINCT user_type FROM ve_hourly_edits) AS user_types
JOIN (SELECT DISTINCT visual_editor FROM ve_hourly_edits) AS visual_editor
) AS all_possible
LEFT JOIN ve_hourly_edits ve USING(wiki, hour, user_type, visual_editor)
WHERE ve.wiki IS NULL
Results
editHow many visual editor edits per hour?
editeditor | edits/hour |
---|---|
visual editor | 539.4746 |
wikitext | 6925.1757 |
SQL
|
---|
SELECT
IF(visual_editor, "visual editor", "wikitext") AS editor,
avg(edits) as "edit/hour"
FROM (
SELECT
hour,
visual_editor,
SUM(edits) as edits
FROM ve_hourly_edits
GROUP BY 1,2
) hourly_edits
GROUP BY 1;
|
How do the edits break down by user type?
edit- Editor types
- Anon -- An IP editor (
rev_user = 0
) - Pre-ve -- An editor who registered before VE was launched
user_registration < "20130701210000"
- Post-ve -- An editor who registered after VE was launched
editor | editor type | edits/hour |
---|---|---|
visual editor | anon | 371.5439 |
visual editor | post-ve | 84.6317 |
visual editor | pre-ve | 83.2989 |
wikitext | anon | 746.0894 |
wikitext | post-ve | 786.3436 |
wikitext | pre-ve | 5392.7427 |
SQL
|
---|
SELECT
IF(visual_editor, "visual editor", "wikitext") AS editor,
user_type,
avg(edits) as "edit/hour"
FROM (
SELECT
hour,
visual_editor,
user_type,
SUM(edits) as edits
FROM ve_hourly_edits
GROUP BY 1,2,3
) hourly_edits
GROUP BY 1,2;
|