In my Rails 3 application users can write messages/posts in forum.
I would like to display to users "Top Writes" table, something like:
Alex - 14% (i.e. 14% of forum's content was written by Alex)
Greg - 13%
Natalie - 10%
Rachel - 8%
Would you store the number of characters (probably excluding punctuation) in each message in a database along with other message details (and update it when message edited) ?
Would you store the number of characters that each user wrote along with other user details (and update this number once user adds / deletes / updates a message) ?
Would you store the total number of characters in the database (i.e. the sum of all numbers from
Would you store the percentages that are going to be displayed (and update them accordingly) ?
I would focus on a metric that rewards good content, not just content. Stack Overflow is a good example of this --- you get rewarded when your peers value your content.
For your specific question:
The percentage based table at that point is fairly simple