Skip to main content

forecast-tools: fundamental tools to support the forecasting process in python.

DOI ORCID: Monks PyPI version fury.io License: MIT Binder Python Read the Docs

forecast-tools has been developed to support forecasting education and applied forecasting research. It is MIT licensed and freely available to practitioners, students and researchers via PyPi. There is a long term plan to make forecast-tools available via conda-forge.

Vision for forecast-tools

  1. Deliver high quality reliable code for forecasting education and practice with full documentation and unit testing.
  2. Provide a simple to use pythonic interface that users of statsmodels and sklearn will recognise.
  3. To improve the quality of Machine Learning time series forecasting and encourage the use of best practice.

Features:

  1. Implementation of classic naive forecast benchmarks such as Naive Forecast 1 along with prediction intervals
  2. Implementation of scale-dependent, relative and scaled forecast errors.
  3. Implementation of scale-dependent and relative metrics to evaluate forecast prediction intervals
  4. Rolling forecast origin and sliding window for time series cross validation
  5. Built in daily level datasets
  6. An interactive plotting tool to visualise train test splits and forecasts.

Ways to explore forecast-tools

  1. pip install forecast-tools
  2. Click on the launch-binder at the top of this readme. This will open example Jupyter notebooks in the cloud via Binder.
  3. Read our documentation on GitHub pages

Citation

If you use forecast-tools for research, a practical report, education or any reason please include the following citation.

Monks, Thomas. (2020). forecast-tools: fundamental tools to support the forecasting process in python. Zenodo. http://doi.org/10.5281/zenodo.3759863

@software{forecast_tools,
  author       = {Monks, Thomas},
  title        = {forecast-tools},
  month        = dec,
  year         = 2023,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3759863},
  url          = {https://zenodo.org/doi/10.5281/zenodo.3759863}
}

Contributing to forecast-tools

Please fork Dev, make your modifications, run the unit tests and submit a pull request for review.

We provide a conda environment for development of forecast-tools. We recommend use of mamba as opposed to conda (although conda will work) as it is FOSS and faster. Install from mini-forge

Development environment:

mamba env create -f binder/environment.yml
mamba activate forecast_tools

Unit tests are provided and can be run via hatch and its coverage extension. Run the following in the terminal.

To run tests in multiple Python environments (3.9-3.12)

hatch test --all

To obtain a coverage report run

hatch test --cover

All contributions are welcome and must include unit tests!

Metadata

Release files for forecast-tools 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forecast-tools 0.4.1
File Size Uploaded
forecast_tools-0.4.1.tar.gz 24.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for forecast-tools 0.4.1
File Interpreter ABI Platform
forecast_tools-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 50.8 kB

Release files / forecast_tools-0.4.1.tar.gz

Download URL forecast_tools-0.4.1.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
47fc3b3402d68577ae7f5cfb2744452b146fabb3fd4779f33190f21c16cbaae6
BLAKE2b-256 checksum
How to use checksums
0e73ffe91da4b582160160bd8c5501832773fc3d49345c8569bb2f96fe24bc2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release files / forecast_tools-0.4.1-py3-none-any.whl

Download URL forecast_tools-0.4.1-py3-none-any.whl
Size 26.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7bf3bab8c04b4db3d062c121d649fcd9d425e1c2989117c28247423919d67c50
BLAKE2b-256 checksum
How to use checksums
c865d2fd80fb15346e14586399488468a2ae670a91a1fedd950a08938f15b080
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page