I've used OKR for 7 years, on a quarterly basis. I had simple markdown files at first, then vnl-log files, and now R notebooks (https://github.com/dkogan/vnlog) to read / plot.

It may seem like overhead, and there's some snark in this thread about how it's project / team management without the project and team.

I completely disagree. If you set up your KR's so they are 1) quantitative, 2) daily measurable, 3) simple to log ( a few keystrokes while journalling) and 4) completely under your control to achieve.

At the end of the day, I mark down my progress on all my OKRs. I can quickly plot them, look back at progress, and look back at goals and concerns by seeing the types of objectives I had. It's a 10,000 foot journal that I otherwise wouldn't have.

There's more to this than simply quantifying yourself. We like #'s because they are representations of complex systems. The self and your personal history are absolutely a complex system worth tracking.

Looking back at my OKRs when I was dating my (now) wife, comparing the ways I put effort into our relationship and our changing priorities. Seeing over time my running distances, weight lifting activity, meditation record, and seeing how I consistently attempt to over-achieve by setting KR values too high ... Having those points of reference has made today more enjoyable, and been a constant reminder that progress comes slowly and missing on any particular attempt at something is irrelevant. It's so completely a part of my life now that I can't imagine setting goals or daily priorities without it.

Think of it like quantitative journalling.

Can you share more about your process? I'm very interested in learning more. How do you track your daily data points?

I have a text file in a known location. It's backed up on git.

I can open and edit that file quickly using bash. From within VIM I can quickly commit to reduce the # keystrokes. More details: https://github.com/jodavaho/bashlog#git-integration

(Really though, you can just save as an environment variable your file location)

The text file is structured with space-delimited text, like this: https://github.com/dkogan/vnlog

My current structure for tracking a contribution to an OKR item (e.g. "meditate") by date (e.g., 2020-01-15) and amount (e.g., "1") is simply:

"# date item amount"

Easy to open, easy to plop down today's date and the item / amount. Save multiple date/item entries and add them inscripts ... Easy to save. Done.

The work came in building stuff to plot it:

I have other files that link "items" to goals or other metadata like categories, etc. Like a relational database, but easily edited in text.

For example, to make a link from daily items to Key Results

"# item okr"

The OKR categories are usually Fighting (I box), Tech, Mental health, and Social, but YMMV

Another example is "workout-mapping.vnl" with structure: "# item muscle-group factor"

etc etc.

vnlog has nice vnl-join commands that quickly build the table and all linked metadata and output formatted text (one command). Then reading that in R is easy ...

``` data <- read.table('../2020-Q4-OKR.vnl',skip=2,stringsAsFactors = FALSE) ```

Aggregating by date is easy:

``` data.agg<- aggregate(x=data$Amount,by=list(data$Date),FUN=sum) ```

Then plot using ggplot2.

Examples from 2020 Q4 (just ran the numbers yesterday!)

https://josh.vanderhook.info/media/okr.png

https://josh.vanderhook.info/media/workouts.png

https://josh.vanderhook.info/media/mood.png