Based on connected accounts you can recover user's insights, book of variables, income analysis & recurring patterns.
In addition to the useful insights of transaction categorization, Pluggy offers an Insights API to help you gather insights about your Items' data to quickly group, filter or cluster your items according to their financial KPIs or their income indicators.
Item financial KPIs#
A handy feature to quickly build intelligence over your Items is to look at their financial KPIs, which correspond to important financial statistics like cash flow, distribution of debit/credit transactions, etc.
We offer an HTTP API for calculating those KPIs. Here is an example of how to use it:
- First, authenticate in Pluggy API to obtain an API key
- Execute the following request
curl --location --request POST 'https://insights-api.pluggy.ai/book?itemIds={your-item-id}' \
--header 'X-API-KEY: {YOUR-API-KEY}'- Here is an example response:
{
"id": "b3b60afc-6a76-43ae-9c94-3457ce8952b2",
"status": "COMPLETED",
"book": {
"bankAccount": {
"percentage_transactions_debit_dates_1-5_M1": null,
"percentage_transactions_credit_dates_1-5_M1": null,
"count_transactions_debit_dates_1-5_M1": 0,
"count_transactions_credit_dates_1-5_M1": 0,
"amount_transactions_debit_dates_1-5_M1": 0,
"amount_transactions_credit_dates_1-5_M1": 0,
"percentage_transactions_debit_dates_6-10_M1": null,
"percentage_transactions_credit_dates_6-10_M1": null,
"count_transactions_debit_dates_6-10_M1": 0,
"count_transactions_credit_dates_6-10_M1": 0,
"amount_transactions_debit_dates_6-10_M1": 0,
"amount_transactions_credit_dates_6-10_M1": 0,
"diff_transactions_net_amount_M1": 0,
"count_transactions_credit_M1": 0,
"count_transactions_debit_M1": 0,
"min_transactions_balance_M1": null,
"max_transactions_balance_M1": null,
"sum_transactions_credit_M1": 0,
"sum_transactions_debit_M1": 0,
"ratio_transactions_creditdebit_M1": null,
"ratio_inflow_commitment_M1": null,
"avg_transactions_credit_M1": null,
"avg_transactions_debit_M1": null,
"avg_transactions_credit_balance_M1": null,
"avg_transactions_debit_balance_M1": null,
"max_transactions_debit_period_M1": "",
"max_transactions_credit_period_M1": "",
"diff_transactions_net_amount_alltime": 394,
"count_transactions_credit_alltime": 7,
"count_transactions_debit_alltime": 1,
"min_transactions_balance_alltime": null,
"max_transactions_balance_alltime": null,
"sum_transactions_credit_alltime": 520,
"sum_transactions_debit_alltime": 126,
"ratio_transactions_creditdebit_alltime": 4.13,
"ratio_inflow_commitment_alltime": 169.62,
"avg_transactions_credit_alltime": 74.29,
"avg_transactions_debit_alltime": 126,
"avg_transactions_credit_balance_alltime": 0,
"avg_transactions_debit_balance_alltime": 0,
"max_transactions_debit_period_alltime": "26-31",
"max_transactions_credit_period_alltime": "26-31",
"ratio_inflow_commitment_trend": null
},
"categories": [
{
"category": "Transfers",
"transactionType": "CREDIT",
"accountSubtype": "SAVINGS_ACCOUNT",
"M1": { "avg": null, "total": 0 },
"M2": { "avg": null, "total": 0 },
"M3": { "avg": null, "total": 0 },
"M6": { "avg": 68.5, "total": 137, "min": 59, "max": 78 },
"M12": { "avg": 68.5, "total": 137, "min": 59, "max": 78 }
},
{
"category": "Third party transfers",
"transactionType": "CREDIT",
"accountSubtype": "SAVINGS_ACCOUNT",
"M1": { "avg": null, "total": 0 },
"M2": { "avg": null, "total": 0 },
"M3": { "avg": null, "total": 0 },
"M6": { "avg": 96.5, "total": 193, "min": 57, "max": 136 },
"M12": { "avg": 96.5, "total": 193, "min": 57, "max": 136 }
}
],
"creditCard": {
"percentage_transactions_debit_dates_1-5_M1": null,
"percentage_transactions_credit_dates_1-5_M1": null,
"count_transactions_debit_dates_1-5_M1": 0,
"count_transactions_credit_dates_1-5_M1": 0,
"diff_transactions_net_amount_alltime": 0,
"count_transactions_credit_alltime": 0,
"count_transactions_debit_alltime": 0,
"ratio_transactions_creditdebit_alltime": null,
"ratio_inflow_commitment_alltime": null,
"ratio_inflow_commitment_trend": null,
"limit_commitment_trend": null
}
},
"metadata": {
"itemsIds": [
"786583d9-ab31-44d9-86d4-a468e1a41168"
]
}
}Notes:
M1represents the last month,M2last two months, andM12twelve months.dates_1-5represents that it's filtered between dates in the first days of the month.dates_16-20represents between the day 16th and 20 both included.amount_200-500represents transactions with amounts having values between 200 and 500.
The book response also includes income analysis data:
{
"status": "COMPLETED",
"itemId": "b3b60afc-6a76-43ae-9c94-3457ce8952b2",
"result": {
"totalIncomeStatistics": {
"daysCoveredWithIncome": 180,
"firstIncomeDate": "2021-11-01T00:00:00",
"lastIncomeDate": "2022-04-29T00:00:00",
"numIncomeTransactions": 17,
"averageMonthlyIncomeLast30Days": 821.51,
"averageMonthlyIncomeLast90Days": 3638.51,
"averageMonthlyIncomeLast180Days": 3727.7134,
"averageMonthlyIncomeLast360Days": 1863.8567
},
"irregularIncomeStatistics": {
"daysCoveredWithIncome": 5,
"firstIncomeDate": "2021-11-01T00:00:00",
"lastIncomeDate": "2022-02-01T00:00:00",
"numIncomeTransactions": 2,
"averageMonthlyIncomeLast30Days": 100.1,
"averageMonthlyIncomeLast90Days": 0,
"averageMonthlyIncomeLast180Days": 0,
"averageMonthlyIncomeLast360Days": 0
},
"incomeSources": [
{
"transactionDescription": "recebimento de proventos municipio de santa ines",
"incomeStatistics": {
"daysCoveredWithIncome": 151,
"firstIncomeDate": "2021-11-30T00:00:00",
"lastIncomeDate": "2022-04-29T00:00:00",
"numIncomeTransactions": 7,
"averageMonthlyIncomeLast30Days": 821.51,
"averageMonthlyIncomeLast90Days": 821.51,
"averageMonthlyIncomeLast180Days": 1017.5467,
"averageMonthlyIncomeLast360Days": 508.77335
},
"aggregatedIncomeStatistics": {
"averageMonthlyIncome": 941.23114,
"longevity": 45,
"regularity": 69,
"consistency": 66
}
},
{
"transactionDescription": "transferencia recebida #/# # #-# pref mun santa",
"incomeStatistics": {
"daysCoveredWithIncome": 101,
"firstIncomeDate": "2021-11-23T00:00:00",
"lastIncomeDate": "2022-03-03T00:00:00",
"numIncomeTransactions": 4,
"averageMonthlyIncomeLast30Days": 0,
"averageMonthlyIncomeLast90Days": 2733.6667,
"averageMonthlyIncomeLast180Days": 2518.5,
"averageMonthlyIncomeLast360Days": 1259.25
},
"aggregatedIncomeStatistics": {
"averageMonthlyIncome": 2473.4756,
"longevity": 27,
"regularity": 47,
"consistency": 42
}
},
{
"transactionDescription": "pix - recebido #/# #:# # rocleane pe",
"incomeStatistics": {
"daysCoveredWithIncome": 134,
"firstIncomeDate": "2021-11-01T00:00:00",
"lastIncomeDate": "2022-03-14T00:00:00",
"numIncomeTransactions": 6,
"averageMonthlyIncomeLast30Days": null,
"averageMonthlyIncomeLast90Days": 83.333336,
"averageMonthlyIncomeLast180Days": 191.66666,
"averageMonthlyIncomeLast360Days": 95.83333
},
"aggregatedIncomeStatistics": {
"averageMonthlyIncome": 101.36883,
"longevity": 36,
"regularity": 25,
"consistency": 0
}
}
],
"totalAggregatedIncomeStatistics": {
"averageMonthlyIncome": 3516.0754,
"longevity": 33,
"regularity": 52,
"consistency": 47
}
},
"createdAt": "2023-02-02T19:18:26.552Z"
}Recurrent pattern detection (BETA)#
We also provide a service to analyze recurrent patterns in an Item's transactions (for example, payment of services or salary deposits). Here's an example of its usage:
- Authenticate in Pluggy API to obtain an API key
- Execute the following request
curl --location --request POST 'https://insights-api.pluggy.ai/transactions/recurrency?itemId={itemId}' \
--header 'X-API-KEY: {YOUR-API-KEY}'- Here is an example response
{
"itemId": "b3b60afc-6a76-43ae-9c94-3457ce8952b2",
"recurrentTransactions": [
{
"description": "Pagamento da fatura",
"type": "DEBIT",
"averageAmount": -831.4033333333333,
"frequency": "MONTHLY"
},
{
"description": "Pb*Badoo",
"type": "DEBIT",
"averageAmount": 5.8999999999999995,
"frequency": "WEEKLY"
},
{
"description": "Pagamento efetuado - TIM",
"type": "DEBIT",
"averageAmount": -68.04785714285715,
"frequency": "MONTHLY"
}
]
}