A dashboard to forecast work item completion using Monte Carlo simulations. Built with Python and Panel.
Monte Carlo simulations use your team’s actual historical data to generate thousands of possible futures, providing a range of likely outcomes and their probabilities. Unlike simple averages or burn rate calculations, Monte Carlo methods account for the natural variability and unpredictability in real work. This means you get forecasts with confidence levels (percentiles), not just a single number, helping you make better decisions under uncertainty.
For a deeper dive, see Actionable Agile Metrics for Predictability: An Introduction by Daniel Vacanti.
Watch: Your Project Behaves Like a Hurricane. Forecast It Like One (YouTube)
The easiest way to run Kwando is using the pre-built Docker image from Docker Hub:
docker run -p 5006:5006 -v $(pwd)/data:/app/data rodbv/kwando:latestThen open http://localhost:5006 in your browser. No installation or setup required!
If you want a CSV file as an example, you can download some here.
Don't have Docker? Install Docker here
- Python 3.12 or higher
- uv package manager
- Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh - Clone the repository:
git clone https://github.com/rodbv/kwando.git cd kwando - Install dependencies:
uv sync
- Run the dashboard:
uv run panel serve src/dashboard.py
- Open your browser at the URL shown in the terminal (typically
http://localhost:5006)
Enter throughput values directly in the dashboard using comma-separated format:
- Enter values separated by commas:
2,3,5,2,4,6 - Whitespace around commas is automatically trimmed:
2, 3, 5, 2works the same as2,3,5,2 - All values must be numeric and non-negative (>= 0)
- Decimal values are supported:
2.5,3.7,5.2 - Maximum 1000 values
- Values are automatically saved and restored on next visit
Example: 2,3,5,2,4,6 represents 6 weeks of throughput data.
- Load Data: Use the "Data Source" section to enter throughput values directly using comma-separated format (e.g.,
2,3,5,2,4,6). Values are automatically saved and restored on next visit. - Choose Analysis:
- "When will it be done?": Calculate completion date for a specific number of items
- "How many items?": Calculate how many items can be completed in a period
- Adjust Parameters: Set the number of items or date range
- View Results: See percentiles and confidence levels for your forecast
Contributions are welcome! See the Contributing Guide for details on how to submit issues, feature requests, and pull requests.
This project follows a Code of Conduct. By participating, you are expected to uphold this code.
MIT License - see the LICENSE file for details.
- Monte Carlo simulation adapted from rueedlinger/monte-carlo-simulation
- Inspired by the book Actionable Agile Metrics for Predictability: An Introduction by Daniel Vacanti
