With Marvin’s core architecture designed, I started developing the framework. The framework itself is intended to handle multiple use cases, from supporting personal information to provide contextual experiences to controlling devices. Marvin’s key differentiator is that it is powered by data, rather than a simple trigger based on an action. This is why the core of the framework contains APIs that handle data and extends itself into building out analytics. Behind the scenes exists an ETL process that feeds into various services, including machine learning.
I’ve been feeding the last 7 years of financial data through to Marvin’s core databases, with just over 9000 transactions. The transactions look something like this:
|Date||Description||Original Description||Amount||Transaction Type||Category||Account Name|
|6/22/2017||Ooma||OOMA, INC 08887116662 CA||XX.XX||debit||Home Phone||Smart Cash Platinum Plus MasterCard|
|6/22/2017||Costco||COSTCO WHOLESALE W159 AJAX ON||XX.XX||debit||Home Supplies||Smart Cash Platinum Plus MasterCard|
|6/21/2017||Transfer to Chequing||TRANSFER OUT||XX.XX||debit||Transfer||General Savings|
|6/21/2017||Transfer from General Savings||TRANSFER IN||XX.XX||credit||Transfer||Chequing|
|6/20/2017||Costco||COSTCO WHOLESALE W1128 OSHAWA ON||XX.XX||debit||Groceries||Smart Cash Platinum Plus MasterCard|
|6/20/2017||Costco||WWW COSTCO CA 905-264-8337 ON||XX.XX||debit||Sporting Goods||Smart Cash Platinum Plus MasterCard|
|6/20/2017||Taunton Endo||TAUNTON ENDO OSHAWA ON||XX.XX||debit||Doctor||Smart Cash Platinum Plus MasterCard|
These transactions provide a very good base for generating some initial learning models. By including credit or debit, dates, retailers, amounts, categories for purchases and labels, it enables various types of skills to be identified. These skills help me understand my finances better while also helping me improve.
Skill 1: Important Dates
Our finances are normally cyclical. You get paid on the same days each month or at the same frequency. Credit card payments are always 21 days after the statement is prepared. Interest accrues daily, weekly, monthly, etc and paid out monthly or yearly. Mortgage and utilities are paid monthly on the same date. By placing the transactions through some machine learning, it was able to find ways that help me stay on top of these important dates while also maximizing the interest I earn. In the 2 weeks, I’ve been able to earn an additional 0.8% on my savings by doing so. Over the next month, I am looking at potentially achieving 2.5%! As I continue to feed information to Marvin and find better yielding accounts, I may be able to squeeze more benefits out of important dates.
Skill 2: Unexpected purchases
Purchases for most of us can turn out to be very routine. Although we make one time purchases, they may or may not fall under that routine. The times that the purchases don’t fall under your typical routine could mean one of two things: you’ve been saving up for something you need (or want) or it is fraud. Because of the latter, it is often best to remain cautious. This is why Marvin tries to find those unusual purchases and alerts me when something is out of the ordinary. In my case, last week I bought a bike. Although I tend to buy a lot from Costco, this one stood out due to its amount. It was flagged because it was higher than the average transaction at Costco. If I were to spend money at a store that I don’t normally shop at, I would also get a notification to confirm whether the purchase was legitimate.
I have a lot of work to do in this area, to factor in for travel. My trip a few weeks ago to San Francisco threw up flags on each purchase, even though they were expected purchases. While I appreciate the scrutiny on each transaction, I should also be able to try new places from time to time. The next update to this scenario will be to also incorporate the type of store / purchase being made and match it up against monthly purchases in that category.
Skill 3: Budgeting
I’m currently on the market for a job. The first few days without a job were extremely stressful because I needed to know my runway. I saw an opportunity to generate a few types of budgets: the bare necessities budget, the saving budget, the paying off debts budget, and the normal budget. The budgets are built off an ideal budget that I set out, where I would say how much I want to spend per category, each given a weight out of 5, based on necessity.
At the moment, I am following the bare necessities budget, which covers mortgage, car, insurance, and other commitments with some money for groceries. Under this budget, it ensures that I only spend what’s allotted for that category and keeps everything as lean as possible. It took my ideal budget and only allows me to spend in the categories with a weight of 5. It will also take some of the categories with a weight of 4 and allow for up to 30%. Groceries and gas fall in a category with a weight of 4, meaning I can’t drive as much or eat steak every night.
Based on the budget I choose to follow, Marvin will determine what I can buy and how it can ensure that I will meet my financial goals.
Although some of us may try to convince ourselves that finances don’t run our lives, the truth is that it does. We work hard to own a home or a car, put food on the table, go on trips, raise kids or buy fancy new gadgets. Many of us don’t have a true understanding of how finances work or how they impact our lives. Some hire advisors to do much of what I am implementing with Marvin.
I’ll be continuing to expand Marvin’s skills for it to become a great financial advisor, capable of understanding years worth of data and generating contextual experiences. These skills are a great first step to help me build out Marvin and learn more about AI. With over a dozen more skills to implement, finances are a terrific source of data which can help me build out the core for Marvin. By working out the financial use cases, it will simplify the design and implementation of other skills or integrations to come.