41

I've already asked about a similar situation, but this time the figures involved seem to be quite exaggerated: on my reputation page the following item appears:

-4360 Serial upvoting reversed

The other time the nullified votes were 63, this time 436, which is what a user can vote in eleven days.

I can understand that StackExchange doesn't want to disclose how they keep track of suspicious serial voting, but in this case something seem to have gone wrong. I see only one of the following possibilities

  1. a user has serially voted for 11 days without the script noticing it;
  2. two users have serially voted for 5 days without the script noticing it;
  3. more than two users have serially voted in the same time frame.

None of them seems likely. Are there other possibilities?

Note: this hasn't had any impact on my reputation, since the nullified votes have in most cases been replaced by valid votes that hadn't contributed to the reputation because of the cap. The question is general: this possible bug may have heavy impact on other user's reputation.

EDIT

I'd like to add some data. My current number of answers is 1773 in 347 days, which gives an average of 5.1 answers per day. So the suspected serial voter can't vote more than 5 answers a day, which means 87 days. Assuming four serial voters that act every day, this means 22 days.

Another hypothesis is that, when a serial vote is detected, all votes from that user to the target are nullified. This is absurd.

I'm pretty sure that many users upvote almost all my answers. Does this qualify as "serial voting"? Is this the case? If it is, the algorithm is flawed.

EDIT 2

The reputation graph is clearly wrong and surely offensive.

I didn't lose 4015 rep points on March 2 as the graph seems to imply. The new system takes care not to show lost reputation for deleted answers, while, to the contrary, in my case it shows utterly wrong data. On March 2 I indeed got 345 reputation.

I can understand that StackExchange nullifies some upvotes because of suspect serial voting (which is not my case, but it's only my opinion); I can't understand why such a big non loss of reputation is gigantically exposed for all to see, when I did nothing wrong (I have received six downvotes and have 1798 answers).

  • This might just be a display problem, but I will double-check. – Adam Lear Mar 4 '12 at 2:25
  • Your rep was affected this much by the offending user, but you re-capped on the days the votes were removed from in most cases, so the actual net delta was something like 100. We'll take a look and see if we can't improve the display here, hopefully reflecting that actual -100...no promises though, this one's tricky. – Nick Craver Mar 4 '12 at 2:42
  • 17
    @NickCraver Would it be possible to tell our site mods who the offending user was? They might be able to determine if the votes were in fact genuine but simply appeared fraudulent. – Alan Munn Mar 4 '12 at 4:21
  • 1
    @NickCraver As I said, it's not about the total rep; is it possible that a user gave all his/her votes to me for 11 days without the script noticing it? Or, more realistically, 15/20 "serial votes" for 20/30 days without the script noticing it? – egreg Mar 4 '12 at 10:08
  • @egreg - It's possible yes, but I can't give any specifics...it's made to catch and remove serial/irregular voting, and make take a few days to discern a pattern at times...then it'll act. – Nick Craver Mar 4 '12 at 10:29
  • 2
    @NickCraver We're talking about 436 "irregular" votes! It's not "a few days" IMO: it's many days. :) – egreg Mar 4 '12 at 10:37
  • @NickCraver Please, look at the edited question. – egreg Mar 4 '12 at 13:47
  • 3
    @egreg - I really can't discuss how serial voting detection works, for what I hope are obvious reasons. There was a blatant pattern here (that I personally reviewed in investigating this), that's all I can say. – Nick Craver Mar 4 '12 at 14:31
  • 2
    @NickCraver So you confirm that upvoting all answers by some users is considered "serial voting" and nullifies all upvotes from the "serial voter" to the target? That's absurd, it's all I can say. – egreg Mar 4 '12 at 14:36
  • 1
    @egreg - It's a bit more complicated than that. These votes were legitimately reversed. I won't discuss it further, again for obvious reasons. – Nick Craver Mar 4 '12 at 15:00
  • 4
    @NickCraver Sorry, but I can't take this as an answer. – egreg Mar 4 '12 at 15:09
  • 25
    On reading this and the responses then I must admit that I feel like going through egreg's answers and voting for all of the ones that I've missed. I'm pretty confident that every answer he's given is a valuable contribution to the site. This also make me curious as to how bad serial voting is on this site what are the figures? I'm not a big fan of "security through obscurity" but I realise we're not going to win that one. Alan's suggestion seems a very sensible one: we trust our mods. – Loop Space Mar 4 '12 at 16:50
  • 6
    @AndrewStacey: I thought of that, but since egreg hits his rep cap pretty much every day as far as I can see, it won't help. :-) Perhaps he can let us know when he is going on vacation and we can coordinate our efforts. :-) That way he can actually enjoy his vacation and not be worried about his rep growth stalling. :-) – Peter Grill Mar 5 '12 at 16:23
  • 1
    @Seamus I'm still waiting for an official answer. – egreg Mar 8 '12 at 14:09
  • 3
    @N.N. I've never been up to 73000. So the graph is wrong. – egreg Mar 8 '12 at 16:45
8

The large value shown was incorrect because it's calculated based on rep-change totals on the deleted votes. This is key because until today, rep changes (both to voter and target) were not ever updated/fixed on deleted votes.

With the latest revision of the rep code, we will update those deleted votes to have their values respect the rep cap, so their values and reversals will show the actual impact. For example, you'll see your March 2nd entry shows the correct -30, not an obscenely inaccurate number for that voting reversal.

  • 1
    I still think that the "serial vote algorithm" has failed in this case and that's not correct to invalidate all votes. – egreg Mar 21 '12 at 9:00
  • 1
    @egreg - There have been adjustments made there too...though I can't say what they are, you would approve. – Nick Craver Mar 21 '12 at 10:16
  • 5
    "No taxation without representation". ;-) – egreg Mar 21 '12 at 10:37
  • 4
    I'm pleased to see the admission that the original graph was obscene. I'd quite like to see something that goes towards an apology for the fact that that graph stood for nearly three weeks with that obscenely inaccurate number. I'd also like to know why you aren't able to at least tell our mods what's been going on, or tell egreg privately. I can understand you not wanting to share the details of the algorithm in public, but this calls for a bit more than "Everything is now in place so can we all be friends?". – Loop Space Mar 21 '12 at 10:53
  • 4
    @AndrewStacey - this was by no means an easy thing to fix, it required recalculating all deleted votes (something the old system didn't even handle)...it required a large refactor of the reputation code to get this in - and then a global recalc across the network. Fixing the rep graph here was not the correct solution (and would have reverted were a recalc to happen anyway), you have to fix the problem, not the symptoms. Trust me when I say every user I've encountered severely underestimates the actual complexities of reputation (and by proxy, the code needed to handle it all). – Nick Craver Mar 21 '12 at 11:31
  • 1
    @AndrewStacey - Also keep in mind, this bug isn't the only thing on our plate, it's one of several hundred things on a very long todo list, many much more important. For example, if this site isn't online, it doesn't really matter what the graph shows. And yes, there were issues affecting the network being up over the past few days, that's not at all a contrived example. – Nick Craver Mar 21 '12 at 11:37
  • 4
    Again, you've missed the point. It's not what you do, or even when you do it. It's how. How much time would it have taken to write, on March 3rd, something like "That does look bad. We're really sorry about that. We'll see what we can do, but it might take time as it looks complicated to fix.". – Loop Space Mar 21 '12 at 11:56
  • 1
    @NickCraver I've never underestimated the complexity of rep calculation. I blindly trust you when you say it's complex. I can't, however, when you say that the "serial voting algorithm" is not flawed: 436 votes cast by one person in order to fraudulently raise one's reputation require a very long term plan: with the figures I showed you, at least three months full time. And for what purpose? Can you think of one? I can't. – egreg Mar 21 '12 at 14:28
  • 3
    @egreg - "Flawed" depends on how it was intended to work...I never wrote the original algorithm and it's been in place so long honestly no one remembers if the behavior that happened was intentional. In any case the team as it stands today did not agree with the old behavior and we've made adjustments accordingly. You also have to take into account that the old system left no trace of the votes, so it took a little bit of time to see some reversal behavior to actually observe how it was even working in some cases (like this one). – Nick Craver Mar 21 '12 at 15:29
  • 4
    @AndrewStacey - Did you read the comments on the question at all? On March 4th (the very first time I saw this) I immediately left a comment saying we're working on it...what more do you expect, a full 12 page breakdown of what the issue might be? – Nick Craver Mar 21 '12 at 15:32
  • @NickCraver Three months are not "a little bit of time". Do you really think this is a (badly) planned strategy for getting more reputation? I've so many non contributing upvotes that, as you saw, reversing 436 votes resulted in only three actually counting. That's why I think that the algorithm is flawed and that the "blatant pattern" you saw is just a misunderstanding: if it was really "blatant", then it should have been detected much earlier. – egreg Mar 21 '12 at 15:46
  • @egreg - When I said "a little bit of time", I was referring to when I changed the back-end behavior to stop nuking the votes from the database outright to observing what the recognized patterns were - nothing at all to do with this particular vote pattern's duration. – Nick Craver Mar 21 '12 at 15:53
  • @NickCraver OK. But read again your comment of March 4: "it's made to catch and remove serial/irregular voting, and may take a few days to discern a pattern at times". My remark stands, doesn't it? – egreg Mar 21 '12 at 15:58
  • 2
    @NickCraver So I'll leave the answer unaccepted. – egreg Mar 21 '12 at 16:06
  • 6
    Nick, you're right. It's been so long that I'd forgotten that comment. There's still a lot about the lack of communication here that I'm not happy about, though, and the tone similarly. I'd like to make clear that I have no issues with your motivation or intentions or dedication, I'll even accept that you know best how to run your system. But in terms of communication, I find myself reaching for the "Could do better" stamp. – Loop Space Mar 21 '12 at 16:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .