Have you ever looked at your bank statement and wondered if your financial institution was playing a cruel game of 'spot the vendor'? Well from a reality versus pure data perspective, that’s what I was facing and Google Genesis, mainly, save the day.
Here’s the context, my budget lived a quiet, manual life within Excel for over a decade and I never gotten around to automating the process (just didn’t seem worth the effort) and then I decided to start utilizing AI to guide me in the process and make it happen.
Possibly I’ll discuss more about this Budget automation journey later, but for the moment I was playing whack a mole with categorizing my spending based on a vendor’s name imported from banking and credit card transaction statements.
See the Financial institutions clearly run under the philosophy that consistency is for amateurs. It’s not enough that 'J & U Grocery Store Your-Town-Here' is a perfectly good name. Oh no, my bank apparently has a mischievous algorithm that renames it on a whim: 'J U Grocery,' 'J&U GRCR,' 'J & U Groc YTH'! Imagine trying to create a lookup table with all these different name variations, never mind multiplying this by every coffee shop, hardware store, and online subscription.
Could AI deal with this? Surprisingly yes, for the most part. I did the following:
Created a Google Sheet with the raw data;
Note; as I found out, Gemini can only read an entire file. So no creating multiple sheets or tables and having it reference each one.
Created this, relatively long, prompt:
Hello, for https://docs.google.com/spreadsheets/...., for the Table in the Household sheet and called T_Household, I would like Gemini to review the data in T_Household and create a list of unique vendor names so that I can create a lookup list to automatically apply an appropriate category given a Vendor's name to any new bank transactions I download in the future. T_Household consists of the Bank or Credit Card's supplied data of which vendor the transaction was recorded from over the past decade. Here are a number of examples of what I'm looking for, in which I'll state what the raw data is and state the expected lookup text that I would want future transactions to be based on, using the least number of characters required: Example 1; I have "New Market HH BLDG CEN New Mar" and "New Market HH BLDG CENNewMarket ONDebit", that should be combined to "New Market HH". Example 2; raw data "APL* ITUNES.COM/BILL 800-676-2775 ON" to be combined to "APL* ITUNES.COM". Example 3; "BEST BUY #940 OTTAW" and "BEST BUY CANADA #940 OTTAWA ON" should be combined to "BEST BUY".
And that worked, except, and this is where the AI was trying too hard, it took “CANADIAN TIRE #238 ALEXA” & “CDN TIRE STORE #00026 CORNWALL ON” to come with "CANADIAN TIRE", when my scenario called for needing both "CANADIAN TIRE" AND "CDN TIRE STORE" to properly capture future transaction lookups. Genesis wasn’t wrong. But a lookup based on “CANADIAN TIRE” alone would miss out on any “CDN TIRE” references.
Once I told Genesis of my issue with the “Canadian Tire” labels, on the 2nd go around with another too many vendors type category, it provided the next set of lookups, but ended up duplicating some entries as, it reasonably couldn’t figure out a vendor label that had an added space.
In the end, you can't always get what you want, but you might just get what you need. This applies perfectly to AI prompting. The goal isn't perfection, but practical utility. And for my budget, "practical utility" means I no longer spend hours playing detective with my bank statements vendor lookup.