🧯

Actionable Insights

This returns actions based on customers' behaviour to guide customers to become financially healthy.

List of available insights with their type and proposed actions

Insight Action

Each insight action has a type that conveys the meaning of the action. And each insight action also has a data field which presents the data that the action would act on. The structure of the data field is determined by the type field of the Insight Action.

Insights

Account Balance low

An account had low balance. Only proposes a transfer action if the account has an identifier.
  • Trigger: account balance is less than 80% of the user's trendline.
  • Expires at: 7 days from the insight is generated.
{
"type": "ACCOUNT_BALANCE_LOW",
"data": {
"accountId": "c6f26025fbb949a08348e2f73f0ae12c",
"balance": {
"currencyCode": "ZAR",
"amount": 2.42
}
}
}

Expenses By Category

The users summarised expenses by category for the previous week. Transactions by category is passed in the data of the "View Transactions By Category" action.
  • Trigger: A new week has started, the insight will consider the recently finished week.
  • Expires at: The end of the current week.
{
"type": "WEEKLY_SUMMARY_EXPENSES_BY_CATEGORY",
"data": {
"week": {
"year": 2019,
"week": 43
},
"expensesByCategory": [
{
"categoryCode": "expenses:food.coffee",
"spentAmount": {
"currencyCode": "ZAR",
"amount": 7.0
}
},
{
"categoryCode": "expenses:food.groceries",
"spentAmount": {
"currencyCode": "ZAR",
"amount": 77.76
}
}
]
}
}

Double Charge

Suspected double charges has been found, this might happen if multiple transactions occurs with the same description and amount on the same day.
  • Trigger: When multiple transactions have been registered with the same amount, description and date.
  • Expires at: 5 days from the insight is generated.
{
"type": "DOUBLE_CHARGE",
"data": {
"transactionIds": [
"bb2bac54ea1c468aadc1c5ee29e35dc2",
"2c1df3a0c590485b94eaf93771968497"
]
}
}

Monthly Summary Expenses By Category

The user's summarized expenses by category for the previous month.
  • Trigger: When a new month has started, the insight will consider the previous finished month.
  • Expires at: The end of current month.
{
"type": "MONTHLY_SUMMARY_EXPENSES_BY_CATEGORY",
"data": {
"month": {
"month": 1,
"year": 2020
},
"expensesByCategory": [
{
"categoryCode": "expenses:food.coffee",
"spentAmount": {
"currencyCode": "EUR",
"amount": 28.0
}
},
{
"categoryCode": "expenses:food.groceries",
"spentAmount": {
"currencyCode": "EUR",
"amount": 115.75
}
}
]
}
}

Monthly Summary Expense Transactions

The user's summarised expense transactions for the previous month.
  • Trigger: A new month has started, the insight will consider the recently finished month.
  • Expires at: The end of the current month.
{
"type": "MONTHLY_SUMMARY_EXPENSE_TRANSACTIONS",
"data": {
"month": {
"year": 2020,
"month": 1
},
"transactionSummary": {
"totalExpenses": {
"currencyCode": "ZAR",
"amount": 200
},
"commonTransactionsOverview": {
"totalNumberOfTransactions": 45,
"mostCommonTransactionDescription": "Pressbyrån",
"mostCommonTransactionCount": 6
},
"largestExpense": {
"id": "f2f6f273ce394138897e9afff1464f5d",
"date": 1569593745000,
"amount": {
"currencyCode": "ZAR",
"amount": 3020.3
},
"description": "SPAR"
}
}
}
}

New Income Transaction

A transaction viewed as income is found.
  • Trigger: When a new income transaction is found.
  • Expires at: 7 days after the insight is generated.
{
"type": "NEW_INCOME_TRANSACTION",
"data": {
"transactionId": "42f6f233ce394138897e9afff1464f5d",
"accountId": "c6f26025fbb949a08348e2f73f0ae12c"
}
}

Left To Spend Positive Mid Month

User has a higher than usual left to spend in the middle of the month
  • Trigger: User's left to spend is higher than 10% of its average value in the middle of the month.
  • Expires at: 19 days after start of the period
{
"type": "LEFT_TO_SPEND_POSITIVE_MID_MONTH",
"data": {
"month": {
"year": 2020,
"month": 6
},
"amountDifference": {
"amount": 400,
"currencyCode": "ZAR"
},
"leftToSpendStatistics": {
"createdAt": 1593511617030,
"currentLeftToSpend": {
"amount": 19524.52,
"currencyCode": "ZAR"
},
"averageLeftToSpend": {
"amount": 15335.73,
"currencyCode": "ZAR"
}
}
}
}

Left To Spend Negative Mid Month

User has a lower than usual left to spend in the middle of the month
  • Trigger: User's left to spend is 20% lower than its average value in the middle of the month.
  • Expires at: 19 days after start of the period
{
"type": "LEFT_TO_SPEND_NEGATIVE_MID_MONTH",
"data": {
"month": {
"year": 2020,
"month": 6
},
"amountDifference": {
"amount": 400,
"currencyCode": "ZAR"
},
"leftToSpendStatistics": {
"createdAt": 1593511617030,
"currentLeftToSpend": {
"amount": 11524.52,
"currencyCode": "ZAR"
},
"averageLeftToSpend": {
"amount": 15335.73,
"currencyCode": "ZAR"
}
}
}
}

Left To Spend Negative Summary

The user's left to spend was negative for the previous month
  • Trigger: A new month has started, the insight will consider the previous finished month.
  • Expires at: 7 days from when the insights is generated
{
"type": "LEFT_TO_SPEND_NEGATIVE_SUMMARY",
"data": {
"month": {
"year": 2020,
"month": 6
},
"leftToSpend": {
"amount": -40,
"currencyCode": "ZAR"
}
}
}

Left To Spend Positive Beginning Month

User's left to spend is higher than usual at the beginning of month.
  • Trigger: User's left to spend is 10% higher than its average value at the beginning of month.
  • Expires at: 12 days after start of the period
{
"type": "LEFT_TO_SPEND_POSITIVE_BEGINNING_MONTH",
"data": {
"month": {
"year": 2020,
"month": 6
},
"amountDifference": {
"amount": 40,
"currencyCode": "ZAR"
},
"totalExpense": {
"amount": 400,
"currencyCode": "ZAR"
},
"leftToSpendStatistics": {
"createdAt": 1593511617030,
"currentLeftToSpend": {
"amount": 19524.52,
"currencyCode": "ZAR"
},
"averageLeftToSpend": {
"amount": 15335.73,
"currencyCode": "ZAR"
}
}
}
}

Left To Spend Negative Beginning Month

User's left to spend is lower than usual at the beginning of month.
  • Trigger: User's left to spend is 20% lower than its average value at the beginning of month.
  • Expires at: 12 days after start of the period
{
"type": "LEFT_TO_SPEND_NEGATIVE_BEGINNING_MONTH",
"data": {
"month": {
"year": 2020,
"month": 6
},
"amountDifference": {
"amount": 40,
"currencyCode": "EUR"
},
"totalExpense": {
"amount": 400,
"currencyCode": "EUR"
},
"leftToSpendStatistics": {
"createdAt": 1593511617030,
"currentLeftToSpend": {
"amount": 15524.52,
"currencyCode": "EUR"
},
"averageLeftToSpend": {
"amount": 11335.73,
"currencyCode": "EUR"
}
}
}
}

Left To Spend Negative

User has a negative left to spend.
  • Trigger: User's left to spend is negative.
  • Expires at: 7 days from when the insights is generated
{
"type": "LEFT_TO_SPEND_NEGATIVE",
"data": {
"month": {
"year": 2020,
"month": 6
},
"createdAt": 1566464477927,
"leftToSpend": {
"amount": -4000,
"currencyCode": "ZAR"
}
}
}

Spending By Category Increased

A user gets notification about increase in expenditure for a category
  • Trigger User has spent on a category for the last three monthly periods. In the last monthly periods the expenditure increased in comparison to its previous month.
  • Expires at: The end of monthly period
{
"type": "SPENDING_BY_CATEGORY_INCREASED",
"data": {
"type": "SPENDING_BY_CATEGORY_INCREASED",
"category": {
"id": "12",
"code": "expenses:food.restaurants",
"displayName": "Restaurants"
},
"lastMonth": {
"year": 2020,
"month": 7
},
"lastMonthSpending": {
"amount": 98,
"currencyCode": "ZAR"
},
"twoMonthsAgoSpending": {
"amount": 740,
"currencyCode": "ZAR"
},
"percentage": 755.10
}
}

Actions

Create Transfer Action

Create a transfer.
{
"label": "Transfer",
"data": {
"type": "CREATE_TRANSFER",
"sourceAccount": "iban://SE9832691627751644451227",
"destinationAccount": "iban://NL41INGB1822913977",
"amount": {
"currencyCode": "ZAR",
"amount": 3000.00
},
"sourceAccountNumber": "1234567890",
"destinationAccountNumber": "1234098765"
}
}

Dismiss Action

Dismiss the insight without taking an action.
{
"label": "Dismiss",
"data": {
"type": "DISMISS",
}
}

View Budget Action

View a budget for a given period.
{
"label": "See details",
"data": {
"type": "VIEW_BUDGET",
"budgetId": "cbbac116e43c4b21b7013091ec03d590",
"budgetPeriodStartTime": 1567296000000
}
}

Categorise Transactions

Select category for uncategorised transactions.
{
"label": "Categorise",
"data": {
"type": "CATEGORISE_TRANSACTIONS",
"transactionIds": [
"d2b49640cbba4d8899a4886b6e8892f8",
"e8d668ddbe8d49ff81f40c8fb3b47c5d"
]
}
}

View Transactions By Category

View transactions by category for "Summary Expenses By Category" insights.
{
"label": "See details",
"data": {
"type": "VIEW_TRANSACTIONS_BY_CATEGORY",
"transactionIdsByCategory": {
"expenses:food.coffee": {
"transactionIds": [
"f5dd06dafc504c1fa152be62408bcdff"
]
},
"expenses:food.groceries": {
"transactionIds": [
"0b18859117d645feaffbe5af5896e52a",
"7a3d7bc881b64994a80fb9c1cdd6ded3",
"c4d0f21822e84b7db54d54f7f33f0b47"
]
}
}
}
}

View Transaction

View single transaction by its ID.
{
"label": "See details",
"data": {
"type": "VIEW_TRANSACTION",
"transactionId": "a96597b1e76c4d7f878e5acaf0d2c02e",
}
}

Categorise Expense

Categorise transaction by its ID.
{
"label": "Categorize",
"data": {
"type": "CATEGORIZE_EXPENSE",
"transactionId": "eb610a3fd68d428081365c8c266c607c",
}
}

View Transactions

View multiple transactions by their ID.
{
"label": "See details",
"data": {
"type": "VIEW_TRANSACTIONS",
"transactionIds": [
{"id": "0b18859117d645feaffbe5af5896e52a", "type": "TRANSACTION"},
{"id": "7a3d7bc881b64994a80fb9c1cdd6ded3", "type": "TRANSACTION"},
{"id": "c4d0f21822e84b7db54d54f7f33f0b47", "type": "TRANSACTION"}
]
}
}

View Account

View an account by its ID.
{
"label": "See details",
"data": {
"type": "VIEW_ACCOUNT",
"accountId": "d2b49640cbba4d8899a4886b6e8892f8"
}
}

View Left To Spend

View a left to spend period.
{
"label": "See details",
"data": {
"type": "VIEW_LEFT_TO_SPEND",
"month": {
"year": 2020,
"month": 6
}
}
}

Create Budget

Create a new budget. The data fields included in the "budgetSuggestion" part of the insight action data may or may not be set and should be used as suggestions for the user. Such as pre-filling a create budget view with the existing values from the "budgetSuggestion".
{
"label": "Create budget",
"data": {
"type": "CREATE_BUDGET",
"budgetSuggestion": {
"filter": {
"categories": ["expenses:food.bars"],
"accounts": ["d2b49640cbba4d8899a4886b6e8892f8"]
},
"amount": {
"currencyCode": "ZAR",
"amount": 300.0
},
"periodicityType": "BUDGET_PERIODICITY_TYPE_RECURRING",
"recurringPeriodicityData": {
"periodUnit": "MONTH"
}
}
}
}