(I actually use Google Sheets because I use web apps whenever possible, but I said Excel for legibility and terseness.)

Since 2018, I’ve been logging some subset of my

  • mood (single figure, min avg max, morning afternoon evening)
  • energy
  • depression/anxiety
  • irritability
  • productivity

in an attempt to capture “well-being”. At the beginning of every year, I create a new tab in my personal health log for that year and change up the variables. The well-being variables long dissatisfied me, and fluctuated more than the others.

I’m more pleased with this year’s set for two reasons:

  • I think the variables I chose carve “well-being” at its joints more than my previous variable sets
  • I have a composite variable whose emergence from those three variables called dayscore, which I can see at the end of the day when I fill in the three variables

The dayscore number gives me a feeling that that “my day has been graded”, which I personally enjoy. When the day sucks I’m not surprised or disappointed by the low score, but when it is good I’m actively pretty stoked to see what number falls out.

dayscore provides an small additional amount of motivation/structure/purpose to my day. Why do this hard thing? Why make the right choice? I mean, aside from My Values, which I frankly don’t find very convincing sometimes. Well, you see, I might get good grade on my day, something that is (unironically) normal to want and possible to achieve, and is easier to work towards if I am in fact being graded.

the variables

all of these are logged 0-5. I usually do round numbers (“4”), sometimes half-round (“2.5”), and occasionally non-round (“1.2”).

distance

how much ground I covered (whether or not it was easy, or a great idea to cover that particular ground)

  1. absolutely nothing done
  2. I did at least 1 nontrivial thing, but am distinctly unsatisfied
  3. more things happened than 1 nontrivial, but not that satisfying
  4. more than half the day spent on Bullshit, but got real things done. kinda satisfied
  5. over half the day in either work or useful rest. def satisfied
  6. most of the day consumed in forward motion

viscosity

how cognitively difficult it was to choose and execute the things I did

  1. everything was predetermined
  2. a lot of structure, only a few choices
  3. I was having to pick and choose at key moments
  4. yeah that was a lot of choices, repeatedly checking todo list / possibilities
  5. high fragged. effort it took to get through day
  6. everything was hard, all the time, zero flow. zero stim state

pointedness

mindfulness, or endorsedness, or non-autopilot-ness, or actually-paying-attention

  1. total mess today, purely reactive, if I did endorsed things it was by accident
  2. There were islands of clarity. Not a total fog.
  3. Ehh. Continent(s) rather than islands of clarity, but largely it was sea.
  4. 50:50? Got captured in a way that threw my day (3h+ disruption where I lost touch) multiple times
  5. Really good, got captured at least once but it never threw my day.
  6. I was a perfect monkbeast. Present for all convos, action led by thought and planning

the dayscore function

Intermediate variable x = ROUND((d+0.3)*(v+1.5)*(p+1.5) , 1)

dayscore = MROUND(LN(x+5)+20*x/(x+260)-1.8, 0.5)

reasoning

The intermediate variable is basically a multiple of how much I did, how hard it was, and how endorsed/present I was for those choices, with padding so that a day with two high variables and one really low one doesn’t get unfairly penalized.

I wanted a day with maximal distance to be rewarded ~17x more than a day with minimal distance, and a day with maximal difficulty/pointedness to be ~4 times as rewarded. The padding constants of 0.3 and 1.5 fell out of that.

This variable can range from 0.675 to 223.9, and I want to squish this to roughly a 0-10 scale. Just linearly scaling it is a bad idea, because most of the variance is located at the lower half of x. Some examples:

  • If a day has dvp 4/4/4, that’s an extraordinarily good day where I got a lot done, thoughtfully, despite challenges, and it has an x of ~130. I’m unlikely to get an x higher than that. I want that day to be a 10.
  • If a day has dvp 3/2/3, that’s a decent day, and it has an x of ~52. I want that day to be about a 5.
  • If a day has dvp 2/2/1, that’s a pretty eh day, and has an x of ~20. I want that day to be about a 3.
  • If a day has dvp 0.5/2/1, that’s a bad day, and has an x of ~7. I want that day to be about a 1.

I marked out these points on an XY plane, drew the curve I wanted, and worked backwards until I found a function that looked right in the range of interest (x up to 130)

It’s an average of ln (blue) and ax/(x+b) (red), two convex curves that ‘lump out’ at different points at different intensities. An artisanal function made by an animal with no great high order reasoning or optimization. A painting by an elephant.

examples

Some real examples of d, v, p, x, and dayscore (random sample from my month similar-feeling days deduplicated for variety ordered by distance then viscosity)

distviscpointxdayscorecomment
0101.10did nothing, easily, mindlessly (ill)
0425.81depressed, fucked around
0.52.50.56.41not depressed, just lazy/slow
0.541112whole day fucked by bad sleep
2.322.536.44.5mid on everything
42.3373.57mix of flow and nonflow work
4.22255.16more flow than nonflow
4.32.63.594.38unblocked self on a big aversive task
4.51.5364.86.5did a lot, easily, somewhat thoughtfully
502.531.84sucked into obsession, code all day