Monte Carlo, Python, Jupyter Notebook.
The first time I came across Monte Carlo simulation was during a Six Sigma training and it was used to predict the outcome of a transfer function in a tolerance analysis. It was in an Excel based tool but the principle was fairly easy to understand: assign a distribution to variables in a function