Comment 2 for bug 1796176

Revision history for this message
Mike Rylander (mrylander) wrote :

Hi Michele,

There's a problem calculating the weighted average that way, because not all records are in the original population for every badge that is in scope. There are record-, location- and copy-related filters that preclude records from even having a chance to earn a give badge, and dinging them for not earning impossible badges will only become more of an issue as new, cool badges are invented. Then there are the static badges, and eventually patron and staff rating badges, that won't require a calculated population, but would ding every unrated record.

From a mathmatical point of view, we'll need to figure out some way of recording original population inclusion for each badge+record combination. And I think we'll further need to create a concept of badge groups, where the members of the group are averaged together separate from other groups to model different facets of popularity (usage vs curation vs "reader attachment", etc). There is the naive was of just recording a 0 for population members that fall outside the thresholds, but there are probably more compact representations that would be faster at search time, especially for the set of unearned badges, which will be the large majority of badge+record combinations.