I Need A Budget

Date
Tags finance, hledger, howto
Target Audience Personal finance nerds.
Epistemic Status Reflection on how I've done things for the past year, with planning for the future.
Attention Conservation Notice You may get something out of this if you're rethinking how you manage your finances.

It’s hard to be­lieve it’s only been around a year and a half since I started budgeting and rig­or­ously tracking my fin­ances. It’s truly been life-chan­ging. But, with the end of my Ph.D loom­ing, my fin­an­cial situ­ation is soon to change. I can ex­pect both my in­come and ex­penses to in­crease sig­ni­fic­antly, and I have my doubts that my cur­rent system will scale.

So this is a post about how I plan to manage my fin­ances in 2018, with a YNAB (You Need a Budget) in­spired ap­proach. But first, let’s talk about budgeting in gen­eral and how I’ve done it in 2017.

Budgeting for Dum­mies

A budget is a model of your fin­an­cial situ­ation and how it changes over time. A budget is an ab­strac­tion which doesn’t need to ex­actly match real­ity. For ex­ample, your bank ac­count is one big pot of money, but in your budget you might di­vide that pot up into dif­ferent cat­egories for dif­ferent ex­penses: rent, bills, food, and so on. Those cat­egories don’t really ex­ist—your bank won’t stop you from buying a sand­wich if you’ve still got money in your ac­count, just be­cause you’ve ex­hausted your food budget—but they help you to think about your fin­ances.

Cre­ating a basic budget has three steps:

  1. Re­cord­ing: it’s es­sen­tial to know where your money is going be­fore you can try to change your habits. So for a month or two, just note down every trans­ac­tion you make. Round to pounds or tens of pounds if you don’t care about being ex­act: the level of de­tail is up to you.

  2. Cat­egor­ising: now that you have a month or two of trans­ac­tions, go through them and as­sign them to cat­egor­ies. How you break things up is up to you, but here are some cat­egories you’ll prob­ably want to start with: rent, bills, food, and so­cial.

  3. Plan­ning: now look at how much you spend on each cat­egory in a month. Is there any­thing sur­pris­ing? Does your daily sand­wich from the café near work add up to more than you were ex­pect­ing? Pick an amount for each cat­egory: this is your budget. This is also the time to think about chan­ging your be­ha­viour. Per­haps you should try making lunch once or twice a week to save some money that way. Per­haps you should start put­ting some money aside every month for an up­coming large ex­pense. What do you want?

Most im­port­antly, don’t beat your­self up when things go wrong. You will go over your budget on oc­ca­sion. Just ac­cept that, ad­just the budget, and try not to do it again. If you’re reg­u­larly going over, per­haps you didn’t al­locate enough to that cat­egory in the first place.

You’re just starting out, it would be strange not to make mis­takes!

The Poor Post­grad System

Let’s talk about my 2017 sys­tem. It’s worked pretty well for me, and is a sig­ni­ficant modi­fic­a­tion of the system I came up with when I first started in mid-2016. I use hledger to manage everything, but this should be trans­fer­able to any double-entry ac­counting system.

I have a number of ac­counts, grouped into four cat­egor­ies:

The as­sets cat­egory is then broken down into three sub­cat­egor­ies:

Let’s have some ex­amples. hledger is a plain-­text ac­counting tool, so trans­ac­tions are de­scribed in a simple text file like so:

2017/09/28 Over­leaf
    as­set­s:cash:sant­and­er­:­cur­rent  £1783.40
    ex­penses:tax:in­come             £257
    ex­penses:tax:ni                 £195.60
    li­ab­il­it­ies:slc                  £74
    in­come:over­leaf               -£2310

This trans­ac­tion is re­cording the pay I got from Over­leaf in Septem­ber. The first line has a date and a de­scrip­tion. The in­dented lines are called post­ings, and each ad­justs the bal­ance of an ac­count. Over­leaf paid me a total of £2310, of which I saw £1783.40. The rest goes to tax (£257 in in­come tax and £195.60 in na­tional in­sur­ance) and the Stu­dent Loan Com­pany (£74).

The in­come amount is neg­ative be­cause trans­ac­tions need to bal­ance: the post­ings must sum to zero. Plain-­text double-entry ac­counting uses signed amounts rather than the tra­di­tional debit and credit sys­tem. I found it pretty in­tu­itive to get started with, but someone from a more tra­di­tional ac­counting back­ground might need to men­tally ad­just.

Here’s how I re­cord in­vesting some money in my ISA, which is provided by Cav­endish On­line and man­aged by Fi­del­ity:

2017/08/01 Fi­delity
    as­set­s:in­vest­ment­s:cav­endish:s&s  31.19 MCOUA @@ £50
    as­set­s:in­vest­ment­s:cav­endish:s&s  65.15 MCMEA @@ £100
    as­set­s:in­vest­ment­s:cav­endish:s&s   7.15 MHMIA @@ £50
    as­set­s:in­vest­ment­s:cav­endish:s&s   2.56 VADEA @@ £800
    as­set­s:cash:sant­and­er­:­cur­rent  -£1000

Here I’m re­moving cash from my Sant­ander cur­rent ac­count to buy com­mod­ities in my ISA. I’m buying units in four dif­ferent funds (“M­C­OUA”, “M­CMEA”, “M­H­MIA”, and “VADEA”) for the listed amounts. So, I’m spending £50 of my £1000 total to get 31.19 units of MC­OUA. Ac­count and com­modity names are ar­bit­rary, they are cre­ated when first named; there’s no need to de­clare them up front.

Fi­nally, here’s how I re­cord an ex­pense:

2017/11/26 Amazon
    ex­penses:­books  £12.98
    as­set­s:cash:sant­and­er­:­cur­rent

A single amount can be omit­ted, hledger can cal­cu­late it be­cause it knows trans­ac­tions must bal­ance. For trans­ac­tions with more than two real-­world ac­counts in­volved, I like to in­clude all the amounts to make sure I haven’t made a mis­take.

Budget­ing: ok, that’s the basic work­flow, so now on to how I budget on top of this. Well, firstly, I don’t have trans­ac­tions to or from as­set­s:cash:sant­and­er­:­cur­rent, I have a bunch of sub­ac­counts. These aren’t real ac­counts, they don’t cor­res­pond to any­thing Sant­ander knows about, they are just to help me manage things.

I have four sub­ac­counts:

My in­come goes into the un­al­loc­ated ac­count:

2017/09/28 Over­leaf
    cur­rent:un­al­loc­ated  £1783.40
    ex­penses:tax:in­come   £257
    ex­penses:tax:ni       £195.60
    li­ab­il­it­ies:slc        £74
    in­come:over­leaf     -£2310

I have cur­rent defined as an alias for as­set­s:cash:sant­and­er­:­cur­rent, be­cause typing that out would be te­di­ous.

At the start of every month I dis­tribute some money to my budget ac­counts:

2017/12/01 Budget un­der­spend
    cur­rent:­month:­house­hold  -£14.30
    cur­rent:­month:servers     -£3.94
    cur­rent:un­al­loc­ated

2017/12/01 Budget
    cur­rent:ac­cum:fun        £25
    cur­rent:ac­cum:other      £75
    cur­rent:­month:­food      £250
    cur­rent:­month:­house­hold  £30
    cur­rent:­month:servers    £39.50
    cur­rent:un­al­loc­ated

As you can see in the first trans­ac­tion, I clear out any un­spent budget from the month ac­counts first. I don’t bother in­cluding the amount for cur­rent:un­al­loc­ated as the post­ings here all refer to the same real-­world ac­count (my Sant­ander cur­rent ac­count).

I also in­clude every fu­ture trans­ac­tion I know about: rent, tu­ition, dentist ap­point­ments, and so on. I can fore­cast by as­suming I spend my en­tire budget every month, which is a pess­im­istic as­sump­tion (the best sort of as­sump­tion to make in fin­an­cial plan­ning). If the bal­ance of cur­rent:un­al­loc­ated is al­ways nonzero, I have enough money.

That’s it!

The Em­ployed Pro­grammer System

The 2017 system is sim­ple, and works well be­cause I have a low cash­flow. I don’t have much in­come, but I don’t have many ex­penses either. But the way I use the saved and un­al­loc­ated ac­counts leaves much to be de­sired.

Sav­ings: I have a cur­rent:saved:rent ac­count, which is al­ways enough to pay the next rent in­stal­ment. When I do pay rent, money comes out of there (and goes to ex­penses:rent), and I top it up again from the un­al­loc­ated money. Be­cause my rent is not monthly, but rather in four in­stal­ments across the year, it’s been easy to be lazy and jus­tify not both­ering to save for mul­tiple in­stal­ments at once.

Pur­pose: the un­al­loc­ated ac­count serves at least three pur­poses at the mo­ment: it’s where in­come goes to, it’s where my budget and sav­ings come from, and it’s where cash I with­draw comes from. Again, this works be­cause my cash­flow is low, but if I’m dealing with a monthly cash­flow in the thou­sands rather than the hun­dreds, having everything go through a single ac­count sounds like a re­cipe for er­ror.

The 2018 sys­tem: so to manage my money next year, I’m using a YN­AB-­style al­loc­a­tion of cash to cat­egor­ies. The four YNAB rules are:

  1. Give every dollar a job: al­locate money as soon as you get it.
  2. Em­brace your true ex­penses: budget for un­common ex­penses be­fore they hap­pen, not when.
  3. Roll with the punches: be flex­ible and up­date your budget as you need to.
  4. Age your money: only spend money that is at least 30 days old.

Rather than have a catch-all ac­count which in­come goes to be­fore being dis­trib­uted else­where, I’m just going to dis­tribute in­come dir­ectly. Pay day looks some­thing like this:1

2018/06/29 Job
    cur­rent:saved:­house­hold   £50
    cur­rent:saved:in­vest     £200
    cur­rent:saved:­monthly    £500
    cur­rent:saved:rent      £1500
    cur­rent:saved:util­ities  £200
    cur­rent:saved:web         £50
    in­come:job             -£2500

By saving a little more than a month’s ex­penses in each cat­egory, I will gradu­ally build up a buffer so I’m not living paycheck­-to-paycheck. When I hit three months ex­penses saved, I’m going to ad­just this in­come al­loc­a­tion and put the ex­cess to­wards some­thing else. For things that aren’t a fixed monthly ex­pense (like health­care: medi­cine, dentist trips, and so on), I’m going to main­tain a min­imum bal­ance which gets topped up when I spend some of it.

I still want to limit my monthly spending on things like food, while also building up a sav­ings buf­fer. I’ve opted to handle this with sep­arate ac­counts. A sav­ings ac­count for monthly ex­penses, from which I draw a fixed amount for my monthly budget cat­egor­ies:

2018/07/01 Budget
    cur­rent:­month:­food  £225
    cur­rent:­month:fun    £50
    cur­rent:­month:other  £75
    cur­rent:saved:­monthly

I’m also switching all my monthly budgets to ac­cu­mu­lating budgets, rolling over any un­spent money. After doing it for a while, I don’t think there’s much point in not al­lowing extra spending in a month if I un­der­spent pre­vi­ously. The av­erage monthly ex­penditure is still lim­ited.

Fi­nally, I’ve set aside an amount of money to with­draw as cash. This ac­count is going to start at £100, and I’ll top it up every time I budget a cash ex­pense, like so:

2018/01/01 With­draw
    as­set­s:cash:hand  £50
    cur­rent:­float

; ...

2018/01/12 Mor­risons
    ex­penses:­food  £32
    as­set­s:cash:hand

2018/01/12 Cash spend
    cur­rent:­float  £32
    cur­rent:­month:­food

This limits the max­imum amount of cash I can with­draw without spending it in some budgeted cat­egory. Needing an extra trans­ac­tion may look te­di­ous, but I cur­rently do the same thing with cur­rent:un­al­loc­ated, so I’m used to it. In prac­tice I buy most things with my debit card, cash trans­ac­tions are in­fre­quent enough such that it’s not much of a pain.

Isn’t pre­dicting the fu­ture bad? A standard piece of fin­an­cial ad­vice is to not try to pre­dict the fu­ture. And here I am, with my plan for all of 2018, when I don’t even have a job offer yet. Pure spec­u­la­tion!

The point of budgeting is to in­tro­duce ar­ti­fi­cial scarcity into your fin­ances. Scarcity makes us better at plan­ning. In­tro­du­cing abund­ance by as­suming fa­vour­able things happen de­feats the point.

I think pre­dicting the fu­ture can be fine, as long as you’re aware that that is what you’re doing and that things may work out worse than you’d like. If you can still af­ford everything with pess­im­istic as­sump­tions (ex­penses are large and early in the month, in­come is small and late in the month), then you’re prob­ably in a good po­s­i­tion. I ad­mit, I’ve as­sumed a good in­come. So, here are my as­sump­tions:

  1. A one-­time moving cost of £250.
  2. Monthly take-home pay of £2500 (after tax and pen­sion con­tri­bu­tions).
  3. Monthly rent of £1200, with a £1600 one-­time de­posit.
  4. Monthly council tax of £100.
  5. Monthly util­ities bill (total) of £185, with a £100 one-­time set-up fee.
  6. Monthly living costs (food, en­ter­tain­ment, etc) of £350.
  7. Monthly server costs of £40.

The living costs and server costs are based on my cur­rent budget, but everything else is a best guess based on the evid­ence I could find. If we ig­nore the one-­time costs, my monthly ex­penses come to £1875, which is rather below my in­come. This is based on living by my­self. If I live with a house­mate, rent and bills would roughly half. So there’s quite a bit of room.

The most dan­gerous time is the first six months of the year. I’ll get my first paycheck at the end of April, but be­fore then I’ll have to pay all the one-­time costs and one or two months rent, de­pending on what the tim­ings are. Fur­ther­more, my £2000 over­draft goes away in June so I need to have the spare cash to pay that off. I’ve worked out two fore­casts with dif­ferent rent tim­ings, to make sure I can af­ford both.

So while there is a lot of spec­u­la­tion, and money al­loc­a­tions will un­doubtedly change as I pro­gress through next year, doing this ex­er­cise has given me a lot of peace of mind.


  1. This is an es­timate as­suming I get a cer­tain job. There’s some slack in the budget so I can manage making a bit less than this. When I have a job of­fer, I’ll up­date everything and see what ad­just­ments need to be made.