📜 ⬆️ ⬇️

CMS rating system

Give a quality rating! I am developing a project on a modular system, written by a St. Petersburg programmer. Sufficient time is already a question about the rating system for this CMS. Universal, focused not only on blogs, but also on other types of sites, where the main content is not necessarily blog entries (such as photo sites or communities, etc.). It's about cheating, virtuals, potential social vulnerabilities rating systems. The essence of the problem is described under the cut.

Cheat


With a rating it all comes down to cheating. Moreover, no matter conscious or unconscious. Good in this regard, the system on the habr, but here it could not make simple and elegant, in the end there are two visually unrelated ratings. In fact, the system is not bad, but not flexible enough. In addition, it works well in large communities. There will be problems with small ones. At Habré voices are given daily. What prevents to register a dozen accounts and influence the rating, if votes are given every day? Hinders the system of invites. And if the site is open registration?

Virtuals. Livestreet

For comparison - LiveStreet charges this rating only for posts. That is a purely blogging solution. Obvious if the site is planned blog. And if not? I wanted to reduce the rating to one indicator. Without system of separate voting for the user and for his messages. What the system developer encountered personally in his projects: “The user registers a dozen virtuals and starts to“ pump ”them, voting for each other. In the closed avtivnom community, it does not work, but there are few of them. ”Such a rating system offered by live street works only in one specific case - in the case of a blog site. In all other cases, it turns out to be very vulnerable. Not technically, but socially vulnerable. Here's a way to pump a LiveStream character: create a topic, publish it, vote for it with about fifty virtuals, then remove the topic in drafts or delete it. Rating while not going anywhere. Next hole: Imagine that a party has been living on the site for a long time. They are accustomed to each other and relate to friends biased. They, as a rule, vote for each other and, since they have been on the site for a long time, their rating grows simply at a fantastic speed ... That is, these are actually the same 10 virtuals that are written above, only real people stand behind them. Moreover, all ten of them are satisfied with this state of affairs: formally, they do not break the rules, make them pleasantly familiar, and do not themselves remain in the loser. Or imagine a photosite where a person can put a pack in a couple of hundred photos, leave a comment under each, and then go through the virtuals throughout this pile and add.
')
(200 + 200) * 10 vitruals = 4000 votes per day

Honest get rating? Not.

So what happens? There is no perfect solution?

Actually there is. Just need to take into account the mutual influence of votes.
Suppose there are two users with a rating of 1. Suppose that when a vote is taken, the rating is transmitted completely. That is, the first one voted for the second one - he got a rating of 2, the second one voted for the first one - the first one got a rating of 3 and so on to infinity. But it is necessary to make sure that only the part that was received without the “voter” was transmitted. Rating must be passed without mutual cheating. Only that which the user has will be given to another even after the other has voted for him. Here there is a new way of cheating: the first user votes for the second, the second for the third, and the third for the first (you can insert a few more between the third and first). By the way, creating three users (or negotiating with two people) is not a problem at all.

How to be?

I don't want to copy someone else's decision of the rating system, which is recognizable and not copied only by the lazy. Do your bad - too. How to make good - do not know yet.
What is important is not a specific technical implementation, but proposals for the rating system as a whole.
Is it possible to somehow complicate the scheme with users and mutual cheat? Can. Since the rating passes in rather small portions, you can check which user's voices make up the largest share in the rating ... Or? ...
Let's argue, dear Habralyudi.

Source: https://habr.com/ru/post/131842/


All Articles