You can use outlier theory to detect anomalies. A very naive way to find emissions is to use the mahalanobis distance . This is a measure that takes into account the distribution of your data and calculates the relative distance from the center. It can be interpreted as the number of standard deviations of the article from the center. This, however, also includes really very popular articles, but it gives you the first indication that something is strange.
The second, more general approach is the creation of a model. You can regress variables that users can manipulate against those associated with editors. One would expect users and editors to agree to some extent. If they do not, then it again indicates that something is strange.
In both cases, you will need to determine some deal and try to find some weight based on this. A possible approach is to use the square root of mahalanobis distance as the reciprocal of the weight. If you are far from the center, your account will be torn down. The same can be done using the rest of the model. Here you can even take the sign. If the editor’s rating is less than expected based on the user's rating, the residual result will be negative. if the editor’s rating is higher than expected based on the user's rating, the residual result is positive, and it is very unlikely that the article is played in games. This allows you to define some rules to outweigh the given points.
Example in R:

The code:
#Test data frame generated at random test <- data.frame( quoted = rpois(100,12), seen = rbinom(100,60,0.3), download = rbinom(100,30,0.3) ) #Create some link between user-vars and editorial test <- within(test,{ editorial = round((quoted+seen+download)/10+rpois(100,1)) }) #add two test cases test[101,]<-c(20,18,13,0) #bad article, hyped by few spammers test[102,]<-c(20,18,13,8) # genuinely good article # mahalanobis distances mah <- mahalanobis(test,colMeans(test),cov(test)) # simple linear modelling mod <- lm(editorial~quoted*seen*download,data=test) # the plots op <- par(mfrow=c(1,2)) hist(mah,breaks=20,col="grey",main="Mahalanobis distance") points(mah[101],0,col="red",pch=19) points(mah[102],0,,col="darkgreen",pch=19) legend("topright",legend=c("high rated by editors","gamed"), pch=19,col=c("darkgreen","red")) hist(resid(mod),breaks=20,col="grey",main="Residuals model",xlim=c(-6,4)) points(resid(mod)[101],0,col="red",pch=19) points(resid(mod)[102],0,,col="darkgreen",pch=19) par(op)