             team.scores[ field ] = computedScore.value[ field ]
             if field != 'contestant_count' and field != 'judge_count' and field != 'popularity_count'
               overall += computedScore.value[ field ]
-          if max_popularity_count == 0
-            team.scores.popularity = 0
-          else
-            team.scores.popularity = computedScore.value.popularity_count / max_popularity_count * 10
+
+          team.scores.popularity = (popularityRanks[computedScore.value.popularity_count] or 0) * 8 + 2
           overall += team.scores.popularity
+
           team.scores.overall = overall
         else
           TeamSchema.eachPath (path) ->

  Team.find { 'entry.votable': true, lastDeploy: {$ne:null} }, {}, {sort: [['scores.overall', -1]]}, (error,teams) ->
    return next error if error
    next null, teams
    
TeamSchema.static 'updateAllSavedScores', (next) ->
  map = ->
    ret =

      for field of ret
        ret[ field ] += val[ field ]
    ret

  finalize = (key,val) ->
    ret = {}
    [ 'contestant_utility', 'contestant_design', 'contestant_innovation', 'contestant_completeness' ].forEach (field) ->
