I recently wrote a small (python, command-line) program for prediction tracking. Above all, I wanted something that allowed very quick entry, that stored everything in a single plain-text human-readable file on my own computer, and that I could easily customize.

As far as features go, I also wanted a tagging system and to be able to do more sophisticated analysis. For example, I wanted to classify predictions as e.g."work" or "politics" when looking at accuracy, or to see how my calibration changed over different times or with how far in advance I had made a prediction.

Since the predictions that I care most about aren't very interesting to other people, I don't miss the social aspect. Nor do I want to obscure a prediction that contains personal details or store it separately.

An example:

If you wanted to predict that it will rain today, with 50% confidence, and tag the prediction with the "weather" and "external" tags, and be reminded to judge the prediction 2 days from now, you'd type this on the command line:

predict 'rain today' 50 -t weather external -d 2

The created entry in the log will look something like this:

{
    "prediction": "rain today",
    "confidence": 50,
    "notes": null,
    "tags": [
        "weather",
        "external"
    ],
    "date_created": "2014-12-14T20:17:26",
    "date_due": "2014-12-16T20:17:26",
    "state": "open"
}

Running "predict --due" will either ask you about any predictions that are ready to be judged and update the corresponding log entry, or just change "state" to "due" so you can ctrl-f and edit the log directly. (Since the log is just text, you can manually edit any entry, like changing a prediction from "open" to "true" or "false").

Running "predict --stats" will dump statistics.

I'm very happy with this work flow, and I'm hoping to clean up the code and share it when I get a moment. It's all of ~250 lines, but I couldn't find what I wanted out there already.

Open thread, Dec. 15 - Dec. 21, 2014

by Gondolinian 1 min read15th Dec 2014309 comments

2


If it's worth saying, but not worth its own post (even in Discussion), then it goes here.

Previous Open Thread

Next Open Thread


Notes for future OT posters:

1. Please add the 'open_thread' tag.

2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)

3. Open Threads should be posted in Discussion, and not Main.

4. Open Threads should start on Monday, and end on Sunday.