Managing the financial resources of a family

Mar 21
Managing the financial resources of a family

I am terribly bad at managing money. I don't know how much I have on myself at this particular moment, I don't know how much I have in my bank account at the moment, I don't know how much I have in my stash, I don't know where my stash is, nor I know which currencies the money in the stash is in.

I don't know how much I paid for all the bills last month, I don't know whether it was more or less than it was the month before. I have not the slightest clue how much it is compared to what I will pay this month, the one after it, or three months from now.

I don't know if the water company is being honest by charging me as much as the meter said I consumed.

I don't know if I use the most efficient Moldtelecom package, because I have no idea how many of the included minutes were not used. Maybe I should switch to a low-end package?

Am I paying too much for my Internet? Do I really need an unlimited traffic contract with my ISP, if in the past N months my needs never exceeded X GB?

This is just the tip of the iceberg; if I add all my minor expenses (5 lei here, 20 lei there) to the game, I might discover that the sum of little parts ends up being greater than the sum of the big ones!

Could it be so that it is much more efficient to buy a home theatre and invite my friends over, instead of going to the cinema?

A couple of months ago I was disconnected by the electricity company for "not paying the bill"; they didn't bother asking me whether I received it in the first place; I didn't even notice that that month I received fewer "papers" than usual. On the other hand, if they sent two papers instead of one, would I foolishly pay both invoices without noticing?

I have no clue, because I am terribly bad at managing money. And so are you, if your response for most of the above was "I don't know either"; if you think you're not, you should review your definition of "good at managing money". Things become a zillion times trickier if we add "living on my own" and "wife and kids" to the equation.

I hope I've convinced you, that there is a need for an instrument that can aid us in dealing with the points described above.

Technology will help us.

[More:]

Purpose of the system:

  • Manage the bill-payment process in a family
  • Enhance it with statistics and other useful features, to reveal trends and make accurate predictions for consumption of resources and cost, in order to be able to optimize the available resources by cutting down the unneeded expenses
  • Make sure you will never forget to pay a bill before the deadline
  • Make the future as predictable as possible (ex: you know that last winter you spent X, this winter prices went up and salaries went down, therefore you must use the resources sparingly or let some of the services go, otherwise you will have a financial crisis. Fix the problem before it fixes you)
  • Comprehend the actual magnitude of the expenses, by representing everything in graphical forms, making it easy to spot trends and see ratios
  • See how changes in the environment affect the expenses (Moved to a new place? Temporarily hosting a relative? Bought a car? Changed jobs? Bought another computer?)

Philosophy:

  • Inputting the data must be quick and painless
  • The system must be easy to use, and replace the current bill management process with an easier one
  • Mistakes should be tolerated or handled gracefully (ex: not entering data into an optional field will not bug the user until they decide to uninstall the program :-)
  • Graphics, charts and diagrams are the future!
  • Tables are the present

How it works:

  • The system will collect data about the bills that must be paid monthly, store the information in a database
  • Afterwards data mining will allow us to gather additional information (that would otherwise go unnoticed)

General features (descending order of importance):

  • Printable reports (monthly, yearly; per bill type, general)
    • Graphical (pie-charts, bars)
    • Table-form
  • Extendable
    • Add new bill types
    • Add new meta-data to a bill
  • Powerful statistics engine
    • Get average, minimum, maximum values
    • Extrapolation (predict future expenses)
  • Reminders
    • Payment deadline
    • Bills that haven't arrived
  • Regular backups
  • Multilingual interface
  • Cross-platform
  • Web-interface

Meta-data

  • Some meta-data are common for each bill (generic meta-data)
    • Bill friendly name (or tags?)
    • Date
      • Arrival
      • Payment deadline
    • Cost
    • Debt (if yes, how much; anything else?)
    • Comment
      • General, for a bill type
      • Individual, for a specific bill
  • Each bill has a set of meta-data associated with it
    • Blob (binary data associated with a transaction, ex: a scan of the receipt, the transaction log, etc)
  • Different bills have different sets of meta-data

Proposed set of default bills and their custom meta-data:

  • Electricity bill (Union Fenosa)
    • Consumed KW/h
    • Tariff
  • Internet provider
    • Traffic in
    • Traffic out
  • Gas (Moldova-Gaz)
    • Consumed m^3
    • Tariff
  • Phone (Moldtelecom)
    • Minutes (local)
    • Other operators
  • Cable TV
  • Water (Infocom)
    • Consumed m^3
    • Tariff
  • Heating (Infocom)
    • Consumed cal
    • Tariff
  • Building services (Infocom)

Family financial input/output system (will probably be a different application, or one that can function pretty much independently; discuss):

  • This module will offer a bird's eye view (with a great zoom capability) on the money flow within a family, tracking the income of each member, as well as the expenses
  • Its purpose is to see how much goes in, how much goes out, and how much is left
  • Further, it will be able to illustrate the amount of each expense in comparison with other expenses, thus it becomes possible to answer questions such as:
    • What is the most expensive service we use?
    • Who is the most avid consumer?
    • Who is the most efficient income source in the household?
    • Why the hell did we spend twice as much than we spent last month? (zoom in, track the expenses, see which of the particular bills or purchases was the culprit)

 

Below is a sample financial I/O flow in a household (naturally, the items will vary from one family to another, this is just a reference sketch)

  • Input
    • Each family member
      • Mom
      • Dad
      • Me
        • Salary
        • Bank account interest
        • One-time jobs
      • Passive sources
        • Apartment rent
  • Output
    • Bills
      • Electricity
      • Infocom1
      • Infocom2
      • Infocom3
      • Moldtelecom
      • Moldova-Gaz
      • Starnet
      • Mobile
      • Cable TV
    • Supplies
      • Food
        • Drinks
          • Juice
          • Milk
        • Bread
        • Meat
        • Raw materials
      • Hygiene
        • Shampoo
        • Soap
        • Shower gel
        • Toilet paper
        • Tooth paste
    • Entertainment
      • Cinema
    • Transport
    • Tech
      • Small gadgets
      • New devices
      • Upgrades
      • Maintenance
    • Miscellaneous
      • Books
      • Gifts
  • Global statistics
    • Input-to-Output ratio
      • Total
      • Per person
    • Top consumers in Output
      • Plotted as f(t)
    • Deposit = Input-Output
      • Plotted as f(t)

Technical aspects:

  • Complete separation between modules (GUI, data crunching, languages, etc)
  • Open source
  • Proposed language, Python:
    • Easy to use built-in high-level data types (ex: lists can be used for bill meta-data)
    • Cross platform
    • Availability of libraries for various purposes (ex: graphical, data storage, networking)
    • Has bindings for various GUI libraries (will look naturally in either OS)
    • Should be easy to add a web-interface
  • The program is intended to be used occasionally (ex: once a month), it will capture the entire area of the screen as well as all of the user's attention, therefore performance or memory use optimization is not a high priority

To do:

  • Study existing systems and explore the potential of extending them, rather than re-inventing the wheel (ex: Homebank, GNUCash)
  • Different currencies, and how they fit in;
    • Add conversion coefficients and manage everything in a single currency
    • Add currency as a meta-data field (the burden of crunching the number is now on the shoulders of the graph/stats module)
  • Discuss the connection between the bill tracker and the family finances i/o module
  • Find a name and a logo for the program :-)

Call for arms - this is the most important part, which is why I left it for the end. I hope this project will attract people with coding skills, who are aware of the problems described here, and are willing to participate. These specs will be reviewed, refined, and extended; feel free to join and suggest new features, point out existing flaws, provide new use cases, etc.

Once things become clear, a new project will be created on SourceForge, and so the story will begin.

Comments, Pingbacks:

Comment from: XDex [Visitor]
visiglyphI have just one minor question..

Before starting to invent the bicycle once again, have you checked out the solutions existing on the market already, like M$ BuX here for example: http://www.microsoft.com/money/ProductDetails.aspx?pid=004&active_tab=Overview
?

The surely must be open-source projects of such kind there somewhere.. =)
PermalinkPermalink 2008-Mar-21, Fri @ 14:27
Comment from: Alex [Member]
visiglyphCheck out Homebank, it is pretty close, but does not have all the feature-set I have in mind (so we should also consider contributing to that project).

You are right, we must review the existing solutions and find out whether they are good enough. It's not an accident that this is the first item in the ToDo list ;-) Believe me, I am not sure you can easily prove that you are lazier than me :-)

Haven't tried Microsoft Money, but I am not going to buy it, that's as certain as 2+2=4 (see earlier story on absolute truth ;-)

I did check out other programs and they were all just indexing in/out transactions; haven't seen one that could manage bills - therefore it is the burden of the user to add a new transaction and regard it as a paid bill. In contrast, the program described here is very bill-centric.

Microsoft's tool lists bill management as a feature, we can at least use it as a reference.
PermalinkPermalink 2008-Mar-21, Fri @ 14:49
Comment from: tallman [Visitor] · http://tallman.ath.cx
visiglyphThere is also KMyMoney. I've read that it operates in a similar way to M$ Money.
PermalinkPermalink 2008-Mar-22, Sat @ 13:20
Comment from: Ion Todirel [Visitor] · http://iontodirel.blogspot.com
visiglyphso I'm not alone then, cool ;) it's always fun to explain to your boss why do you need a day off (Fenosa thing)

I use a very simple solution, remainders (only for important stuff like electricity and internet) and Excel spreadsheets for the expenses
PermalinkPermalink 2008-Mar-24, Mon @ 19:37
Comment from: Alex [Member]
visiglyphCan you upload your Excel spreadsheet somewhere and share it with us?

I was thinking that many of these things can be done with Excel's capabilities (except the reminders), but I am not an advanced Excel user.
PermalinkPermalink 2008-Mar-24, Mon @ 20:25
Comment from: Dan [Visitor]
visiglyphYou can give http://www.budgetpulse.com/ a try.
Should not take more than 10 minutes to get used to the dashboard.
PermalinkPermalink 2008-Mar-26, Wed @ 20:16
Comment from: Ion Todirel [Visitor] · http://iontodirel.blogspot.com
visiglyph@ Alex: "Can you upload your Excel spreadsheet somewhere and share it with us?"

no I can't, it contains personal information, sorry, but for remainders I use Outlook, I'm sure its possible to "talk" with Outlook from Excel via VBA (or something else) but I'm too lazy to do it...
PermalinkPermalink 2008-Mar-27, Thu @ 19:51

Leave a comment:


Your email address will not be displayed on this site.

Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
I wish to be notified every time there's a reply to this post
This is a captcha-picture. It is used to prevent mass-access by robots.

Please enter the characters from the image above. (case insensitive)

Poll

Have you ever thought of committing suicide?

View Results

Who's Online?

  • Guest Users: 10

Syndicate this blog Subscriptions

Other stuff

Support the cause