Category Archives: Uncategorized

The role of certainty in behaviour change

Disclaimer: This is a “Here are some things” post in which I try to figure out how a bunch of different facts fit together. It’s not terribly coherent.

I wasn’t thinking about this when I wrote it, but it recently occurred to me that, in a certain sense, the solution I proposed to trolley problems is exactly the same as Beeminder.

The sense in which they are exactly the same is that they are both a system for increasing the cost of an action you want to take because you don’t trust your reasoning in the circumstances that you’d want to take it. They’re systems for distorting incentives in order to get you to behave in a certain way.

You can frame a lot of things like this. In a sense the entire justice system can be framed as this (note: I was not explicitly doing so in the trolley problems post because it was expressed in terms of turning yourself in – it’s about what the right moral choice is, not how to get people to choose the right thing to do): You are changing people’s incentives by creating penalties when they behave in ways you don’t want.

My admittedly imperfect understanding of the evidence is that this isn’t a very good model of how a justice system works in practice. Under this theory, increasing the severity of a punishment should significantly increase the incentive to not commit a crime, and thus should decrease the rate of commission of that crime. In practice, rates of committing crimes appear to be relatively unresponsive to this. In particular, the introduction of capital punishment appears to do little to nothing to reduce the homicide rate.

Circling back to Beeminder, how do you square this with the fact that fairly demonstrably if you increase the pledge on a goal you’re less likely to derail on it (at least on an anecdotal basis, but I think this holds true in general from what other people have said and it would make the entire premise of the site fairly questionable if it weren’t true). Increasing the punishment for behaving “wrongly” acts as a good way to make you much more likely to behave correctly.

The difference seems to be certainty. Fundamentally, it appears that at least in the heat of the moment, criminals don’t think they’re going to get caught. If you believe you’re not going to get caught, how much you’re punished when you get caught is basically irrelevant to you and doesn’t force you to consider your behaviour. With Beeminder or a precommitment to always submit yourself to justice, this goes away because you remove the uncertainty.

In general, and this is where my knowledge about the evidence gets super shaky and really needs further research, this seems to hold as a model of criminal behaviour: Increasing the certainty of conviction seems to work much better than increasing the severity of punishment. Essentially you want to cause people’s suspension of disbelief required to think they’ll get away with it until even in the heat of the moment they can’t really believe it. Presumably, once you have managed to consider people that punishment for a crime is certain the severity of that punishment starts to have more of an effect (However, this is entirely theorising and I do not have evidence to back up this claim’s plausibility with regards to the design of actual justice systems, so it should not be trusted too strongly).

(On a social justice note, my understanding is that there’s a lot of things that black people will stringently avoid doing because given the racism inherent in the criminal justice system they are much less likely to get away with it than white people. I don’t have any statistics, only anecdata I have heard, so I don’t want to comment on this further, but people have certainly reported this influencing their behaviour and it is eminently plausible).

The connection between certainty and effectiveness of incentives seems entirely plausible. People who want to do a thing are going to engage in motivated reasoning to allow themselves to do it, which is going to cause them to convince themselves they’ll get away with it if it’s humanly possible for them to believe that (and humans are really good at believing things).

A thing that’s interesting about this is how it’s completely opposite to how rewards work. Rewards are best at changing behaviour if they’re not predictable. It seems that what you want to do is basically only reward people for a behaviour some of the time (I have no idea what the best probability is for this, but that would be really interesting to find out).

I don’t know precisely why this is, but it seems to mesh with my anecdotal experiences of how to create addictions. The most addicting games aren’t the ones that consistently reward you with steady progress but those where you try and fail a lot. Especially when that failure is sometimes because you weren’t good enough and sometimes the game is just like “ha ha. No”.

So there’s a weird sort of duality here: When trying to get you to do less of something you want to do, you want certain costs. When trying to get you do more of something that you don’t want to do, you want uncertain rewards.

Obviously, I’m interested in all of this in the context of behaviour change.

The major source of uncertainty in my attempts at behaviour change is my use of tagtime. It randomly samples me throughout the day and asks me what I’m doing, I reply with various things that I want to track, and these are fed into beeminder goals (I don’t use any tagtime tags that are not hooked up to goals). These are a mix of “Do more” goals (be outside, be in the gym, be doing Anki cards) and do less goals (be on twitter, be sitting down).

The randomness is purely because this is the most efficient way to track things which are fine grained. For example as a result of tagtime I will often squeeze in a couple minutes of anki between things, such as while resting between sets in the gym. It would be inconceivably heavy weight to try to time those in a fine grained way, but tag time just doesn’t care: It works equally well regardless of how my time is sliced up.

The degree of actual uncertainty in tag time behaviour is pretty low in the long run – I have on average more than 300 pings a week, which is enough that the margin of error on most goals is actually pretty low). However, it has the side effect of greatly increasing the amount of perceived uncertainty, which for the purposes of behaviour change seems likely to be what matters.

And my reaction to the pings is correspondingly very different between these behaviours that I’m rewarding and punishing as a result.

With the do more goals each ping is that little surge of pleasure at the reward “Yay, I got points for doing a thing”. It’s not 100% effective for creating behaviour change (in particular recently has been suffering a bit from lack of motivation. In fact this post is only being written because I let my writing time goal suffer so much that I need to write this while on a team offsite in Ibiza to not derail), but it’s been pretty good.

The do less goals my reaction is “Argh, you caught me”.

Fundamentally, tagtime will catch you. There’s no way to beat the system. Yet I still think I can get away with it.

I’m not sure what to do about this. Tagtime is still the best way to track what I’m doing with my time. It’s possible that even just having spelled this out is sufficient, but I’m not convinced it will be.

Still, it’s not like I can’t change my behaviour without the perfect magic set of incentives, but it sure would be nice to have a system that works with the quirks of my brain rather than forcing me to overcome them with sheer stubbornness.

On the plus side, by writing this blog post about motivation I have managed to satisfy my immediate motivation of getting my writing time goal back up to outside of the backpressure zone. So I’ve got that going for me.

This entry was posted in Uncategorized on by .

Strategies, not promises

This is a small motto for changing things that you do. I’ve believed in it for a while, and I think I’ve mentioned it once or twice on here, but I don’t think I’ve ever written it up.

The scenario is this: There’s a thing you want to change about yourself. You want to do more of something, you want to do less of something, you want to do something differently, etc. What do you do?

The most common approach people seem to try to take is to apply willpower to the problem: You resolve to do better, and you firmly commit yourself to doing so, and you try your very best to change things.

This is the “Promises” solution. I don’t know if it works for you, but it certainly doesn’t work for me and I’d be surprised if it worked for most people.

The problem is that you are generally already burning about as much willpower as you have to use, just in the course of your every day life. If you had much more to burn you’d probably have found something to fill it up. You might be able to eke out a bit more, but generally if a major behaviour change is required what will happen is that you will end up managing for a few weeks and then will have burned through your reserves and fail to be able to summon the motivation to continue. Worse: The next time you try to do something like this it will be harder because you’ve learned the lesson that you’re not the sort of person who can make this sort of promise and expect to keep it.

So what to do instead? Well, obviously I think the answer is “Strategies”, but what does that mean here?

Essentially it’s that you have to acknowledge that behaviours do not exist in a vacuum. There are reasons for those behaviours. In order to change them you need to address those reasons, either by removing them or providing counterbalances for them.

Examples:

  • I don’t go to the gym because it’s easy to put off doing it to another day. Solution: Schedule going to the gym for a specific recurring time and day.
  • I drink too much coffee because I don’t get enough sleep. Solution: Get more sleep (easy, right?)
  • I never get very good at this because I always get frustrated at a certain point and give up. Solution: Use some sort of commitment device (e.g. beeminder, but there are others) to push you past that point where you get frustrated.

The specific strategies that you adopt don’t matter that much. What’s important is that you try to figure out specific concrete things you can do to change the underlying behaviour, so that you can solve it without having to throw willpower at the problem.

The obvious reason why this approach is better is that you’re more likely to succeed, which is after all what you wanted.

The less obvious but actually more important reason why this approach is better is what happens if you fail. Which you may. You might have picked the wrong strategy, or at least an incomplete one – you won’t always have correctly identified the reasons for your existing behaviour, or your proposed solution might not be adequate for addressing them. That’s OK.

See, the great thing about failed strategies is that you can fix them. There’s nothing wrong with having failed. It’s not evidence of a character flaw on your part. You just didn’t get it right this time. So you can learn from what didn’t work and from it try to figure out something that will.

It actually took me much longer to realise this second part than the first – long after I originally coined the motto – but I think it’s the more important one. The most important thing about change is to be able to keep it up – promises impede your ability to change further whether they succeed or fail, but strategies improve your ability to change further, when they succeed but especially when they fail.

This entry was posted in Uncategorized on by .

David seeks app for fun and exercise logging

As part of my attempts to exercise more, I would like to track how much I am actually exercising. This means that I am currently seeking something that satisfies the following spec:

Basically, I want to be able to log what exercises I’m doing in a moderate amount of detail. Something to the tune of:

Date: Blah

  • Pushups: 5, 7, 5, 5, 8
  • Swimming, moderate intensity: 10 minutes
  • Barbell Squats, 20kg, 5, 5, 5, 5, 5
  • etc.

I would like to have historical stats, etc in the app but it’s not required.

What is required:

  1. I have to be able to enter data on my android phone (it’s OK if this is mobile web, as long as it’s vaguely usable mobile web rather than accessing some completely unsuitable for touch desktop site)
  2. There has to be an API I can access the data with from devices that are not my phone
  3. It has to actually let me record detailed information about the workout
  4. It has to actually work

My least worst contenders at the moment are fitocracy (fails the API requirement. I could scrape the site but I don’t really want to. There is an open source project which implements an API for it based on that, but it looks broken and bitrotted) and myfitnesspal (less good in all regards for this than fitocracy except that it has an API, but I have to apply for access to the API and tell them what “my company” wants to use it for. This is not really better than scraping the site)

Things I have considered and rejected:

  1. Endomondo, looks nice but fails 3 hard. It lets you bucket into a bunch of nonsense high level categories and record how much time you’ve done on them. This is totally uninteresting to me.
  2. Runkeeper, fails 3. Not its fault, it’s not really for this.
  3. The Squat Rack. Barely squeaks by on 2. Fails 1. Mostly fails 4. Looks like it would do exactly what I wanted beautifully if it actually worked. Probably worth checking back in 6 months time.

My fall back plan which I’m suspecting to be the best option is to have a paper notepad and a weekly TODO item to transcribe my notepad into a google docs spreadsheet. Is this really the best that’s on offer?

This entry was posted in Uncategorized on by .

I should edit more

As may be obvious, my blog is only very lightly edited. The normal course of writing a blog post is that I sit down, spew out one or two thousand words that I’ve mostly already vaguely sorted in my head, do a quick once over for anything that is obviously terrible and click publish.

I’m going to experiment with holding back drafts a bit longer and editing them some more, but there’s still this large backlog of pieces that I’ve written that could really use some more love.

So I’m starting a parallel project to this blog: The book of DRMacIver (It will almost certainly never become an actual book).

It’s basically a collection of essays from this blog that I like which I’ll be editing over time to try to raise them to a higher standard of quality. Some of them will be verbatim copies of blog posts, some of them will be essays I’ve extracted (there are a few blog posts which are clearly several smaller blog posts trying to get out), some might be mergers of various posts. We’ll see. New content will continue to be published to this blog first, but updated versions will start to appear over there.

Apologies for the styling. Visual design and CSS are not numbered amongst my skills. I may make an attempt at improving that too, but no promises.

Also, if you want to follow along with the edits, it’s just a publicly available git repository.

This entry was posted in Uncategorized on by .

A system for coordinating groups

Having flatmates again means that there are now a whole bunch of things that are a shared responsibility that were previously all down to me. This has caused me to think about the problem of how you coordinate such things.

At the moment we’re adopting a really boring approach: We’re talking about things and doing what seems to make sense.

Obviously this sort of natural human interaction is not to be tolerated and must be replaced with PRECISE ALGORITHMIC RITUALS and EFFICIENT MARKET BASED SOLUTIONS.

Err. Um. Yes.

That is to say, an interesting approach to occurred to me a while ago and I concluded it was an obviously bad idea. But it keeps coming back to mind and I keep solving the problems that make it an obviously bad idea to the point where now it’s only a probably bad idea, and it might be an interesting one.

I haven’t tried it, and for the problem of flatmate decision making I’m not sure I’m that interested in trying it. At only 3 people (and two cats, but the cats don’t really pull their weight, the tiny furry slackers) talking about things mostly works as a solution. For larger groups this might be a more compelling approach.

The basic setup is this: You have a number of people, and a number of things they need to share. For example, for flatmates it might be “doing the cooking”, “cleaning the kitchen”, “cleaning the bathroom”, etc. You want to divvy these up in a way that is not only fair but also matches individual preferences: For example, someone might be strongly averse to cleaning the bathroom but perfectly happy to do a disproportionate share of the kitchen cleaning to make up for it, and everyone might much prefer to cook than to clean. On the other fairness dictates people do about an equal amount of “the work”, whatever that abstraction might be (time is not necessarily a good measure. Cleaning the bathroom might be a short task that some people would trade much more time on other tasks to do).

So how do you accommodate these constraints?

The system works as follows: You have a number of currencies. These should correspond relatively closely to the tasks you want to share. For example they could be “cooking a meal”, “cleaning the bathroom”, “minutes spent cleaning the kitchen” (because the latter is a more unbounded task, depending on the amount of mess made by cooking, while the former are more defined tasks). They don’t have to be quite so closely tied to the tasks – you could e.g. define a bundle currency which is just “total amount of time spent cleaning” but it’s probably better if they are. You do however need to ensure that every action only corresponds to one currency.

Everyone has a balance in each of these currencies, starting at zero.

Balance is accrued at an agreed upon rate by performing actions. You cook a meal, you get one “cook a meal” credit, you spend half an hour cleaning the kitchen you get 30 “clean the kitchen” credits, etc. When this happens, everyone else who is a beneficiary of that action (this is agreed upon per action type. e.g. cooking a meal the beneficiaries are just those who eat it, cleaning the kitchen the beneficiaries are the people who made the mess in it, cleaning the bathroom the beneficiaries are everyone) acquires an equal share of debt totalling that credit. So e.g. if I cook a meal for myself and one other person, I acquire 1 meal-unit of balance and they lose 1 meal-unit of balance. If I cook a meal for myself and two other people they each lose half a meal unit of balance.

Note that:

  1. All currency units are infinitely divisible even though it might not be possible to perform fractional actions to get them (so you can have fractional balances in cooking meals even though you can’t cook a fraction of a meal).
  2. Every operation is zero sum and always leaves the total balance at zero.

When it comes time to perform an action, the person available to perform it who has the lowest balance in the relevant currency always performs it. If there are multiple people with the lowest balance, then they draw straws or some other random way of deciding.

Once you’ve decided who should perform the action, they may choose instead decide to conduct an auction. This consists of saying “I need X units of this currency and am willing to exchange it for this other currency”.  For example I could say “I need two units of bathroom cleaning and am willing to exchange it for cooking credits”.

Contraints:

  1. They need to ask for enough of the relevant currency so that they would no longer have the lowest balance (but can ask for any amount more than that if they choose).
  2. They cannot exchange it for any currency they are currently in negative balance for.
  3. There must be at least one person who has that amount of balance available (otherwise there isn’t anyone who can bid in the resulting auction)

Once they have made this offer, a sealed second price auction occurs amongst all the people who have enough balance in the asked for currency. Additionally, the auctioneer also puts up a bid which effectively acts as a reserve price. This reserve may not be greater than their balance in the offered currency (so if I’ve a balance of 5 extra meals cooked, my reserve can’t be greater than 5, but it may be less). People may choose not to bid, but they should keep this secret as well (it’s effectively the same as bidding more than the upper bound on the reserve price).

The winner of the auction is the person who bid the lowest (because this auction is backwards from normal second price auctions. They are giving the thing being auctioned, not receiving it). If that’s the auctioneer with their reserve, oh well they have to perform the action after all. If not, they give the auctioneer the asked for amount of balance (i.e. it is subtracted from their balance and added to the auctioneer’s balance) and then they receive amount of the offered currency equal to the second lowest bid (this may of course be the auctioneer’s reserve). In the event of a tie, the winner is a randomly selected person with the lowest bid who is not the auctioneer, and the second lowest bid is the same as that tied lowest bid.

Now you repeat the process. If the person with the new lowest balance is willing to perform the action, they do so. If not, they may offer another auction. This continues until someone is either willing to do it (or doesn’t have anything in credit they can auction off in exchange) or an auction fails to meet its reserve.

I haven’t done any proofs of fairness here, and to be honest it’s probably not all that fair, but it should have the property of allowing people to exchange chores at a mostly reasonable rate. It almost certainly will be vulnerable to arbitrage and other financial shenanigans in practice, but the fact that you can’t really use money to make more money and acquire debt from other people contributing to the system should limit the worst of the excesses of market based systems.

(I may do a simulation of this at some point to see what happens. I got about half way through writing one and then couldn’t be bothered to continue, but that might change).

This entry was posted in Uncategorized on by .