Plaid: Introducing a new categorization taxonomy and category list for personal finance management apps and tools


February 23, 2022

Our biggest update to transaction data categorization

Royce Kok

As 88% of US consumers are using technology to manage their finances, they’ve come to expect a lot from their favorite fintech apps. Many personal finance management apps (PFMs) rely on Plaid’s transaction categorization to provide personalized spending insights to their users—which is why it’s important that we get it right. Today, we’re excited to introduce a new categorization taxonomy and category list that is optimized for PFM apps and tools.

We heard from many of you who wanted a simpler categorization taxonomy and less ambiguity around the current category list which has over 600 categories. With this feedback in mind, the new taxonomy includes:

  • Fewer, better defined categories
    16 primary and 104 detailed categories based on our customer needs and what their users expect to see in a PFM app.

  • Concise and clear insights
    More context behind each individual transaction leads to better insights—like the user’s income and the purpose of the purchase.

  • Higher quality category predictions 
    A concise category list enables us to deliver a prediction for the category field with greater accuracy, and address your feedback much quicker.

The 16 primary categories within the new taxonomy are displayed below. The full list of categories is in our API docs.

Let’s explore how the new categorization taxonomy can be applied to a sample transaction for Hulu’s service. Using the current taxonomy, there are four categories that may be applicable such as Subscription or Cable, which may not be straightforward. With the new taxonomy, we remove the ambiguity and provide the clear intent for the transaction—which is for entertainment and specifically, TV shows and movies.

Over the last few months, we’ve collaborated with a number of Plaid customers including LendingTree and Bright Money to test and refine the new taxonomy. Here’s what they had to say:

After reviewing Plaid's new proposed taxonomy, it’s so much easier to understand. We’ll really be able to simplify some of the logic we have in creating insights for our users. - Bryce McAvoy, Senior Product Manager at LendingTree

Bright is an AI-driven company at its core. The new transaction categorization from Plaid enables our AI models to understand income and expense patterns of our customers. It improves our ability to create value for our customers. - Kunal Krishna, Product Manager at Bright Money


Developing a new taxonomy was a complex process. In addition to customer feedback, we also developed several key principles to guide our work. First and foremost, we believe the category prediction for a transaction should be intuitive to you. There should be no guesswork on what a certain category means, and that you can easily build on top of the taxonomy.

Second, it’s important that the category conveys the intent of the underlying purchase or transfer. Take Hulu for example, people purchase their service not because their original intent is to have a subscription, but for entertainment value and to watch tv shows or movies. Additionally, the category field should not be overloaded with other information like third-party providers or the transfer means. 

Third, we wanted to instill confidence in our taxonomy which means being able to accurately identify one correct category for each transaction. This is essential to helping reduce confusion and avoid overlapping categories in our taxonomy.


We made it easy to get started using the new taxonomy which is available for free as part of the Transactions API. Just follow these three steps:

  • Review the API docs and familiarize yourself with the new category list.

  • When you’re ready to call /transactions/get, set the following parameter: include_personal_finance_category

    • SDKs will be updated soon to reflect this new request field

  • Look for the primary and detailed fields under “personal_finance_category” in the API response 

1Transactions API Response - Sample JSON
3"transactions": [
4 {
5 "account_id": "ybV8yjea61u8XjY5EXPLuEYRnV5MAwcOZbzOZ",
6 "account_owner": null,
7 "amount": 5.99,
8 ...
9 "category": [
10 "Service",
11 "Subscription"
12 ],
13 "category_id": "18061000",
14 "date": "2021-07-01",
15 "datetime": null,
16 "iso_currency_code": "USD",
17 "location": { ... },
18 "merchant_name": "Hulu",
19 "name": "HLU*Hulu 1541146425727-U HULU.COM/BILLCA",
20 "payment_channel": "online",
21 "payment_meta": { ... },
22 "pending": false,
23 "pending_transaction_id": "NpZnO8VyJmu97X1qY7D8Hp6mbARE56fRaOV71",
24 "personal_finance_category": {
25 "primary": "ENTERTAINMENT",
27 },
28 ...

You'll still see the category field which is based on the current categorization taxonomy. This enables you to compare the category output from both taxonomies in the API response without having to make any big changes to your integration. We believe you’ll notice an improvement to our labeling of the categories and less ambiguity around whether a transaction could be categorized across multiple categories. 

We’ll be continuing to improve categorization accuracy with your input in mind. Thank you for all the feedback you’ve provided over the last year and if you have more to share, send us a note:

Stay tuned for more exciting launches this year that will provide you with even more insights into your user’s cash flow and spending behavior, including their recurring bill payments and subscriptions.