A method for minimizing allocation failures in a cloud computing system without overprovisioning, comprising: determining a shared available current capacity for a virtual machine series in a system unit of the cloud computing system based at least in part on a current available capacity for the system unit and a demand growth ratio for the virtual machine series in the system unit, the demand growth ratio indicating how quickly demand for the virtual machine series is expected to grow in the system unit relative to how quickly demand for all available virtual machine series is expected to grow in the system unit; determining a shared available future added capacity for the virtual machine series in the system unit based at least in part on a future added capacity for the system unit and the demand growth ratio for the virtual machine series in the system unit; determining a predicted supply for the virtual machine series in the system unit during an upcoming time period, wherein the predicted supply is based at least in part on the shared available current capacity for the virtual machine series in the system unit and the shared available future added capacity for the virtual machine series in the system unit; predicting an available capacity for the virtual machine series in the system unit during the upcoming time period, wherein the predicted available capacity is based at least in part on a predicted demand for the virtual machine series in the system unit during the upcoming time period and the predicted supply for the virtual machine series in the system unit during the upcoming time period; and taking at least one mitigation action in response to determining that the predicted demand exceeds the predicted supply during the upcoming time period. determining a shared available current capacity for a virtual machine series in a system unit of the cloud computing system based at least in part on a current available capacity for the system unit and a demand growth ratio for the virtual machine series in the system unit, the demand growth ratio indicating how quickly demand for the virtual machine series is expected to grow in the system unit relative to how quickly demand for all available virtual machine series is expected to grow in the system unit; determining a shared available future added capacity for the virtual machine series in the system unit based at least in part on a future added capacity for the system unit and the demand growth ratio for the virtual machine series in the system unit; determining a predicted supply for the virtual machine series in the system unit during an upcoming time period, wherein the predicted supply is based at least in part on the shared available current capacity for the virtual machine series in the system unit and the shared available future added capacity for the virtual machine series in the system unit; predicting an available capacity for the virtual machine series in the system unit during the upcoming time period, wherein the predicted available capacity is based at least in part on a predicted demand for the virtual machine series in the system unit during the upcoming time period and the predicted supply for the virtual machine series in the system unit during the upcoming time period; and taking at least one mitigation action in response to determining that the predicted demand exceeds the predicted supply during the upcoming time period.