gitwtfhub

wtf is percolator-fish?

nikosarcevic/percolator-fish — explained in plain English

Analysis updated 2026-05-18

5PythonAudience · researcherComplexity · 3/5Setup · moderate

TL;DR

A coffee-cooling toy example showing how scientists forecast, before collecting any data, how precisely an experiment could pin down a model's numbers.

Mindmap

mindmap
  root((percolator-fish))
    What it does
      Simulates a cooling coffee experiment
      Forecasts parameter uncertainty
      Shows parameter correlations
    Tech stack
      Python
      DerivKit
    Use cases
      Learn Fisher forecasting with a simple example
      See how noisy data limits parameter precision
      Visualize correlated parameters with triangle plots
    Audience
      Students learning statistics
      Researchers new to Fisher forecasting
    Concepts
      Newton's law of cooling
      Fisher matrix
      Triangle plot

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Learn how Fisher forecasting works using a simple, easy to visualize coffee cooling model.

REASON 2

See how adding more measurements or reducing measurement noise changes forecasted parameter precision.

REASON 3

Study how correlated or degenerate parameters show up in a triangle plot before applying the technique to a real research model.

What's in the stack?

PythonDerivKit

How it stacks up

nikosarcevic/percolator-fish1ncendium/aibusteraaronmayeux/ha-hurricane-tracker
Stars555
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity3/53/52/5
Audienceresearcherops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires installing DerivKit alongside this project's Python dependencies.

License and media credit are mentioned in the README's table of contents, but the specific terms are not shown in the excerpt available.

Wtf does this do

percolator-fish is a small teaching example that shows how scientists estimate, ahead of time, how well an experiment could pin down the numbers in a model, using a cooling cup of coffee as the stand in for a real experiment. Instead of collecting real measurements, the project simulates them: it uses a well known formula for how a hot object cools toward room temperature over time, adds a bit of realistic random noise to pretend it measured the temperature repeatedly, and then asks how precisely you could have recovered the model's original numbers, such as the starting temperature and how fast it cools, from data like that. This kind of forecasting is called Fisher forecasting, named after a mathematical tool called the Fisher matrix. Rather than fitting one particular set of noisy measurements, it asks a more general question before any data exists: given how sensitive the model's predictions are to each parameter, and how noisy the measurements are expected to be, how tightly could each parameter realistically be constrained, and are any of the parameters hard to tell apart from each other. The project starts with a simple two number version of the coffee model, then extends it to a four number version that includes a cup shape factor, so the numbers become harder to separate and better illustrate the kind of overlapping uncertainty seen in real scientific problems. Getting these forecasts requires computing derivatives, which describe how much the model's predictions shift when one of its numbers is nudged slightly. The project uses a separate tool called DerivKit to compute those derivatives, then turns the results into cooling curve plots, uncertainty estimates, and triangle plots that visually show how each pair of parameters relates to the others. The author frames this as a friendly, low stakes introduction to a technique that is normally applied to much larger and more complex scientific models, using coffee instead of an expensive telescope or particle detector so the idea is easier to follow.

Yoink these prompts

Prompt 1
Explain how the Fisher matrix in this project is built from derivatives of the cooling curve.
Prompt 2
Walk me through running the demo and interpreting the triangle plot it produces.
Prompt 3
Show me how adding the cup factor parameter changes the forecasted uncertainties in this project.
Prompt 4
Describe the difference between fitting real data and doing a Fisher forecast, using this project's coffee example.

Frequently asked questions

wtf is percolator-fish?

A coffee-cooling toy example showing how scientists forecast, before collecting any data, how precisely an experiment could pin down a model's numbers.

What language is percolator-fish written in?

Mainly Python. The stack also includes Python, DerivKit.

What license does percolator-fish use?

License and media credit are mentioned in the README's table of contents, but the specific terms are not shown in the excerpt available.

How hard is percolator-fish to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is percolator-fish for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.