Let's say a user gets 21 upvotes and 1 downvote in a day. Does that day count as progress towards the Epic and Legendary badges?

The reason I ask is that, when I run the query at https://data.stackexchange.com/stackoverflow/query/32763/epic-legendary-badges, I get a different answer than from a rep audit (9 versus 13).

  • 7
    It may depend on the order of getting the votes. 21 up, then 1 down =198 vs 20 up, 1 down, then 1 up =200.
    – chown
    Jan 17, 2012 at 21:05
  • does all that matters is getting > 200 reputation, from any source?
    – hvgotcodes
    Jan 17, 2012 at 21:06
  • 5
    Note: The data dump is not as fresh as your rep audit is, it is updated on an irregular, infrequent basis. Use it knowing you are possibly looking at long-since-stale information. Jan 17, 2012 at 21:06
  • 1
    No, not any source; according to stackoverflow.com/reputation rep cap has to be reached from votes only, so you can get 19 up and 1 accepted answer (205) and it wont count.
    – chown
    Jan 17, 2012 at 21:08
  • 1
    @chown, the badge is only concerned with the 200 rep, notice it doesn't explicitly mention the cap. Upvote reputation is certainly limited to 200 points, but meeting or exceeding 200 is all that matters as far as badges are concerned. Jan 17, 2012 at 21:10
  • @A so.com/reputation does mention rep cap from votes. I assume that stat is there for users to track this badge progress.
    – chown
    Jan 17, 2012 at 21:14
  • 5
    A downvote a day keeps the badge away. (evil laugh)
    – Pekka
    Jan 17, 2012 at 21:15
  • 1
    It used to be the case that only days where you'd reached the rep cap from upvotes alone counted for epic/legendary, but that's changed now.
    – ChrisF Mod
    Jan 17, 2012 at 22:04
  • @ChrisF I think it was the other way around. The old text for the badge faq was Exceeding the cap is defined as earning ≥200 reputation in one day from a combination of upvotes and accepts, but not bounties. Jan 17, 2012 at 22:57
  • @ConradFrix - You may be right. There was a change though.
    – ChrisF Mod
    Jan 17, 2012 at 23:00

1 Answer 1


It seems that this badge has changed and now only requires ≥200 rep from any source (sans bounties), not just votes.

Evidence: User Adam Rackis is the latest the earn the epic badge and has 51 days with over 200 rep.
Two of those days (probably more but I only needed 2 to verify) upvote rep was < 200.

On Dec 30th 2011: 160 from votes + 60 from accepts (=220)
On Jan 17th 2012: 170 from votes + 45 from accepts (=215)

From Jeff: https://meta.stackexchange.com/questions/57232/is-150-rep-cap-exceeded-alone-enough-for-legendary-badge/58192#58192

Here's the exact SQL (and the disconnect is between the SQL and the C# code) for the badge.

SELECT u.id 
FROM   users u WITH (nolock), 
       /* return all userids who have hit the rep cap for 150 days */ 
       (SELECT targetuserid AS userid 
        FROM   (SELECT targetuserid, 
                       CONVERT(CHAR(8), creationdate, 112) AS dayperiod, 
                       SUM(targetrepchange)                AS dayrep 
                FROM   posts2votes 
                WHERE  targetrepchange IS NOT NULL 
                       AND deletiondate IS NULL 
                GROUP  BY targetuserid, 
                          CONVERT(CHAR(8), creationdate, 112) 
                HAVING SUM(targetrepchange) >= 200) AS x 
        GROUP  BY targetuserid 
        HAVING COUNT(*) >= 150) x 
WHERE  u.id NOT IN /* return all userids who do NOT have the badge */ 
              (SELECT userid 
               FROM users2badges u2b WITH (nolock) 
               INNER JOIN badges b 
                ON u2b.badgeid = b.id 
               WHERE b.name = 'Legendary' 
       AND u.id = x.userid 
  • where do you get the sql?
    – hvgotcodes
    Jan 18, 2012 at 0:23
  • From the link right above it. It's a dev side query, not for the SEDE
    – chown
    Jan 18, 2012 at 3:11

You must log in to answer this question.

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