At the beginning of this year, I saw a tweet from Ali Yahya about how he meticulously tracks his habits in a spreadsheet. His system took inspiration from Ben Franklin, who described his system in his autobiography.

This idea intrigued me. Instead of setting specific goals this year, I set a few themes that I could plan monthly goals around. Since one of my themes was to practice discipline, I decided to try setting up my own habit tracker to assist.

The idea of this habit tracker is I can use it to log my progress towards making any habit routine. I figured that the daily motion of having to log my actions would serve as a reminder to actually do what I want to do. Once a behavior is in the conscious mind, it’s a lot easier to do.

I fiddled with a few different ideas but ultimately decided to start with a simple approach. I created a basic Google Sheet and started to log sleep, email, and Instagram use on a daily basis. Since I started on January 28, 2019, I’ve added a fair amount of complexity. Below is a screenshot of what it has become since I began tracking habits.

Habit Tracker

Conditional highlighting and formulas help me understand streaks and trends. I also wrote a Python script to automate the process of updating the sheet each day. It’s agnostic to any specific habit, so I can use it to track anything I want. I have updated the columns a few times as I’ve wanted to focus on other things. It’s great for maintaining foundational habits, or for reaching aspirational ones.

There are a few benefits to this.

  1. I can actually understand what progress is being made. My memory is not perfect and favors recent events. Without the data, it’s easy to falsely assume things are going well.
  2. Seeing a streak of successes serves as a strong motivator to keep it going. It feels weird to think that I can improve my life with gamification that I wrote myself. It doesn’t work all the time, but this works a lot.
  3. I can work on more habits at once. I have to remember to check my sheet, but then everything I want to track is recalled into memory. There’s a limit to the amount I can track within the sheet, but it’s more than without.

Since I started, here are some areas of my life where I’ve noticed remarkable improvements:

It’s a great system and I have no intention of stopping. I intend to open source both the spreadsheet and my Python script soon. I will detail that in a separate post.