A method and apparatus for performing forecasting using time series data are described. In one embodiment, the method includes designating a last portion of the time series data as a base pattern, searching the remaining portion of the time series data for candidate patterns using the base pattern, and identifying candidate forecasts corresponding to the candidate patterns. The method further includes calculating a set of final forecast values based on the candidate forecasts.