1. A method comprising: generating, by one or more processors, a forecasting cohort of forecasting algorithms, wherein the forecasting cohort comprises a first set of forecasting algorithms of a first type of forecasting algorithm, and wherein the forecasting cohort further comprises a second set of forecasting algorithms of a second type of forecasting algorithm; determining, by one or more processors, a half-life of each of the first set of forecasting algorithms and the second set of forecasting algorithms, wherein the half-life describes a subsequent time at which a forecasting algorithm has reached half of its forecast horizon as measured from an initial time; determining, by one or more processors, a half-life weight for each of the first set of forecasting algorithms and the second set of forecasting algorithms, wherein half-life weights decrease an effect of a forecasting algorithm as time elapses; determining, by one or more processors, a confidence level of the forecasting cohort at the subsequent time, wherein the confidence level is based on the half-life weight of each of the first set of forecasting algorithms and the second set of forecasting algorithms; utilizing, by one or more processors, the confidence level of the forecasting cohort at the subsequent time to adjust resource usage; receiving, by one or more processors, sensor readings from a device, wherein the sensor readings describe current conditions of the device, and wherein the device includes resources; predicting, by one or more processors, future usage of the resources in the device based on the confidence level of the forecasting cohort; and reallocating, by one or more processors, the resources used by the device based on the predicted future usage.