AI alogorithm to automatically figure out categories

Hello :wave:

Has anybody figured out how to create some AI/ML algorithm that can quickly predict a category based on transaction descriptions? I am lazy and you figure there would be a better system to quickly figure out the categories with all the users out adding their data. I have a ton of transactions that need to be mapped to a AutoCat rule and this is tedious and boring.


Add the following column to your sheet and it will get new hints for transactions. It won’t help with existing rows.
“Category Hint”
You can also add “Merchant Name” and with those two, you should be able to get more categories ready to update.

1 Like

@yossiea, can you please elaborate on how adding these columns would help in auto categorizing the transactions?

Are these columns filled by the Tiller feeds automatically, if we just create placeholder for these columns? or is it something that we need to fill manually for the existing transactions to be able to get hints?

The columns would be filled in automatically with new transactions. They come from Yodlee and give a really good idea on what the category should be if you want more details.

1 Like

Thanks for sharing @yossiea !!
Will add those columns and see how good of a job it does in determining the category for the new transactions.

One other thing you can do, and I think it’s free for a bit is to use GPT for Sheets and Docs. I then add a column into my Transaction sheets and put the following formula in: =gpt_classify(C4,Categories!$A$2:A) This takes C4, which is a description and matches it against the categories. IIRC, it was very easy to setup the GPT, I think you just need an API key. So far, my little experiment found it to be very accurate.

1 Like

Just gave it a try… But, it looks like we need a paid subscription in OpenAI to use the extension “GPT for Sheets and Docs”.
But, looking at your formula, it seems like it is classifying the Category based on our own Categories defined in the Categories sheet, which is pretty good.

And I tried adding the “Category Hint” column to my Transactions sheet and it seems to determine the Category considerably well, but it shows a possible set of Categories (when in doubt) and neither of those match the exact words in my Categories sheet. It would have been better if the “Category Hint” is filled in by considering just the categories that we have instead.

But, I guess we can still add some Auto-cat rules around that “Category Hint” to get it updated in our Category column in Transactions sheet.

You do need a paid subscription, but it’s pay as you go. It’s real easy to setup, you sign on, create an API key and use that key in your app. As you can see below, I haven’t really seen a large charge, and you can of course set a limit where the API key will stop working.

1 Like

That’s a relief… :slight_smile:
Thanks for sharing @yossiea. Will definitely set that up.

1 Like

Two more suggestions. In the options, you can overwrite the formula with the number , not the CHATGPT formula so you don’t keep running the formula. Also, if possible, the GPT3 is faster and allows for more API calls than GPT4.


I had just set this up with GPT-3.5 (gpt-3.5-turbo) model and I tried using the formula that you shared for my 100 recent transactions.

When I referenced the “Description” field which I usually update it with meaningful text, it seems to have categorized 50% of my transactions perfectly. And when I considered “Full Description” field which I usually leave it untouched from what comes in the feed, it seems to have categorized just 25% of the transactions properly.

On the other hand, “Category Hint” column seems to have the right possibilities as well to some extent, but obviously that isn’t based on our custom Categories. And I noticed that we can’t apply rules based on the columns “Category Hint” and “Merchant Name” in AutoCat sheet.
Would be great, if that can be used as criteria so that we can leverage those columns to auto-categorize our transactions.

I’m curious to know how exactly you’re handling the update of the actual Category field based on the Category obtained from GPT or “Category Hint” & “Merchant Name”

Firstly, I do believe you can add Merchant and Category to the AutoCat. IIRC, you can add any column and then make sure it says “contains” so it knows it’s a lookup column.
I haven’t been using the AI as my first line, just trying to see if I can speed up my process when I miss a few days of catting.

Damn… I forgot to include “contains” in the header.
Thanks for pointing that out!!

It seems to work even for any custom column that we create as well. I had created a column named “Category By GPT” in the Transactions Sheet and tested by creating an AutoCat rule which checks if the text from “Category By GPT Contains” matches the one from Transaction to update the Description as well.

I’m starting to love AutoCat even more now.

In case helpful, I have been testing a script to use Open AI for categorization for a while and finally have it in a spot that it’s working pretty well for me. I published it here: GitHub - sjogreen/tiller_ai_autocat: Apps Script code to use Open AI to automatically categorize financial transactions (designed to work with Tiller Finance Feeds)

Feedback most appreciated!

Any chance of a quick demo screen recording @cps!? Would love to see how this works before adding a script to my precious sheet. But am definitely interested in adding GPT powers to AutoCat!! I was about to tinker with GPT for Sheets (as above) but then seems you have cracked it further… excited to see! Thanks for your efforts!

Hey, sure, I updated my original post with a video demo here: Tiller AI AutoCat - #2 by morgan