Ranking algorthim for views/likes/dislikes I have a table of data that records the number of views an item receives by users viewing the content and the number of likes and dislikes that the users gave:
ID  Views  Like   Dislikes   Rank
1   1000    100      0
2   1000    100     50
3   500     500      0
4   500     300      0
5   300     300     50

I need to come up with an algorithm that calculates a ranking for each row based upon the number of views, likes and dislikes. The higher the rank, the more important the content is. Items that have higher views and likes but with lower dislikes have a higher rank than those with lower views and lots of dislikes.
The problem I have is that some items with lower views but higher likes would actually be considered much higher value than items that have higher views but a lot of dislikes and as such the item with the lower views should be ranked higher.
How can I accurately calcuate a ranking that takes these three items into account? I am not looking for some solution that would determine a ranking by human subjection but merely an unbiased approach that simply takes imperical values into account.
 A: Ok, so you propose
$$index=views+likes-dislikes,$$
but this leads to your severity problem. How do you define severity? Maybe dislikes become worse the more there are (because few dislikes could be mistakes, but many disliked show a pattern). You could evade the problem that "1000 views/1000 dislikes" is equally ranked as "100 views, 100 dislikes" by using an index like 
$$index=views-(c\cdot dislikes)^d,$$ 
where $c>0$ is a constant (and probably you want $c<1$), and $d>1$ is another constant. As example, using $c=0.5$ and $d=1.3$, the index for "1000 views, 1000 dislikes" is $-2225$, but for "100 views, 100 dislikes" it is $-62$, so the latter is clearly better. Finding the right constants requires a bit of tweaking, of course. Adding the effect of likes as linear, we get
$$index=views-(c\cdot dislikes)^d+e\cdot likes,$$ 
with $e>0$. Using the latter (general) equation, your idea was the special case $c=1, d=1, e=1$. I think you might solve the severity problem by using $c<1, d>1$ (see example) and some $e>0$; I would advise $e>1$, since a like is probably a better indicator of quality than an additional view without like/dislike. Again, there is no objective standard, so you will have to decide what is appropriate.
Whatever rule you use, for the ranking just order the indices, where higher index is better.
A: Well the problem depends in which variable is of higher value, views or dislikes. Views is the primary, then what I would do is: 
Value of a row = Views * (( likes - dislikes )/ (likes + dislikes)) 
Then in case of two rows having the same value the row with higher amount of likes would have higher rank. 
