1. A computer-implemented method of asynchronously updating forecast rollup numbers: receiving, by a processor system, a data update, including a source data or an override data update; adding, by the processor system, one or more events to an event queue based on the data update; dequeuing, by the processor system, a batch of one or more events from the event queue; and processing, by the processor system, the batch of events to update forecast rollup numbers, the processing including: retrieving one or more source data based on the batch of events being processed, retrieving one or more target data based on the batch of events being processed, each target data being associated with a corresponding source data, determining differences in value between each target data and the corresponding source data, updating each target data based on the corresponding difference in value, retrieving forecast data based on the batch of events being processed, aggregating the differences in value associated with users at a first level of an organizational hierarchy to provide a first aggregated data, and summing the first aggregated data with forecast data corresponding to a user at a second level of the organizational hierarchy to provide a second aggregated data, the second level being at a higher level of the organizational hierarchy than the first level.