OpenForecast logo



OpenForecast is a package of general purpose, forecasting models written in Java that can be applied to any data series. One of the design goals was/is to make it easy for a developer to use in an application even if they do not understand, or care to understand, the differences between the different forecasting models available.

Current Status

If you would like access to the very latest development code then these are available in CVS. For details on the latest development efforts, refer to the TODO file in CVS.

OpenForecast 0.5 was released on May 29, 2011. Version 0.4 has proven to be a very stable release and served all of my initial goals for the project. It has been downloaded over 16,000 times and already is used in many production systems. This long overdue update includes the following enhancements:

  • Overloaded Forecaster.getBestForecast to allow the user to select which of the evaluation criteria (bias, MAD, MAPE, MSE, SAE, etc.) to use, or provide a reasonable default - as suggested by Paul Mars.
  • Initial support for evaluation of models using Akaike Information Criterion (AIC). Enhanced the Forecaster.getBestForecast method to optionally use this - requested/suggested by Sajjad Daya, May 2011.
  • Modified Forecaster.getBestForecast to use one less than the square root of the number of observations as a guess at the order of the single variable polynomial model to fit. While providing a great fitting curve (and often the "best" fitting curve), the previous implementation also gave some wild future estimates. The new approach is more conservative, and favors more accurate future forecasts.
  • TripleExponentialSmoothingModel: Added/Improved validation of input parameters to getBestFitModel and init methods. Without this errors were a little cryptic at best.
  • Upgraded to use latest version of JFreeChart (1.0.13)
  • Updated to use J2SDK 1.5 Generics. If you still want to use an older version of Java (pre-1.4), then you will need to download and use OpenForecast 0.4.

OpenForecast 0.4 was released on March 31, 2004. It is the largest update to date, and adds a number of new features including:

  • an improved, intelligent forecaster
  • the addition of two new packages containing helper classes to ease the input and output of forecasting data
  • support for single, double and triple exponential smoothing models
  • a re-organization of the examples and tests into a more standard directory structure
  • additional samples and tests
  • updates to use JFreeChart 0.9.16 and JCommon 0.9.1
  • minor changes to ease the compilation under Microsoft's Visual J#

OpenForecast 0.3 was released on January 4, 2003. This included support for a variety of different forecasting models including:

  • single variable linear regression
  • single variable polynomial regression
  • multi-variable linear regression
  • moving average
  • "naive" forecasting (special case of the moving average model)

OpenForecast 0.3 came with sample applications, and a suite of tests to validate its output. Even though it is still considered beta software, no bugs were reported against this release.

Feedback wanted

Have you downloaded and tried using OpenForecast? Do you find it easy to use, and powerful in the features it offers? If so, send us an e-mail to openforecast @ (remove the spaces around the "@") to let us know. Even if you didn't like it, we'd still be interested in hearing your comments and feedback.

Thank you for your interest in OpenForecast.

Last modified: Sun May 29 20:05:41 CDT 2011