Categorisation
Categorisation product is available as a Private Beta version.
Yapily’s categorisation product returns additional information for individual transactions, providing a more detailed summary of each transaction.
Categorisation provides the following additional information for transactions:
Field | Description |
---|---|
Category | 19 possible transaction categories. |
Cleaned transaction description | Transaction description without unnecessary information. |
Subcategory | 93 possible transaction subcategories. (optional) Only returned when rules-based matching is able to determine a subcategory. |
Location | Location of the transaction. (optional) Only returned when matched. |
Payment processor | The payment processor. (optional) Only returned when one is present in the description. |
Merchant | The merchant. (optional) Only returned when matched to a merchant in our merchant database. |
Parent group | The parent company of the merchant. (optional) Only returned if applicable. |
Enable categorisation
You can enable categorisation by including the with=categorisation
query parameter when calling the Get Account Transactions endpoint:
GET /accounts/{accountId}/transactions?with=categorisation
Category calculation
Firstly, the transaction reference and descriptive fields are cleaned to remove special characters or extra terms that may wrongly affect categorisation or merchant identification.
Categorisation is then determined using 2 main approaches:
- a rules based service
- a machine learning model
Rules based service
Transactions are filtered through the rules based categorisation service. Each transaction is run through a set of rules. If a rule is triggered the corresponding logic will assign a category and sub-category.
Machine learning model
If the transaction can't be categorised by the rules based service, the machine learning model predicts the categorisation to a predefined confidence level.
The categorisation model uses 2 machine learning algorithms.
The first model is a natural language processing (NLP) model. This model will take a text input and give a numeric output. The second model takes the output from the first model, considers additional transaction attributes, and attempts a category prediction for the transaction.