1. A method of forecasting how an event stream will behave in the future, the method comprising: receiving, by using at least one processor, an event stream including a plurality of events upon which a forecast is to be based; and for each received event in the event stream: updating, by using at least one processor, a reference window indicative of a predefined temporal range during which the forecast is to be computed so that the reference window ends with the respective received event so that the reference window moves with the event stream; determining, by consulting a forecasting update policy, whether the forecast is to be triggered; in response to determining the forecast is to be triggered, generating, by using at least one processor, a new forecasting window indicative of a temporal range in which events are to be forecasted; for the new generated forecasting window and while a period of time associated with the forecasting window is not exceeded, (a) generating, via at least one processor, a plurality of forecasted events based on the updated reference window and (b) inserting the plurality of forecasted events into the new forecast window; and publishing the new forecast window that includes the inserted plurality of forecasted events, wherein the reference window is updated multiple times for each update of the temporal range of the new forecasting window.