118

Do badges get calculated in real time, or do they get calculated by an external service? How long does it take for a badge to be awarded, once its requirements are met?

Does Stack Overflow use any external services to do things, like maintenance, e-mailing or badge calculation?

Return to FAQ Index

1 Answer 1

87

"Informed" badge

This badge is awarded immediately after you open the site's tour page while logged in and scroll to the section about badges.

"Beta" badge

This badge isn't awarded to users who meet its criteria until after a site finishes its private beta. This is because the criteria for this badge used to be undisclosed and this was to prevent people from figuring the criteria out.

Regular badges (except "Informed" and "Beta")

These badges are awarded by a scheduled job. Every few minutes, there's a percentage chance for a certain specific badge's query to run and award all users who qualify for it. The percentage chance is unique per badge and depends on how expensive the badge's query is to run. Under some rare cases, due to random chance, it may be possible that a certain badge's query may not run for many hours, but the majority of the time, the badge query runs at least once every hour, and in 99.9% of cases, it runs at least once every 24 hours.

Badges that check for number of days (e.g., Refiner, Inquisitive, Epic, etc.) are usually awarded once per day, to ensure that users don't earn the badges if they meet the criteria early in the day but cease to meet them by the time the day is over, so that the final qualifying day is treated equally as other days.

General rule: Wait at least 24 hours. If you haven't gotten it by then, you probably didn't meet the criteria for the badge, or you initially met them but ceased to meet them by the time the job ran. Try checking the list of all badges and their exact criteria. If you still didn't get awarded a badge after 24 hours and you've confirmed that you still continue to meet its criteria, go ahead and file a report, as at that point, chances are that the badge query is at fault, but it may also be that the badge query simply didn't run due to unlucky random chance (see above).

I qualified for multiple awards of the same badge (e.g., Yearling), but I've only earned it once (or not all times I should have earned it). What's happening?

The script for each badge can only award the badge once. As such, if one suddenly qualifies for multiple awards of the same badge at the same time, they won't be awarded at the same time, but one at a time each time the script runs. The most common case is the Yearling badge, when receiving back awards for prior years after crossing an average of 200 reputation earned per year. This may also happen with other badges where it's possible to qualify for multiple at a time, or with account merges where your new merged account qualifies for multiple awards of a badge as a result of the merge (see footnote 2 of the general badge FAQ).

Tag badges

The tag-based badges are calculated on a daily basis at 03:00 UTC, which is when all the tag scores get updated. At that time, any new badges you may have earned will also be awarded, and any badges for which you no longer meet the criteria will be revoked.

Again, if you do not receive the badge at that time, you probably don't meet the criteria, or ceased to meet them by the time the script ran. Hover over your score to make sure that your stats for the tag match the requirements. Also keep in mind that a tag must have at least 100 questions using it before it even qualifies for tag badges.

3
  • Is it 03:00 AM/0300 HRS or 03:00 PM?
    – NSNoob
    Commented Jan 10, 2018 at 11:01
  • 5
    @NSNoob 03:00 UTC is 3am in the UTC (roughly: GMT) timezone Commented Jan 10, 2018 at 11:31
  • How does the scheduled job work to be able to assign badges in an efficient way? Does it make thousands of queries against a database to determine what users meet the requirements for each specific badge?
    – Guido
    Commented Jan 4, 2023 at 17:48

You must log in to answer this question.

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