Onboarding

This section describes the user's onboarding experience and the bank side definitions.

About Onboarding

What is it?

The Onboarding experience is an interactive managed process, of sharing the goals program principles with interested customers, enrolling them to the program, collecting their consent and preferences, and providing guidance to set goals.
The bank and Personetics share responsibility for the different elements in the sign-up process. The allocation of roles is flexible and will be defined as part of the bank specific solution.

Customer Onboarding Journey

Journey start:
The customer arrives to the ‘onboarding’ page – either through Personetics invitation or bank manual invitation. The customer selects and enters the goal(s) parameters (some required and others optional):

  • Goal type and name
  • Goals target account (account that hosts the goal funding)
  • Goal target amount (optional) and target date (optional)
  • Goal distribution ratio
  • Goals funding method – automated funding and/or manual (optional)
  • Terms and conditions

To complete the onboarding:

The information is sent and saved to Personetics using setGoalSettings API call. If a Personetics automated funding method is a part of the enrollment, this information is sent via a setProgramSettings request.
The customer is now officially part of the goals based savings experience

Goals Setup Parameter Descriptions

Setup ParameterDescription
Goal TypesMandatory. User selected purpose of the savings goal. A number of pre-defined types of goals are available. The user can either choose from the full list of goals, or the bank can choose to present some pre-populated options that the customer will be able to select from.
The following goal types are available by default:
- Vacation
- Home
- Rainy day fund
- Retirement
- Family, Education
- Car,
- Tax
- Bill Payments
Goal target accountMandatory. The account hosting the goal deposits or money transfers. This can be either an existing account or a new dedicated account. The target account can “host” multiple goals.The goal is a financial target that is linked to a specific target. The OOTB approach to support and maintain goals is using Envelopes.
Goal NameMandatory. Customer defined goal name, entered after selecting the goal type.Goal Target Amount
Goal Target AmountOptional. The amount the customer would like to save towards the goal. The customer will type in the amount in the project local currency.
Goal Target DateOptional. The date by which the customer would like to accomplish the goal and accumulate the goal target amount (if relevant).The customer will either enter the date or choose the date in a calendar.
Goal imageOptional. The image/icon associated with the goal. Currently, Personetics supports a different goal image per goal type.
Goal distributionRatio determining the amount of each deposit or withdrawal to be allocated to/from the specific goal. Each goal can have a different ratio. The combined ratio of all goals hosted in the same account must total to 100% (including Core Savings).
EnvelopesGoals are bucketed in the target account virtually. The goals balances are totaling to the target account balance. Every deposit or withdrawal on the target account is split between the goals based on the Goal distributions. This logic dictates how to split the automated transfers between the goals is defined as part of the goals allocation policy.

Goal Creation

setGoalSettings Call Parameters

setGoalSettings call sets the values for the following goal parameters.

Note: remaining parameters are predefined.

Goal ParameterDescription
accountIdid of target account hosting the goal(s). Mandatory on first setup.
TypeValue selected from the list of goals to choose from. Mandatory on first setup.
namename user gives to the goal. Mandatory on first setup.
imageThe avatar\image for the goal. Could be image name or URL. Goal image will be defined by the selected goal type. Mandatory on first setup.
targetAmountuser set target amount for the goal
targetDateuser set target date for the goal
distributionallocation ratio for the goals being created/updated.
fundingSourcerelevant for goals that are sponsored by an automated funding program. The funding method that sources the goal. In case the goal funding is associated with a specific program this parameter will hold the program instance id. For example: SS, PYF,RU. For more information, refer to “Funding method selection” below.

First Goal Creation

In this scenario, the user sets up a goal and skips enrolling in a funding program (i.e., PYF, RU, or SS).

Following are examples of setGoalSettings code with settable params. For a full description, refer to the “Goals Server API” document. The examples show the code for setting goals with target amount and a target date, target amount only, target date only, and no target amount or target date.

Note: These scenarios are only for goals.

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "targetAmount": 100,
                "distribution": 0.5,
                "targetDate": "04/25/2023",
                "fundingSource": ""
            }
        ]
    }
}
{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "targetAmount": 100,
                "distribution": 0.5,
                "fundingSource": ""
            }
        ]
    }
}

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "distribution": 0.5,
                "targetDate": "04/25/2023",
                "fundingSource": ""
            }
        ]
    }
}

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "distribution": 0.5,
                "fundingSource": ""
            }
        ]
    }
}

Nth Goal Creation

In this scenario, the user is setting up their 2nd through Nth goal. A setGoalSettings request to set up the Nth goal is needed.

Note: An additional setGoalSettings to update the split ratios of any existing goals should be sent.

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "targetAmount": 100,
                "distribution": 0.1,
                "targetDate": "04/25/2023",
                "fundingSource": ""
            }
        ]
    }
}

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [{
            "goalId": "123",
            "distribution": 0.2
        },
        {
            "goalId": "234",
            "distribution": 0.3
        }]
    }
}

Round Ups Onboarding

In this scenario, the user sets up goals and enrolls in round ups. This is done using the setGoalsSettings API

setGoalSettings

The user can set the goal with a target amount and date, target amount only, target date only, or no target (i.e. simply transfer money to a specified account).

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "targetAmount": 100,
                "distribution": 0.5,
                "targetDate": "04/25/2023",
                "fundingSource": "RU"
            } 
        ]
    }
}

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "targetAmount": 100,
                "distribution": 0.5,
                "fundingSource": "RU"
            }  
        ]
    }
}

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "distribution": 0.5,
                "targetDate": "04/25/2023",
                "fundingSource": "RU"
            }
        ]
    }
}

{
    "type": "setGoalSettings",
    "protocolVersion": "2.6",
    "settings": {
        "goals": [
            {
                "goalId": "",
                "accountId": "target account ID",
                "activationStatus": true,
                "type": "Car",
                "name": "Mazda",
                "image": "car",
                "targetAmount": 0,
                "distribution": 0.5,
                "fundingSource": "RU"
            }
        ]
    }
}

setProgramSettings

In this scenario, the user signs up to the RU funding method.

{
    "type": "setProgramSettings",
    "protocolVersion": "2.6",
    "settings": {
        "programId": "RU",
        "userOptIn": true,
        "fundingAccountId": "funding account ID",
        "accountOptIn": true,
        "transferPreferences": [
            {
                "transferId": "",
                "targetAccountId": "target account ID",
                "transferType": "RU",
                "active": true,
                "transferTrigger": "auto",
                "transferValue": "5"
            }
        ]
    }
}

Smart Save Onboarding

In this scenario, the user sets up goals and enrolls in Smart Save.

Funding Method Selection

Based on the project scope, bank decisions and customer eligibility, the customer might get the opportunity to enroll in an automated funding method, or transfer amounts manually.

Personetics provides several automatic funding methods that enable users to reach their goals more quickly:

  • Smart Save
  • Round Ups
  • Pay Yourself First

Personetics also provides “manual” methods in the form of saving opportunities insights and nudges. For more info, refer to Goals Funding Methods and Services.

Goal Setup Flow