Design a system for applying an allocator strategy

The social distributor should support a configurable allocator strategy that will assign bridges to an account by implementing a policy that may take into consideration datapoints such as:

  1. age of the account
  2. history of bridges allocated to this account
  3. filtering of bridges assigned to this account
  4. frequency of requests for bridges

For example, an allocator strategy might be as simple as "give no more bridges to a user whose bridge was blocked" Alternately, "give fewer bridges to accounts correlated with more blocking events than 1 standard deviation above the average"

A good idea might be to evaluate multiple simple strategies simultaneously and see which strategies are more effective.