Last modified: 2011-09-28 13:20:26 UTC
I'd like to get ahold of some statistics on the use of two preferences by users. Inactive users should be filtered out with user_touched, I know it gets updated in other circumstances but it's better than nothing. The first preference is showjumplinks. I'd like to see how many users are actually disabling this user preference. And the other is skin. I'd like to see how many users -- and relative to other skins how many users -- are actively using the legacy skins Cologne Blue, Nostalgia, and Standard/Classic.
showjumplinks is one of the many preferences which I always hide when setting up a new wiki to remove clutter in the preferences page.
(In reply to comment #0) > Inactive users should be filtered out with user_touched, I know it gets updated > in other circumstances but it's better than nothing. Based on what value? Day of running query - a month?
Hmmm... 3 months? A graduated list showing 1 month, 3 months, 6 months, 1 year, 2 year, 3 year might be nice.
Which wikis? Testing against enwiki would suggest < 20k have showjumplinks disabled (ie an entry exists)... So it's going to be less than that actually run with some figures. Skin suggest 3668520 people have different skins set (or not default/vector) mysql> explain SELECT count(*) FROM user_properties INNER JOIN user ON up_user=user_id WHERE up_property = 'showjumplinks' AND user_touched > 20110000000000 +----+-------------+-----------------+--------+--------------------------------------------------------+--------------------------+---------+--------------------------------+-------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-----------------+--------+--------------------------------------------------------+--------------------------+---------+--------------------------------+-------+-------------+ | 1 | SIMPLE | user_properties | ref | user_properties_user_property,user_properties_property | user_properties_property | 258 | const | 19988 | Using where | | 1 | SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | enwiki.user_properties.up_user | 1 | Using where | +----+-------------+-----------------+--------+--------------------------------------------------------+--------------------------+---------+--------------------------------+-------+-------------+ 2 rows in set (0.00 sec) mysql> explain SELECT count(*) FROM user_properties INNER JOIN user ON up_user=user_id WHERE up_property = 'skin' AND up_value IN ( 'standard', 'nostalgia', 'cologneblue' ) AND user_touched > 20110000000000 +----+-------------+-----------------+--------+--------------------------------------------------------+--------------------------+---------+--------------------------------+---------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-----------------+--------+--------------------------------------------------------+--------------------------+---------+--------------------------------+---------+-------------+ | 1 | SIMPLE | user_properties | ref | user_properties_user_property,user_properties_property | user_properties_property | 258 | const | 3668520 | Using where | | 1 | SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | enwiki.user_properties.up_user | 1 | Using where | +----+-------------+-----------------+--------+--------------------------------------------------------+--------------------------+---------+--------------------------------+---------+-------------+ 2 rows in set (0.00 sec)
You could throw other wikis in but I think enwiki might be good enough to start with for a sample.
Created attachment 9107 [details] Show jump links Results of Show jump links queries attached in those date ranges
Created attachment 9108 [details] Number of users using standard, nostalgia, cologne blue And that's the last result set