This repo contains code used in sktime PyCon Nigeria 2025 demo
# 🥐 Retail Forecaster
This project is an interactive Streamlit app for forecasting daily croissant sales using real historical data and state-of-the-art time series models from the `sktime` library. The app provides three levels of forecasting sophistication, from manual model selection to automated hyperparameter optimization.
## Features
- **Level 1: The Craftsman** – Manually select and run a forecasting model.
- **Level 2: The Foreman** – Automatically compare several models and pick the best.
- **Level 3: The Optimizer** – Fine-tune model hyperparameters for optimal accuracy.
- Visualizes historical sales and forecast results interactively.
## Project Structure
- `app.py` – Main Streamlit application.
- `croissant.csv` – Daily croissant sales data (with `date` and `croissant_sales` columns).
- `requirements.txt` – Python dependencies.
## How to Run
1. **Install dependencies** (preferably in a virtual environment):
```bash
pip install -r requirements.txt
```
2. **Ensure the data file** `croissant.csv` is in the same directory as `app.py`.
3. **Start the Streamlit app:**
```bash
streamlit run app.py
```
4. **Open the app**
- Streamlit will provide a local URL (e.g., `
localhost`) in your terminal. Open it in your browser.
## Requirements
- Python 3.8+
- See `requirements.txt` for all required packages.
## Notes
- If you add new data, ensure it follows the same format as `croissant.csv`.
- The app uses caching for fast data loading.
- For best results, use the latest version of `sktime` and `streamlit`.
---
**Enjoy forecasting and growing your croissant business! 🥐**