A collection of some apps/techniques I built to support and streamline my forecasting processes.


Hormuz Strait Transit Calls Analyzer: https://hormuzstraittransitcalls.streamlit.app/

I built this app because Hormuz Strait questions repeated last year and this year as well. Instead of running the same script over and over on my machine, I figured - why not just make a simple Streamlit app that does it for me (and others) anytime, anywhere?


FRED Q2 2025 Challenge Streamlit App: https://fred-q2-2025.streamlit.app/

I built a Streamlit app for the FRED Q2 2025 Challenge that combines Monte Carlo Simulations and bootstrapping to generate probabilistic forecasts. Users can upload FRED data, set a forecast horizon, and customize parameters to visualize future value distributions.


Forecasting Calibration Table and a ‘GutCheck’ App:

Inspired by the RANGE platform, the following table helps to translate intuition and gut feelings into explicit probability ranges. The goal is to develop a consistent, structured way to express uncertainty, especially when making forecasts or thinking through complex scenarios.

This app builds on that idea. You provide your rationale as input, and it returns a probability range based on the tone and framing of your reasoning. It’s an experimental tool, but one that reflects my attempt to bring more clarity and consistency to my forecasting process.

Labels Range Interpretation
Remote 0% - 5% Extremely unlikely.
Highly Improbable 5% - 15% Very unlikely, but not impossible.
Improbable 15% - 35% Unlikely, but might happen.
Roughly Even Odds 35% - 65% Could go either way.
Probable 65% - 80% More likely than not.
Highly Probable 80% - 95% Very likely.
Nearly Certain 95% - 100% Almost sure to happen.

Limitations:

  1. Compression of Unequal beliefs: When thinking about this in terms of frequency, it doesn’t make sense to club 35% and 65% in the same bin. For example: if you are looking at a question which could resolve as either yes or no then thinking in terms of the relative frequency would mean, if this happened 100 times what would I assign to yes/no. If I say yes with 35% then I am essentially saying it will be happen 35 times. The difference between 35 and 65 is huge!

    **Solution**: Refine it. Smaller intervals. Maybe take 10% diff intervals..