1. A computer implemented method comprising: observing interactions by each of a plurality of users, wherein the observed interactions are indicative of an affinity of the users towards the application; determining an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users; determining an allocation of a channel resource for the application based on the affinity score, the allocation specifying a threshold usage of the channel resource by the application; limiting the rate at which the application is allowed to send messages via the channel resource to the threshold usage specified by the allocation; determining a second affinity score of the application based on a new set of observed interactions; and responsive to the second affinity score indicating a higher affinity of the users towards the application, increasing the rate at which the application is allowed to send messages via the channel resource.