Requests from multiple users for one or more shared resources can be dynamically throttled based on at least one allowance value determined for each user at a current point in time. One or more business functions or other such algorithms can be used to determine an appropriate allowance value for a user based on any of a number of appropriate factors, such as the cost of a resource, a value of the user, a request volume of the user, or other such factors. The values for each user can be fed into one or more algorithms to determine information such as request limits, burst limits, and costs per request. Such approaches provide for dynamic and fine-grained traffic shaping while allowing for variance of these limits or values over time.