3 Powerful Ways to Eliminate Your Bad Habits

1. Remove the Triggers

We tend to assume that our personality drives our behavior.

But in many cases, our environment drives our behavior even more1.

So, whenever you want to break a bad habit, removing its triggers from your surroundings is a good practice.

Here are some examples:

  • If you stay up too late at night, remove the TV from your bedroom.
  • If you spend too much time on your phone, turn off your notifications.
  • If you procrastinate at work, use software to block distracting websites.

The fewer unhelpful triggers you have in your environment, the less willpower you’ll need to resist them.

2. Replace the Behavior

It’s much easier to replace a bad habit than it is to break it2.

Imagine, for instance, that you want to stop using your phone in bed.

Your current habit loop might look like this:

Cue: Get into bed → Routine: Use your phone → Reward: A sense of calm

If you stop using your phone, you won’t get a sense of calm either.

And that makes it very hard to stay away from your phone each night.

So, you might instead want to try a slightly modified habit loop:

Cue: Get into bed → Routine: Read a book → Reward: A sense of calm

If you can find a new routine that provides the same reward as the old one, it can stick surprisingly fast.

3. Create a Commitment Contract

A commitment contract is a binding agreement between your present self and future self.

The contract should include three parts:

  1. Your goal — The change you commit to making by when.
  2. Something at stake — Like your hard-earned money.
  3. A referee — Someone who will hold you accountable.

You can make a physical contract of your own or use an online service to create a digital one3.

Just make sure that your goal is clearly defined, that losing what you put at stake would sting, and that your referee is strict but fair.

The more thoughtful you are with the details, the more likely you’ll be to honor the agreement.


  1. Lewin’s Equation
  2. Tiny Habits by B.J. Fogg
  3. StickK and Beeminder are great alternatives.