If you want I high-end approach, you can work like this. Select a probabilistic model for the RSS feeds, for example that the time between updates follows a continuous probability distribution, for example the exponential distribution. For every RSS feed, use the maximum likelihood method for estimating the parameters of the individual distributions based on the history of updates on that feed. Now you have a probabilistic model which you can use the calculate the probability that any particular RSS feed has an update available at any specific time. Whenever you have time slot available to check for updates on one stream, check the one that has new data available with highest probability. The exponential probability, for example, is memoryless, which means that if you check the feed for update and there is none, the probability that it has an update will "reset" to 0% at the time of the check and will then grow upwards from there, prioritizing the other feeds in the immediate future over this one.