The Habit Graph

7 min read

Image via Andy Lamb

Mapping my habits using network theory

By Tiago Forte of Forte Labs

The modern science of network theory can be traced directly back to Königsberg, the prosperous 16th century capital of the Duchy of Prussia.

Specifically, it can be traced to its seven bridges, which connected two islands in the river Pregel to each other and the mainland.

No one seems to know who first asked the question, but over the centuries it became one of the great unsolved riddles of mathematics:

Is there any way to visit all parts of the town
crossing each bridge once, and only once?

Königsberg and its seven bridges

The answer to the Seven Bridges of Königsberg problem turned out to be a definitive no, proven in 1735 by mathematician Leonhard Euler.

I’m sure he was proud of his accomplishment, but I’m even more sure he could not remotely imagine its implications.

Euler’s work on the Seven Bridges problem laid the foundations for topology, graph theory, and network theory, which has since become one of science’s most powerful tools in understanding complex systems.

Network theory has been used to study a dizzying array of fields: from the spread of rumors and diseases; to the movement of fluid through pipes and electrical currents through circuits; to the diffusion of social influence and innovations through society; to perhaps the most tangible application for us today: the structure of the World Wide Web and online social networks.

Visualization of social network analysis (image by Calvinius)

I believe that the habitual behaviors of a single human being qualify as such a complex system. This post is my attempt to apply a network theory approach to my own habits.

Backstory

There’s something about the current thinking around habit formation that has always bothered me: we think of habits in isolation.

This is typically Western of us, preferring analysis (breaking apart) over synthesis (putting together) and understanding the world in terms of modular mechanisms instead of holistic organisms.

Thinking of habits in isolation not only misses much of the rich context that characterizes human behavior, it also happens to be absolutely exhausting. You can build a few habits using the “highly targeted, analytical, structured” approach, but as soon as you try to scale you run into plummeting and then negative returns.

We simply can’t handle the cognitive load of acquiring, learning, maintaining, and using multiple strategies and tools for multiple habits. In fact, trying to keep so many balls in the air aggravates the very problems we are trying to solve with our habits in the first place — stress, energy, mindfulness, willpower, presence.

I have to admit I’m as guilty as anyone. In my online class on personal behavior design, Design Your Habits, I encourage students to focus intensely on a single habit, meticulously planning every aspect of their desired behavior, which is a good start, but without nearly as much followup guidance on how to go about using this new skill to build coherent routines.

The problem is that when I really ask myself “Why didn’t I have a healthy lunch today?”, it usually isn’t a faulty trigger, a lackluster reward, or flaws in any of the dozen supporting strategies I’ve researched and taught.

It’s usually because I didn’t have a filling, healthy breakfast. And that was because I didn’t get up early enough. And that was because I went to bed late. And that was because I worked late, because I didn’t get enough done that day, because I didn’t have enough energy, because…I didn’t have a healthy lunch.

In other words, the answer seems to often be “Because I didn’t do other habits.”

Each habit seems to loop back onto itself, influencing and being influenced by many other habits in complex, interrelated patterns. I see the same phenomenon at work with the people I teach and coach.

If it was a simple loop then this would be a simple problem, just a matter of snapping the vicious cycle into a virtuous one. Classic strategies like “Don’t break the chain” and “Never miss two days in a row” attempt to do exactly that.

But it’s not a simple loop. It’s a network.

These quotes are taken directly from the Wikipedia article on network theory, but could just as easily be from a book on behavior change:

When a critical fraction of nodes [or habits] is removed the network becomes fragmented into small disconnected clusters.

Have you ever had the sensation that your habits are grouped into “clusters” based on time of day, location, or interactions with other people? One cluster can fall without affecting the others.

This phenomenon is called percolation and it represents an order-disorder type of phase transition with critical exponents

Have you ever experienced such a “phase transition,” when a single core habit is disturbed and suddenly your whole life goes to pieces?

Dependencies may lead to cascading failures… and a relatively small failure can lead to a catastrophic breakdown of the system

Have you ever watched your good habits fall one after another like dominoes, beginning with some seemingly unimportant event?

As long as we continue to think about habits in terms of simple, linear relationships instead of networks, we will continue to underestimate the difficulty of behavior change, be blindsided by complexity, and miss out on the powerful tools network theory puts at our disposal.

Centrality

The first question I wanted to answer was:

“What are the most important habits in my life?

In other words, what are the keystones, the pillars of my daily routines? The habits that do the most to strengthen and reinforce the others, and whose failure is most likely to lead to collapse.

It turns out there’s multiple approaches to even this simple question.

Various ways of measuring centrality (image by Tapiocozzo)

Network theory uses various measures of “centrality” to identify which nodes are the most “important,” such as degree centrality, closeness centrality, betweenness centrality, eigenvector centrality, subgraph centrality and Katz centrality (see these visualized on the left).

The good news is that these measures are highly correlated — they tend to give similar results. I chose to run with eigenvector centrality, both because it is a good general measure of the influence of a node on the network, and because it is the basis for familiar systems like Google’s PageRank algorithm.

My Habit Graph

I started by narrowing my analysis to “medium difficulty” habits. These are habits that I perform consistently, but not as consistently as I’d like. They are the low hanging fruit of behavior change — strengthening them would quickly and relatively easily improve my quality of life.

Here is the list I came up with:

  1. Out of bed by 8am
  2. One Priority every morning (this involves opening an app on my phone and typing in my #1 priority for the day)
  3. Healthy breakfast
  4. Brush teeth in the morning
  5. 30m morning meditation
  6. Exercise every other day (running, sailing, biking, yoga)
  7. Tea instead of coffee
  8. Email 2x per day
  9. Work breaks every 90m
  10. No working after dinner
  11. Lights off by midnight

I then asked myself the following question for each pair of habits:

Does [habit A] directly and unequivocally make [habit B] more likely to happen?

For example, “Does waking up by 8am directly and unequivocally make meditation more likely to happen?” If the answer was yes (based on my subjective experience), this was counted as a positive one-way relationship.

I worded this question in black-and-white terms because I wanted to avoid subtle, global effects (such as meditation increasing my overall willpower, thus making all my other habits more likely to happen). I was looking for direct, unquestionable influences.

I then used the 56 positive relationships I came up with to produce the following habit graph:

Red are morning habits, green are daytime habits, and blue are nighttime habits

Note that the habits are in chronological order moving clockwise, and that relationships can run in one direction or be bidirectional.

At this point I could simply create a ranking based on how many other habits each habit supports.

But this isn’t quite enough. I want to know not only the absolute number of other habits each one supports, but how influential these supported habits are themselves. In other words, what makes a habit important is not only that it supports many habits, but that it supports habits that are themselves important. This is where eigenvector centrality comes in.

Launch the Eigenvector!

Although the visualization is helpful, the eigenvector equation allows us to rank the habits according to their influence on the entire network in a way that is not apparent visually. Here’s the relevant equation:

From Wikipedia

It looks way more complicated than it is. What it’s essentially doing is assigning each node a score based on the sum of the connections of its neighbors, like this:

Via Professor Dan Ryan

Applying this equation to my habit graph, I came up with the following eigenvector centralities:

My habits labeled with eigenvector scores

This graph shows quite clearly that my most influential habits happen first thing in the morning, and in the evening (mostly, I imagine, because of their strong influence on subsequent morning habits).

Here’s a radial version, highlighting even more clearly that early waking is the critical “node” in my habit network. It is the only habit that positively influences every other habit I’m seeking to strengthen.

Radial version of my habit graph

The Potential

I’m the first to admit this simple calculation hardly qualifies as groundbreaking work.

I already knew morning and evening habits were important, and that early waking set the tone for my whole day. The centrality scores I came up with for each habit are probably pretty close to what I would have guessed.

But this exercise and research have given me glimpses of a whole new way of thinking about behavior change, one that approaches the holy grail of being both more data-driven, while also more human-centered:

Imagine a future where we could map the topology of a person’s habits

Instead of starting with moralizing sermons and arriving at one-size-fits-all programs, with barely a word needed or wanted from the “subject,” behavior change would instead be about finding the intersection points between this unique and varied topology, and the best research and tools available.

Just as a doctor starts every consultation by examining the physiological terrain on which he will be working, behavior designers would begin their intervention efforts by understanding the behavioral terrain.

More tangibly, imagine if we could create an app that, with some relatively simple inputs, could map your habits. It could tell you exactly which habits were the most important, the ones you should focus your willpower and planning on. You would know which habits you could strategically retreat from when life got crazy, and even if a keystone habit fell, you could have contingency plans in place to limit the damage.

If you wanted to change something about your life, this app could tell you not only which habit would be most likely to have the desired effect, but how and where this habit would fit into your existing landscape. It could give you strategies that have worked for other people with similar habit graphs. If you wanted to eliminate a bad habit, it could suggest ways of destabilizing the supporting network around it, instead of attempting a frontal attack in isolation.

Understanding the topology of a single human being’s behavior would be the first step toward personalized behavior change, just as genome sequencing is the first step toward personalized medicine. We would be able to study the properties of the terrain that are unique to each individual, instead of forcing people into the silos of individual habits.

Subscribe to Praxis, our members-only blog exploring the future of productivity, for just $10/month. Or follow us for free content via email, Twitter, Facebook, LinkedIn, or YouTube.