Budgeting With Scala: Compute A Daily Spending Target

Most people budget monthly. You take your monthly pay and subtract all fixed expenses that you can’t control. Fixed expenses include things like your rent or mortgage payment, auto payment, debt payments, utility bills, and so forth. The remaining money is “discretionary” money which people generally divvy up into categories that they can somewhat control like groceries, entertainment, and savings.

One problem with monthly figures is that you have to make spending choices daily. If you start out on the first of the month with a figure like $500 for groceries it’s easy to end up spending $150 on that first grocery bill because you’re thinking, “Hey there’s $500 here. We’ve got a lot of wiggle room.” This can even continue throughout the first part of the month until the back half of the month is crunched. Where did all the money go? Didn’t you start with $500?

I have a very simple remedy for this. I often take such discretionary funds and come up with a daily target number. So instead of thinking of it as “$500 available for groceries this month” I will divide by 30 (or however many days are in the current month) and think of it as “try to stay around $16.66 a day.” Therefore, if I spend $150 on day 1, I quickly divide $150 by “16.66” to get the result (which is around 9) and then I think, “OK these groceries should last me around 9 days, if I want to stay on track for the month.”

It’s a quick in-your-head or on-your-cell-phone-calculator calculation you can do to track very close to your budget as the month goes on.

To figure such numbers out is a bit of work on paper-and-pencil, a nominal amount of work in Excel, and very trivial if you write a quick Scala program, like I’ve done below! Enjoy!

Leave a Reply

Your email address will not be published. Required fields are marked *