Atomic Habits: Make It Satisfying

This is the discussion thread for the fifth section of Atomic Habits: “Make It Satisfying”!

Book club index here.

I was the most interested in chapter 16 (“How to Stick With Good Habits Everyday”) this week. This was well said on page 201:

Missing once is an accident. Missing twice is the start of a new habit.

In the past, I’ve used the fine print for my Beeminder goals to specify a “minimum allowable data point”. For example, I only log cardio time for workouts longer than 10 minutes. My instinct is to set my minimum allow progress to the smallest increment I’d feel good about. I wonder if that’s a mistake.

James Clear talks about the days where he can only do one push-up in terms of maintaining both identity and progress. He makes the argument for maintaining progress in terms of physical fitness on page 201:

Sluggish days and bad workouts maintain the compound gains you accrued from previous good days.

I can see how maintaining identity (I’m an exerciser! I exercise every day!) is boolean. Just doing one push-up is at least some proof of personal commitment. In most domains, though, you probably won’t really maintain your progress unless you cross some threshold of effort. To the extent that goals should serve both purposes, I think I’ve convinced myself that I shouldn’t have a minimum data point size, but instead bake the minimum effective dose into the slope of the yellow brick road.

The discussion of Goodhart’s Law (people tend to optimize toward whatever they are being measured on, to the exclusion of the original goal) got me thinking about my Complice weekly review and why it’s been so useful.

If you aren’t a Complice user, the weekly review interface presents a text field for each of your goals. The field is prepopulated with a set of standard questions to answer during the review. @malcolm provides standard retrospective fare as a reasonable default (what’s going well, what isn’t, what are you going to change), but you can also customize the review questions goal-by-goal. For my area-of-life goals, I tend to use custom questions as a qualitative check on the outcomes I want.

For example, I have a Complice “Health & Wellness” goal, whose first three review questions are:

  • How did you feel physically this week?
  • How was the quality of your attention?
  • How did you feel emotionally this week?

I use Beeminder to track the set of activities that I believe are causally related to how I answer these questions: time meditating, minutes of cardio, strength workouts, hours of sleep, servings of fruit & vegetables, grams of sugar, etc.

After answering the first three, I ask “What practices can help?” This prompts me to think about prioritization and optimizations for the week ahead. Because I’m starting from a qualitative appraisal of the prior week, I’m giving myself a chance to think in terms of what James Clear calls “non-scale victories” (i.e. the health benefits you get from from diet and exercise besides weight loss.)

My review process has been working really well to help me avoid Goodhart’s Law traps. I wonder if those who’ve been maintaining Beeminder journals in the forum have found similar effects.


Loosely related to this:

I’m kind of just brain-dumping randomly here… haven’t really thought through exactly how relevant this is to your comment, but maybe it will be of interest to someone. :slight_smile:

I’ve had a lot of success recently for some of my goals with a set-up that ensures they are red at the start of the day and then if I perform well they end up green at the end:

  • set Max Safe Days to 0 (goal is red every morning)
  • set the slope low enough that my ideal effort each day makes the goal green

The redness ensures I do something each day, even if it’s only a small bit of effort; the greenness rewards a proper effort because I then get a feeling of prettiness and relaxation from looking at my goals.

This only works with goals where I do need an initial push to start the work each day but once I’ve started I’m reasonably likely to continue long enough to do a proper effort - specifically, tidying my house, reducing my short-term email backlog, and writing three positive things each day (1=orange, and once I’ve written one the other two are easier so 3=green).

If the desire to get a green goal is motivating for you, then perhaps you could use this system to enforce the minimum allowable data point (e.g., 1 minute is just enough to reach orange) but also encourage the smallest increment you’d feel good about (‘n’ minutes is enough to reach green). Of course there would be a limit on what ‘n’ could be since the slope has to allow for 1 minute = orange. I guess you’d need to put up with the minimum being more than 1 minute to allow 10 minutes to be necessary for green.

I’ve also been considering the idea of using a manual negative “PESSIMISTIC PRESUMPTION” data point for do-more goals. I think I read somewhere that any datapoint with that as a comment would be automatically deleted as soon as a new datapoint for the same day was entered, regardless of the type of goal. I haven’t got around to testing that yet. If it works, then I could set a cron job to run first thing each morning to add a PP datapoint with a huge negative value so that the goal would be guaranteed to derail at the end of the day if I do nothing, and then as soon as I do a tiny amount of effort, the PP point disappears, meaning that I could build up a safety buffer on previous days while still being forced to do a little every day. No idea yet if it will work. :slight_smile:


This is an interesting system and I may pick a trial goal and give it a whirl. To date, I’ve been pretty firmly in the camp of “anxious about anything but all greens”, possibly because my slopes have been designed such that getting more than one or two goals out of the red on any given day can be pretty damn challenging. I’ve found max-safe-days to have sharp edges, but it sounds like the key thing that makes it work for you is max safe days PLUS gentle slopes.

I’ve recently set up a handful of goals using the nonzero binary aggregation, so that I only need to do at least one squat, one pushup, etc on eep! days. Inevitably I do more than that, and the data is captured-but-not-graphed in any QS sort-of-way.

1 Like

i’m intrigued, could you explain what you mean by “nonzero binary aggregation”?

When you convert your goal to custom you can set a setting called “aggday”. There you can define a ton of metrics, “nonzero” converts any data entry that is not zero to a one and leaves zero at zero.