I want to create "league tables" (rankings based on "points") - similar to the user rankings that Stack Exchange uses - for contacts who have participated in Events, completed various Activities, have Membership(s), made other Contributions, etc.
Completing different actions would have different, weighted points - for example, an organization might value attending a political action, or signing an online petition, or voting, more highly than merely having a Membership or just contributing money otherwise.
It seems relatively simple - assigning the points to the Activities, Event participation, etc in back-end tables and adding custom fields, then creating Reports using current capabilities with some slight tweaking.
Rankings based on weighted points could be more objective than merely assigning a leadership/engagement value (like 1,2,3,4,5 with 1 being better/most, 5 the least) to a contact, which can be somewhat subjective.
Has anyone done something like this using Civi? Would be great to know.