Introduction

The IBM Behavior Based Customer Insight for Banking solution gives you the information and insight that you need to provide proactive service to your customers.

Audience

This guide is intended for administrators and users of the Behavior Based Customer Insight for Banking solution. It provides information on installation, configuration, and use of the Behavior Based Customer Insight for Banking solution.

Finding information

To find product documentation on the web, including all translated documentation, access IBM® Knowledge Center (http://www.ibm.com/support/knowledgecenter).

Accessibility features

Accessibility features help users who have a physical disability, such as restricted mobility or limited vision, to use information technology products. Some of the components included in the Behavior Based Customer Insight for Banking have accessibility features. For more information, see Accessibility features.

Behavior Based Customer Insight for Banking HTML documentation has accessibility features. PDF documents are supplemental and, as such, include no added accessibility features.

Forward-looking statements

This documentation describes the current functionality of the product. References to items that are not currently available may be included. No implication of any future availability should be inferred. Any such references are not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of features or functionality remain at the sole discretion of IBM.

Samples disclaimer

Sample files may contain fictional data manually or machine generated, factual data compiled from academic or public sources, or data used with permission of the copyright holder, for use as sample data to develop sample applications. Product names referenced may be the trademarks of their respective owners. Unauthorized duplication is prohibited.

Overview

The IBM Behavior Based Customer Insight for Banking solution works with IBM Predictive Customer Insight.

The solution includes reporting and dashboard templates, sample predictive models, and application interfaces for integration with operational systems. It uses banking data related to transactions, accounts, customer information, and location to divide customers into segments based on their spending and saving habits and predicts the probably of various life events. By anticipating customer needs, the solution enables banks to deliver personalized, timely, and relevant offers. For example, It can send alerts and targeted offerings and provide insights that help banks to develop direct marketing campaigns. It also helps customers of the bank to manage their finances.

What need does the solution address for banks?

Banks have a large amount of data related to their clients. However, they lack the capacity to use the data to quickly gain insight into the needs of their clients. With greater insights provided by the solution, banks are able to anticipate customer needs and deliver timely, relevant offers. This results in greater convenience for clients, increased client loyalty, and higher revenues for the bank.

The solution can be embedded in a bank’s systems

Published APIs can be used to embed the solution into a bank’s existing portals and desktops. This provides bankers and clients with insights through familiar interfaces.

Capabilities of the solution

The solution provides the following capabilities:

Behavior based segmentation

Client data is analyzed and clients are assigned to segments based on their past behavior. Algorithms are used to analyze information such as clients’ funding frequency and sources, transaction frequency, and types of assets held. This helps bankers to understand each client and provide personalized advice to that client.

Alerts for propensity to overdraft

Analytics are used to identify overdraft propensity for each client. By using historical cash flow patterns, the solution identifies clients who are likely to overdraft on their accounts. This insight is used to develop optimal financial recommendations for each client.

Demographic Peer-grouping

The solution identifies peer-groups for individual customers based on such things as age, marital status, and income. Opportunities are identified based on an individual’s peer group. Out-of-the-box interactive dashboards provide bankers and clients with easy access to these insights.

A summary of benefits for banks

The Behavior Based Customer Insight for Banking solution provides banks with the following benefits:

Improved customer experience and greater customer loyalty

Tailored offers for products and services

Advanced risk and rebalancing alerts

Greater inflows and client-advisor interaction

Increase in cross-sell and assets invested

Reduced outflows and attrition

Installation and configuration

The IBM Behavior Based Customer Insight for Banking solution is for use with IBM Predictive Customer Intelligence.

The installation and configuration of the solution involves going to Passport Advantage, downloading the solution, and then configuring the various parts of it within your environment.

Prerequisites
Before you install the Behavior Based Customer Insight for Banking there are prerequisites that must be met.

Contents of the download package
The Behavior Based Customer Insight for Banking package, which you download from Passport Advantage, contains several parts.

Overview of the installation and configuration process
This is an overview of the general tasks that you must perform to install and configure the Behavior Based Customer Insight for Banking solution.

Planning the installation and configuration of the solution
Before installing the solution, you must decide which computers you want the various parts of the solution to reside on.

Downloading the solution
You must download the Behavior Based Customer Insight for Banking solution from IBM Passport Advantage.

Modifying the sudoers file for the user who runs the installation
To run the Behavior Based Customer Insight for Banking installation, you must be either root user or have sudo permission on each node computer, and you must disable requiretty during the installation.

Computer firewall settings required for the installation
The solutions installer requires bidirectional communication with each node when you install a server component or server artifact component, and your firewall can interfere with this communication.

The solution installer
The solution installer provides automation that will help you to install the solution.

Creating the database
Before you can use the IBM Behavior Based Customer Insight for Banking solution, you must create a database.

Creating and running stored procedures
If, when you created the database for the Behavior Based Customer Insight for Banking solution, you chose not to load the sample data, then you need to run additional commands to create and run stored procedures. If you loaded the sample data, then you do not need to complete this task.

Importing IBM SPSS project streams, models, and rules
IBM SPSS project streams, models, rules, and other artifacts are contained in a repository export file (.pes) for the IBM Behavior Based Customer Insight for Banking solution. If you want to modify or view these artifacts, you must copy the export file to the computer where IBM SPSS Collaboration and Deployment Services Deployment Manager is installed, and open the file.

Configuring the data view for IBM SPSS models
To configure the data view, IBM® SPSS® Modeler must be connected to the IBM Behavior Based Customer Insight for Banking database through an ODBC data source connection.

Configuring ODBC for IBM SPSS Modeler Server
To use an ODBC data source with IBM SPSS Modeler Server on a Linux operating system, you must configure the environment.

Deploying the IBM Cognos content
For IBM Cognos Business Intelligence, you must catalog the database, create a data source connection, and then deploy the content files for the IBM Behavior Based Customer Insight for Banking solution.

Installing the EAR file
The EAR file contains the REST APIs that allow you to embed the IBM Behavior Based Customer Insight for Banking solution in your existing system.

Prerequisites

Before you install the Behavior Based Customer Insight for Banking there are prerequisites that must be met.

The following conditions must be met before the application is installed:

IBM Predictive Customer Intelligence is installed and configured.

You have a Linux system that you can install to. The application installer works only on Linux.

You understand your existing environment so that you can determine where you want the various components of the application to reside.

You have administration rights and the ability to copy files between computers.

Parent topic: Installation and configuration

Contents of the download package

The Behavior Based Customer Insight for Banking package, which you download from Passport Advantage, contains several parts.

The following parts are included in the package:

Solution installer

DB2 databases

SPSS project streams, models, and rules

Cognos BI reports, Framework Manager models, and Dynamic cube models

EAR file that contains the REST APIs

Parent topic: Installation and configuration

Overview of the installation and configuration process

This is an overview of the general tasks that you must perform to install and configure the Behavior Based Customer Insight for Banking solution.

You will need to perform the following tasks:

On the server from which you want to install the solution, download the tar.gz file from IBM Passport Advantage.

Plan where you want the various parts of the solution to reside.

Open the ports that are required for the installation. You can do this by running the firewall.sh script, manually opening the ports on the installation node, or disabling the firewall. You will also have to open ports on the other node computers that are used for the solution.

On the installation computer, run the setup.sh file to install the solution installer, and then run the solution installer to deploy files to the locations that you specify.

Create the DB2 database on the data node computer.

Import the SPSS project streams, models, and rules on the Predictive Analytics node computer.

Configure the data view for SPSS models on the Predictive Analytics node computer.

Install the Cognos content on the BI node computer.

Copy the Framework Manager model to a Microsoft Windows computer.

Install the EAR file.

Parent topic: Installation and configuration

Planning the installation and configuration of the solution

Before installing the solution, you must decide which computers you want the various parts of the solution to reside on.

You must ensure that no application is listening on the ports that will be used during the installation of the solution.

Parent topic: Installation and configuration

Downloading the solution

You must download the Behavior Based Customer Insight for Banking solution from IBM Passport Advantage.

Before you begin

You must have a Passport Advantage account and be entitled to the package.

About this task

Passport Advantage contains package repositories. Instead of downloading the package from Passport Advantage and creating a repository locally, you access the repository on Passport Advantage.

Procedure

Set the Passport Advantage preference to connect to Passport Advantage.

Download the tar.gz file.

Move the tar file to the Linux node from which you want to run the installation.

Uncompress the tar file.

Parent topic: Installation and configuration

Modifying the sudoers file for the user who runs the installation

To run the Behavior Based Customer Insight for Banking installation, you must be either root user or have sudo permission on each node computer, and you must disable requiretty during the installation.

To install with sudo user permissions, you must also add the user to the sudoers file.

Procedure

Log in as root user.

Enter the following command to open the sudoers file for editing:

visudo -f /etc/sudoers

Locate the following line:

                        Defaults requiretty

Press the I key to insert text.

Type a number sign ( #) in front of Defaults requiretty to comment out the line. For example, the line should appear as

                        #Defaults requiretty

If you run the installer as a user with sudo user permissions, go to the end of the file, and add the following line for your user:

                           username ALL=(ALL) NOPASSWD: ALL

Press the Esc key, and enter :wq to save and close the file.

Repeat these steps on each computer on which you install a Behavior Based Customer Insight for Banking node.

Parent topic: Installation and configuration

Computer firewall settings required for the installation

The solutions installer requires bidirectional communication with each node when you install a server component or server artifact component, and your firewall can interfere with this communication.

To ensure this bidirectional communication, you must configure your firewall settings for the installation. Alternatively, you can temporarily disable your firewall during the installation.

A script is provided to open all necessary ports on the installation node. You can either use the firewall.sh script, open the nodes manually, or disable the firewall settings.

In addition to opening ports on the installation node computer, there are some ports that must also be opened on each computer to which content from the solution will be copied.

Disabling firewall settings during installation (optional)
If you choose to temporarily disable your computer's firewall during the installation of the IBM Behavior Based Customer Insight for Banking application, ensure that you enable the firewall on each node after the installation is complete

Configuring your firewall settings on the installation node computer by using the Firewall script
You can run the firewall.sh script to open the ports on the installation node.

Manually configuring firewall settings on the installation node
If you prefer not to use the firewall.sh script, you can manually configure your firewall settings on the installation node.

Configuring firewall settings on other computers that will contain content from the solution
On all node computers to which content from the application will be copied, the ports 443, 9683, and 8080 must be opened for the installation process.

Parent topic: Installation and configuration

Disabling firewall settings during installation (optional)

If you choose to temporarily disable your computer's firewall during the installation of the IBM Behavior Based Customer Insight for Banking application, ensure that you enable the firewall on each node after the installation is complete

About this task

Important: If you disable your computer's firewall during the installation, you must still ensure that the required ports are opened on each node computer when you restart your firewall.

Procedure

Log on to the computer as the root user or as a user with sudo permissions.

Type the following command:

/etc/init.d/iptables stop

Repeat these steps on each computer on which you install a node and on the server from which you are running the installation.

What to do next

After the installation is complete, on each node, type /etc/init.d/iptables start to restart your firewall.

Parent topic: Computer firewall settings required for the installation

Configuring your firewall settings on the installation node computer by using the Firewall script

You can run the firewall.sh script to open the ports on the installation node.

About this task

The firewall.sh script will open the following ports on the solution installer node:

8080 incoming

443 incoming

9683 incoming

22 outgoing

Procedure

Log on to the computer that contains the solution installer node as the root user or as a user with sudo permissions.

Back up your existing firewall settings by typing the following command: /etc/init.d/iptables save.

Run the firewall.sh script.

Parent topic: Computer firewall settings required for the installation

Manually configuring firewall settings on the installation node

If you prefer not to use the firewall.sh script, you can manually configure your firewall settings on the installation node.

Procedure

As the root user or as a user with sudo permissions, log on to the computer that contains the solution installer node .

Back up your existing firewall settings by typing the following command: . /etc/init.d/iptables save

On the computer that contains the solution installer node, add rules for the ports that are required by the installer by typing the following commands:

                           iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
                              iptables -I OUTPUT -p tcp --sport 8080 -m state --state
                              RELATED,ESTABLISHED -j ACCEPT

                           iptables -I INPUT -p tcp --dport 443 -j ACCEPT
                              iptables -I OUTPUT -p tcp --sport 443 -m state --state
                              RELATED,ESTABLISHED -j ACCEPT

                           iptables -I INPUT -p tcp --dport 9683 -j ACCEPT
                              iptables -I OUTPUT -p tcp --sport 9683 -m state --state
                              RELATED,ESTABLISHED -j ACCEPT

                           iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT
                              iptables -I INPUT -p tcp --sport 22 -m state --state
                              RELATED,ESTABLISHED -j ACCEPT

Parent topic: Computer firewall settings required for the installation

Configuring firewall settings on other computers that will contain content from the solution

On all node computers to which content from the application will be copied, the ports 443, 9683, and 8080 must be opened for the installation process.

Procedure

On each of the computers to which content for the solution will be copied, add rules for the ports that are required by the installer by typing the following commands:

                           iptables -I OUTPUT -p tcp --dport 443 -j ACCEPT
                              iptables -I INPUT -p tcp --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT

                           iptables -I OUTPUT -p tcp --dport 9683 -j ACCEPT
                              iptables -I INPUT -p tcp --sport 9683 -m state --state RELATED,ESTABLISHED -j ACCEPT

                           iptables -I OUTPUT -p tcp --dport 8080 -j ACCEPT
                              iptables -I INPUT -p tcp --sport 8080 -m state --state RELATED,ESTABLISHED -j ACCEPT

Type the following command to save your firewall settings:

/etc/init.d/iptables save

Type the following command to restart your firewall:

/etc/init.d/iptables restart

Verify that your changes have been applied by using the following command:

iptables -L

The added port will appear in the list.

Repeat these steps on each computer on which you will install an IBM Behavior Based Customer Insight for Banking node.

Parent topic: Computer firewall settings required for the installation

The solution installer

The solution installer provides automation that will help you to install the solution.

The Industry Solution Installer runs on the latest versions of Chrome and Firefox. It is not tested on Safari and will not run on Internet Explorer.

The Industry Solution provides the following functionality:

Deploys the required files to defined nodes.

Allows you to start with a new configuration or with a configuration that you previously saved.

Automated validation.

Electronic license acceptance.

Automated clean-up of installed files if the license is declined.

The setup.sh script will install nodejs, chef client, and chef server. It will extract and upload the cookbooks, and will set up everything so that chef can be used to install the software.

The setup.sh script takes the following five arguments (the fifth argument is a password, and if omitted, it will be prompted for):

sh setup.sh <username> <first name> <last name> <e-mail> <password>

Where

username: The username to create in chef server (can be used to log on to the chef server) Must be all lowercase characters.

first name: The first name of the user created in chef (for display purposes only)

last name: The last name of the user created in chef (for display purposes only)

e-mail: A valid e-mail address for notifications from chef server

password: password for the user created in chef (this is optional: a password will be prompted for if it is not included on the command line).

Running the industry solution installer
You can now run the Industry Solution Installer to deploy files to the correct nodes. Nodes are the target computers on which you will deploy the software.

Parent topic: Installation and configuration

Running the industry solution installer

You can now run the Industry Solution Installer to deploy files to the correct nodes. Nodes are the target computers on which you will deploy the software.

Before you begin

Ensure that you know the following information for each of the nodes that will be used in your solution and that you have opened the necessary ports.

Host name or IP address

Password of the root user ID or a user ID and password that has sudo permissions

About this task

In this task, you create an installation configuration for your solution by dragging nodes onto a canvas and then dragging components into the nodes.

Important: The Industry Solution Installer will run on the latest versions of Chrome and Firefox. It will not run on Internet Explorer and it is untested on Safari.

Procedure

Run the setup shell script setup.sh.

After the solution installer finishes, a browser window should open. If a browser is not installed, a URL will be displayed from which you can connect to the UI. The default URL is https:// solution installer node/UI/Index.html .

Click New Configuration

If you have a configuration that was previously saved, you can start from that.

From the Mandatory Content List pane, select Node.

A visual representation of an empty node is displayed on the canvas.

In the Property Editor, type a name for the node, and in the Host Name box, specify the server on which the node will reside.

For example, you might create a node named BI Node.

Enter a user name for a user with sudo access and a password.

If you click Validate before all the mandatory content is added, a message indicates that the node is not valid. For example, if you validate the BI Node before adding Cognos BI Content, then a message indicates that the node is not yet valid.

From the Optional Content List drag any content that you want to add into the appropriate node. The reason that this content is optional is because you might already have some of the necessary components installed in your environment.

For every node that you want to add content to, define the node and then drag content objects onto it.

Click Validate.

After all nodes are defined, the contents are specified, and each node has been validated, click Run.

Parent topic: The solution installer

Creating the database

Before you can use the IBM Behavior Based Customer Insight for Banking solution, you must create a database.

About this task

You run one script to create the database, and then run another script to populate the database. The installer will have copied the zipped file to your data node computer.

Procedure

Log on to the data node computer as root user.

On the data node computer, if the compressed file is not already decompressed, then decompress it.

Open a terminal window, and go to the directory where the content files were decompressed.

Type the following command to change the permissions for the files: chmod -R 755 *sh

Change to the database instance owner. For example:

su db2inst1

In the uncompressed folder, run the ./Install_DB.sh script.

Do one of the following:

If you want to load the sample data that is provided with the solution, then run the ./Load_Data.sh script.

If you do not want to load the sample data, then run the following SQL commands:

                              INSERT INTO PCIBNK.CASHFLOW_PATTERN_DIMENSION (DESCRIPTION) values
                                 ('Regular Sine');
                                 INSERT INTO PCIBNK.CASHFLOW_PATTERN_DIMENSION (DESCRIPTION) values
                                 ('Paycheck-to-Paycheck');
                                 INSERT INTO PCIBNK.CASHFLOW_PATTERN_DIMENSION (DESCRIPTION) values
                                 ('Lumpy-Bumpy');
                                 INSERT INTO PCIBNK.CASHFLOW_PATTERN_DIMENSION (DESCRIPTION) values
                                 ('Safety First');
                                 INSERT INTO PCIBNK.CASHFLOW_PATTERN_DIMENSION (DESCRIPTION) values
                                 ('Others');

                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION
                                 ANNUAL_INCOME,IMPORTANCE_RATING,LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,
                                 PERFORMANCE_STATUS,POPULATION_DATE,POPULATION_DESCRIPTION,POPULATION_TIME,
                                 PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,
                                 RETENTION_RATING,SATISFACTION_RATING,SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,
                                 UNIQUE_ID_IN_SOURCE_SYSTEM) values(null,null,null,null,null,null,null,null,null,null,
                                 null,null,null,null,null,null,'Home Bodies',null,null,null);
                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION (ANNUAL_INCOME,IMPORTANCE_RATING,
                                 LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,PERFORMANCE_STATUS,POPULATION_DATE,
                                 POPULATION_DESCRIPTION,POPULATION_TIME,PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,
                                 RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,RETENTION_RATING,SATISFACTION_RATING,
                                 SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,UNIQUE_ID_IN_SOURCE_SYSTEM)
                                 values(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
                                 null,'Family Feud',null,null,null);
                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION (ANNUAL_INCOME,IMPORTANCE_RATING,
                                 LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,PERFORMANCE_STATUS,POPULATION_DATE,
                                 POPULATION_DESCRIPTION,POPULATION_TIME,PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,
                                 RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,RETENTION_RATING,SATISFACTION_RATING,
                                 SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,UNIQUE_ID_IN_SOURCE_SYSTEM)
                                 values(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
                                 'Highway Warriors',null,null,null);
                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION (ANNUAL_INCOME,IMPORTANCE_RATING,
                                 LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,PERFORMANCE_STATUS,POPULATION_DATE,
                                 POPULATION_DESCRIPTION,POPULATION_TIME,PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,
                                 RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,RETENTION_RATING,SATISFACTION_RATING,
                                 SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,UNIQUE_ID_IN_SOURCE_SYSTEM)
                                 values(null,null,null,null,null,null,null,null,null,null,null,null,null,null,
                                 null,null,'Easy Going',null,null,null);
                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION (ANNUAL_INCOME,IMPORTANCE_RATING,
                                 LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,PERFORMANCE_STATUS,POPULATION_DATE,
                                 POPULATION_DESCRIPTION,POPULATION_TIME,PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,
                                 RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,RETENTION_RATING,SATISFACTION_RATING,
                                 SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,UNIQUE_ID_IN_SOURCE_SYSTEM)
                                 values(null,null,null,null,null,null,null,null,null,null,null,null,null,
                                 null,null,null,'Stretching Students',null,null,null);
                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION (ANNUAL_INCOME,IMPORTANCE_RATING,
                                 LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,PERFORMANCE_STATUS,POPULATION_DATE,
                                 POPULATION_DESCRIPTION,POPULATION_TIME,PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,
                                 RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,RETENTION_RATING,SATISFACTION_RATING,
                                 SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,UNIQUE_ID_IN_SOURCE_SYSTEM)
                                 values (null,null,null,null,null,null,null,null,null,null,null,null,null,
                                 null,null,null,'High Flyers',null,null,null);
                                 INSERT INTO PCIBNK.CUSTOMER_SEGMENT_MINI_DIMENSION (ANNUAL_INCOME,IMPORTANCE_RATING,
                                 LOYALTY_RATING,MARKET,NET_WORTH,PERFORMANCE_RATING,PERFORMANCE_STATUS,POPULATION_DATE,
                                 POPULATION_DESCRIPTION,POPULATION_TIME,PRIMARY_BRANCH_PROXIMITY,PROFITABILITY,
                                 RELATIONSHIP_AGE,RELATIONSHIP_VALUATION,RETENTION_RATING,SATISFACTION_RATING,
                                 SEGMENT_NAME,SOURCE_SYSTEM_CODE,SOURCE_SYSTEM_NAME,UNIQUE_ID_IN_SOURCE_SYSTEM)
                                 values(null,null,null,null,null,null,null,null,null,null,null,null,null,
                                 null,null,null,'Others',null,null,null);

What to do next

Verify that the tables are created and the data is successfully loaded into the input tables by checking the out.log file, which is in the db2inst1 home directory. In the log file, search for rows were rejected. The value should be zero. If it is not, there are data load issues.

Parent topic: Installation and configuration

Creating and running stored procedures

If, when you created the database for the Behavior Based Customer Insight for Banking solution, you chose not to load the sample data, then you need to run additional commands to create and run stored procedures. If you loaded the sample data, then you do not need to complete this task.

Before you begin

Before running the following commands, save the procedure CASH_FLOW_PATTERN into the CASH_FLOW_PATTERN.sql file and the procedure SEGMENT_SUMMARY_PATTERN into the SEGMENT_SUMMARY_PATTERN.sql file.

Procedure

Complete the following commands:

                     SQL Commands :

                        db2 CONNECT TO <database name>
                        db2 CREATE INDEX IDX_TRANSACTION_FACT_CUSTOMER on PCIBNK.TRANSACTION_FACT
                        (INDIVIDUAL_CUSTOMER_DIMENSION_ID)
                        db2 CREATE INDEX IDX_TRANSACTION_FACT_TRANSACTION_TYPE on PCIBNK.TRANSACTION_FACT
                        (TRANSACTION_TYPE_DIMENSION_ID)
                        db2 CREATE INDEX IDX_TRANSACTION_FACT_TRANSACTION_TIME on PCIBNK.TRANSACTION_FACT
                        (TRANSACTION_TIME_DIMENSION_ID)
                        db2 CREATE INDEX IDX_TRANSACTION_FACT_GEOGRAPHIC_AREA on PCIBNK.TRANSACTION_FACT
                        (GEOGRAPHIC_AREA_DIMENSION_ID)
                        db2 CREATE INDEX IDX_TRANSACTION_FACT_CALENDAR_DATE on PCIBNK.TRANSACTION_FACT
                        (CALENDAR_DATE_DIMENSION_ID)
                        db2 -td@ -svf CASH_FLOW_PATTERN.sql
                        db2 -td@ -svf SEGMENT_SUMMARY_PATTERN.sql
                        db2 call pcibnk.cashFlowPattern
                        db2 call pcibnk.segmentSummaryPattern
                        db2 connect reset
                        db2 terminate

                        CASH_FLOW_PATTERN :

                        CREATE PROCEDURE pcibnk.cashFlowPattern ()
                        BEGIN
                        DECLARE V_CUSTOMER_ID BIGINT;
                        DECLARE V_DATE DATE;
                        DECLARE V_TRANS_TYPE VARCHAR(50);
                        DECLARE V_AMOUNT DECIMAL(20,5);
                        DECLARE V_BALANCE DECIMAL(20,5);
                        DECLARE V_AVG_EXPENSE DECIMAL(20,5);
                        DECLARE V_STD_EXPENSE DECIMAL(20,5);
                        DECLARE V_AVG_CREDITS DECIMAL(20,5);
                        DECLARE V_STD_CREDITS DECIMAL(20,5);
                        DECLARE V_TEMP_DATE1 DATE;
                        DECLARE V_TEMP_DATE2 DATE;
                        DECLARE V_DATE_FLAG BOOLEAN DEFAULT TRUE;
                        DECLARE V_DATE_INTERVAL INTEGER;
                        DECLARE V_AVG_INTERVAL INTEGER;
                        DECLARE V_STD_INTERVAL DECIMAL(10,5);
                        DECLARE V_AVG_FIRSTWEEK_EXPENSE DECIMAL(20,5);
                        DECLARE V_AVG_LASTWEEK_EXPENSE DECIMAL(20,5);
                        DECLARE V_AVG_SAVINGS DECIMAL(20,5);
                        DECLARE V_AVG_SAVING_PERCENTAGE DECIMAL(10,5);

                        DELETE PCIBNK.CASHFLOW_SUMMARY_PATTERN;
                        --CSR1 to get the customer list from customer dimension table
                        --CSR2 to get the Average and Standard Deviation of credits of a customer
                        FOR V1 AS
                        CSR1 CURSOR FOR SELECT INDIVIDUAL_CUSTOMER_DIMENSION_ID from
                        PCIBNK.INDIVIDUAL_CUSTOMER_DIMENSION
                        DO
                        SET V_CUSTOMER_ID=INDIVIDUAL_CUSTOMER_DIMENSION_ID;
                        SET V_DATE_FLAG=TRUE;

                        DELETE PCIBNK.CASHFLOW_SUMMARY_DATE_INTERVAL;
                        FOR V2 AS
                        CSR2 CURSOR FOR select avg(amount) AVG_AMOUNT,stddev(amount) STD_AMOUNT from
                        (select sum(AMOUNT) amount,month(b.calendar_date)
                        from PCIBNK.TRANSACTION_FACT a, PCIBNK.CALENDAR_DATE_DIMENSION b
                        ,PCIBNK.TRANSACTION_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TYPE_DIMENSION_ID=c.TRANSACTION_TYPE_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and amount>0
                        group  by month(b.CALENDAR_DATE))

                        DO
                        SET V_AVG_CREDITS=AVG_AMOUNT;
                        SET V_STD_CREDITS=STD_AMOUNT;

                        END FOR;

                        --CSR1 to get the Average and Standard Deviation of expenses of a customer
                        FOR V3 AS
                        CSR3 CURSOR FOR select avg(amount) AVG_AMOUNT,stddev(amount) STD_AMOUNT from
                        (select sum(AMOUNT)*-1 amount,month(b.calendar_date)
                        from PCIBNK.TRANSACTION_FACT a, PCIBNK.CALENDAR_DATE_DIMENSION b
                        ,PCIBNK.TRANSACTION_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TYPE_DIMENSION_ID=c.TRANSACTION_TYPE_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and amount<0
                        group  by month(b.CALENDAR_DATE))

                        DO
                        SET V_AVG_EXPENSE=AVG_AMOUNT;
                        SET V_STD_EXPENSE=STD_AMOUNT;

                        END FOR;

                        --CSR4 to get the credit intervals
                        FOR V4 AS
                        CSR4 CURSOR FOR select b.calendar_date credit_date
                        from PCIBNK.TRANSACTION_FACT a, PCIBNK.CALENDAR_DATE_DIMENSION b
                        ,PCIBNK.TRANSACTION_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TYPE_DIMENSION_ID=c.TRANSACTION_TYPE_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and amount>0
                        order  by b.CALENDAR_DATE
                        DO
                        IF V_DATE_FLAG=TRUE THEN
                        SET V_TEMP_DATE1=CREDIT_DATE;
                        SET V_DATE_FLAG=FALSE;
                        ELSE
                        SET V_TEMP_DATE2=V_TEMP_DATE1;
                        SET V_TEMP_DATE1=CREDIT_DATE;
                        SET V_DATE_INTERVAL=days(V_TEMP_DATE1)-days(V_TEMP_DATE2);
                        INSERT INTO PCIBNK.CASHFLOW_SUMMARY_DATE_INTERVAL values(V_DATE_INTERVAL);

                        END IF;
                        END FOR;

                        --CSR5 to get the average and standard deviation of credit intervals
                        FOR V5 AS
                        CSR5 CURSOR FOR select avg(INTERVAL) AVG_INTERVAL,stddev(INTERVAL)
                        STD_INTERVAL from PCIBNK.CASHFLOW_SUMMARY_DATE_INTERVAL
                        DO

                        SET V_AVG_INTERVAL=AVG_INTERVAL;
                        SET V_STD_INTERVAL=STD_INTERVAL;

                        END FOR;
                        --CSR6 to get the Average First Week Expense

                        FOR V6 AS
                        CSR6 CURSOR FOR select avg(amount) AVG_AMOUNT from
                        (select sum(AMOUNT)*-1 amount,month(b.calendar_date)
                        from PCIBNK.TRANSACTION_FACT a, PCIBNK.CALENDAR_DATE_DIMENSION b
                        ,PCIBNK.TRANSACTION_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TYPE_DIMENSION_ID=c.TRANSACTION_TYPE_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and day(b.calendar_date) in (1,2,3,4,5,6,7)
                        and amount<0
                        group  by month(b.CALENDAR_DATE))

                        DO

                        SET V_AVG_FIRSTWEEK_EXPENSE=AVG_AMOUNT;
                        END FOR;

                        --CSR6 to get the Average Last Week Expense

                        FOR V6 AS
                        CSR6 CURSOR FOR select avg(amount) AVG_AMOUNT from
                        (select sum(AMOUNT)*-1 amount,month(b.calendar_date)
                        from PCIBNK.TRANSACTION_FACT a, PCIBNK.CALENDAR_DATE_DIMENSION b ,
                        PCIBNK.TRANSACTION_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TYPE_DIMENSION_ID=c.TRANSACTION_TYPE_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and day(b.calendar_date) in (24,25,26,27,28,29,30,31)
                        and amount<0
                        group  by month(b.CALENDAR_DATE))

                        DO

                        SET V_AVG_LASTWEEK_EXPENSE=AVG_AMOUNT;
                        END FOR;

                        INSERT INTO PCIBNK.CASHFLOW_SUMMARY_PATTERN (INDIVIDUAL_CUSTOMER_DIMENSION,
                        INCOME_STD,INCOME_AVG,EXPENSE_STD,EXPENSE_AVG,SAVINGS_AVG,PERCENTAGE_AVG_SAVINGS,
                        EXPENSE_FIRSTWEEK_AVG,EXPENSE_FIRSTWEEK_PERCENTAGE,EXPENSE_LASTWEEK_AVG,
                        EXPENSE_LASTWEEK_PERCENTAGE,CREDIT_INTERVAL_AVG,CREDIT_INTERVAL_STD)
                        VALUES (V_CUSTOMER_ID,V_STD_CREDITS,V_AVG_CREDITS,V_STD_EXPENSE,
                        V_AVG_EXPENSE,V_AVG_CREDITS-V_AVG_EXPENSE,(V_AVG_CREDITS-V_AVG_EXPENSE)/V_AVG_CREDITS,V_AVG_FIRSTWEEK_EXPENSE,
                        V_AVG_FIRSTWEEK_EXPENSE/V_AVG_EXPENSE,V_AVG_LASTWEEK_EXPENSE,V_AVG_LASTWEEK_EXPENSE/V_AVG_EXPENSE,V_AVG_INTERVAL,V_STD_INTERVAL);

                        END FOR;

                        END@

                        SEGMENT_SUMMARY_PATTERN :

                        CREATE PROCEDURE pcibnk.segmentSummaryPattern ()

                        BEGIN
                        DECLARE V_CUSTOMER_ID BIGINT;
                        DECLARE V_TRANSACTION_TYPE VARCHAR(50);
                        DECLARE V_TRANSACTION_TIME VARCHAR(50);
                        DECLARE V_GEOGRAPHIC_AREA VARCHAR(50);
                        DECLARE V_HOME_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_EATING_OUT_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_GAS_FUEL_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_ENTERTAINMENT_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_TRAVEL_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_EDUCATION_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_GROCERIES_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_KIDS_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_DAY_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_NIGHT_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_LOCAL_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_REMOTE_PERCENTAGE DECIMAL(20,5);
                        DECLARE V_SURROUNDING_PERCENTAGE DECIMAL(20,5);

                        DELETE PCIBNK.SEGMENT_SUMMARY_PATTERN;
                        FOR V1 AS
                        CSR1 CURSOR FOR SELECT INDIVIDUAL_CUSTOMER_DIMENSION_ID from
                        PCIBNK.INDIVIDUAL_CUSTOMER_DIMENSION
                        DO
                        SET V_CUSTOMER_ID=INDIVIDUAL_CUSTOMER_DIMENSION_ID;
                        SET V_GEOGRAPHIC_AREA =0.0;
                        SET V_HOME_PERCENTAGE  =0.0;
                        SET V_EATING_OUT_PERCENTAGE  =0.0;
                        SET V_GAS_FUEL_PERCENTAGE  =0.0;
                        SET V_ENTERTAINMENT_PERCENTAGE  =0.0;
                        SET V_TRAVEL_PERCENTAGE =0.0;
                        SET V_EDUCATION_PERCENTAGE =0.0;
                        SET V_GROCERIES_PERCENTAGE =0.0;
                        SET V_KIDS_PERCENTAGE =0.0;
                        SET V_DAY_PERCENTAGE  =0.0;
                        SET V_NIGHT_PERCENTAGE =0.0;
                        SET V_LOCAL_PERCENTAGE  =0.0;
                        SET V_REMOTE_PERCENTAGE  =0.0;
                        SET V_SURROUNDING_PERCENTAGE =0.0;

                        FOR V2 AS
                        CSR2 CURSOR FOR select distinct name,amount*100/total percentage from
                        (select c.name ,sum(amount) over (partition by
                        a.transaction_type_dimension_id) amount, sum(amount) over() total
                        from PCIBNK.TRANSACTION_FACT a,PCIBNK.CALENDAR_DATE_DIMENSION b,
                        PCIBNK.TRANSACTION_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TYPE_DIMENSION_ID=c.TRANSACTION_TYPE_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and amount<0)
                        DO
                        SET V_TRANSACTION_TYPE=name;

                        IF V_TRANSACTION_TYPE='Home' THEN
                        	SET V_HOME_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Eating Out' THEN
                        	SET V_EATING_OUT_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Gas & Fuel' THEN
                        	SET V_GAS_FUEL_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Entertainment' THEN
                        	SET V_ENTERTAINMENT_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Travel' THEN
                        	SET V_TRAVEL_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Education' THEN
                        	SET V_EDUCATION_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Groceries' THEN
                        	SET V_GROCERIES_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TYPE='Kids' THEN
                        	SET V_KIDS_PERCENTAGE=percentage;
                        END IF;

                        END FOR;

                        FOR V3 AS
                        CSR3 CURSOR FOR select distinct description name,
                        amount*100/total percentage from
                        (select c.description ,sum(amount) over (partition by
                        a.transaction_time_dimension_id) amount, sum(amount) over() total
                        from PCIBNK.TRANSACTION_FACT a,PCIBNK.CALENDAR_DATE_DIMENSION b,
                        PCIBNK.TRANSACTION_TIME_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.TRANSACTION_TIME_DIMENSION_ID=c.TRANSACTION_TIME_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and amount<0)
                        DO

                        SET  V_TRANSACTION_TIME=name;
                        IF V_TRANSACTION_TIME='Day' THEN
                        	SET V_DAY_PERCENTAGE=percentage;
                        ELSEIF V_TRANSACTION_TIME='Night' THEN
                        	SET V_NIGHT_PERCENTAGE=percentage;
                        	END IF;

                        END FOR;

                        	FOR V4 As
                        	CSR4 CURSOR FOR select distinct description name ,
                        amount*100/total percentage from
                        (select c.description ,sum(amount) over (partition by
                        a.geographic_area_dimension_id) amount, sum(amount) over() total
                        from PCIBNK.TRANSACTION_FACT a,PCIBNK.CALENDAR_DATE_DIMENSION b,
                        PCIBNK.GEOGRAPHIC_AREA_DIMENSION c
                        where a.CALENDAR_DATE_DIMENSION_ID=b.CALENDAR_DATE_DIMENSION_ID
                        and a.GEOGRAPHIC_AREA_DIMENSION_ID=c.GEOGRAPHIC_AREA_DIMENSION_ID
                        and a.INDIVIDUAL_CUSTOMER_DIMENSION_ID=V_CUSTOMER_ID
                        and b.CALENDAR_DATE > current_date - 6 MONTHS
                        and amount<0)
                        	DO

                        	SET  V_GEOGRAPHIC_AREA=name;
                        IF V_GEOGRAPHIC_AREA='Local' THEN
                        	SET V_LOCAL_PERCENTAGE=percentage;
                        ELSEIF V_GEOGRAPHIC_AREA='Surrounding' THEN
                        	SET V_SURROUNDING_PERCENTAGE=percentage;
                        ELSEIF V_GEOGRAPHIC_AREA='Remote' THEN
                        	SET V_REMOTE_PERCENTAGE=percentage;

                        	END IF;

                        	END FOR;

                        INSERT INTO PCIBNK.SEGMENT_SUMMARY_PATTERN (INDIVIDUAL_CUSTOMER_DIMENSION_ID,
                        HOME_PERCENTAGE,EATING_OUT_PERCENTAGE,GAS_FUEL_PERCENTAGE,
                        ENTERTAINMENT_PERCENTAGE,TRAVEL_PERCENTAGE,EDUCATION_PERCENTAGE,
                        GROCERIES_PERCENTAGE,KIDS_PERCENTAGE,DAY_PERCENTAGE,NIGHT_PERCENTAGE,
                        LOCAL_PERCENTAGE,REMOTE_PERCENTAGE,SURROUNDING_PERCENTAGE)
                        values (V_CUSTOMER_ID,V_HOME_PERCENTAGE,V_EATING_OUT_PERCENTAGE,
                        V_GAS_FUEL_PERCENTAGE,V_ENTERTAINMENT_PERCENTAGE,V_TRAVEL_PERCENTAGE,
                        V_EDUCATION_PERCENTAGE,V_GROCERIES_PERCENTAGE,V_KIDS_PERCENTAGE,
                        V_DAY_PERCENTAGE,V_NIGHT_PERCENTAGE,V_LOCAL_PERCENTAGE,
                        V_REMOTE_PERCENTAGE,V_SURROUNDING_PERCENTAGE);

                        END FOR;

                        END@

Parent topic: Installation and configuration

Importing IBM SPSS project streams, models, and rules

IBM SPSS project streams, models, rules, and other artifacts are contained in a repository export file (.pes) for the IBM Behavior Based Customer Insight for Banking solution. If you want to modify or view these artifacts, you must copy the export file to the computer where IBM SPSS Collaboration and Deployment Services Deployment Manager is installed, and open the file.

Procedure

Copy the .pes file to the computer where IBM SPSS Collaboration and Deployment Services Deployment Manager is installed.

In IBM SPSS Collaboration and Deployment Service Deployment Manager, right-click Content Repository, and click Import.

Browse to the .pes file

Select the following options:

Resolve conflicts globally

Add new version of target item or rename source item, Use labels from source.

Continue import even if some objects cannot be imported due to locking conflicts.

Resolve Invalid Version Conflicts, Import.

Resource Definitions, Recommended - Import if there are no Duplicate ID conflicts or Duplicate Name conflicts.

Click OK.

Under Resource definitions / Credentials, create a new credential named IBMPCIBNK.

Under Resource definitions / Data Sources, create a new datasource named IBMPCIBNK.

After the .pes file is imported to the CnDS, open the job and click on the step listed in the job.

Make sure that Modeler Server and Modeler Login fields are set to the correct definitions.

Click the ODBC Data Sources tab, and make sure that ODBC DSN and credentials are set to the newly created data source and credential.

Results

Content folders and resource definitions are added to the repository alongside any existing content.

Parent topic: Installation and configuration

Configuring the data view for IBM SPSS models

To configure the data view, IBM® SPSS® Modeler must be connected to the IBM Behavior Based Customer Insight for Banking database through an ODBC data source connection.

If your IBM Predictive Customer Intelligence environment uses the IBM SPSS Modeler client logged in to a Modeler server, perform the steps on the Predictive Analytics node computer (where IBM SPSS Modeler Server is installed).

If your IBM Predictive Customer Intelligence environment uses the IBM SPSS Modeler Client in a stand-alone environment, perform the steps on the client computer where IBM SPSS Modeler client is installed.

The Behavior Based Customer Insight for Banking solution uses the Analytic Data View and JDBC source connections for accessing IBM Analytical Decision Manager. When the Behavior Based Customer Insight for Banking files are imported through IBM SPSS Collaboration and Deployment Services Deployment Manager, a new version of the Enterprise View is created that contains the tables for the application.

Procedure

Catalog the database on the client computer.

Click Start > IBM DB2 > DB2COPY1 (Default) > DB2 Command Window - Administrator .

Enter the following command to catalog the database node:

                              db2 catalog tcpip node
                                 NODE_NAME remote
                                 data_node_name server
                                 PORT_NUMBER

NODE_NAME can be any value. PORT_NUMBER is 50000 by default.

Enter the following command to catalog the PCI database:

                              db2 catalog database
                                 BANKING
                                 WEALTH at node
                                 NODE_NAME authentication server

You must use the same node_name that you used in the db2 catalog database command.

Create an ODBC DSN to point to the Behavior Based Customer Insight for Banking database. The database account that is provided in the ODBC connection must be the same user that was used for creating the tables.

In the Deployment Manager client, under Resource Definitions, Credentials, open the db2admin credentials and update the user ID and password to the DB2® administrator account of the data node computer.

Parent topic: Installation and configuration

Configuring ODBC for IBM SPSS Modeler Server

To use an ODBC data source with IBM® SPSS® Modeler Server on a Linux operating system, you must configure the environment.

Procedure

Stop the IBM SPSS Modeler Server.

Go to the /root/SDAP71 directory.

The driver files are installed as part of the Behavior Based Customer Insight for Banking Server deployment.

Run the setodbcpath.sh script to update the ODBC path in the scripts.

Edit the odbc.sh script to add the definition for ODBCINI to the bottom of the script. For example:

                        ODBCINI=/usr/spss/odbc/odbc.ini; export ODBCINI

ODBCINI must point to the full file path of the odbc.ini file for IBM SPSS Modeler. The odbc.ini file lists the ODBC data sources that you want to connect to. A default odbc.ini file is installed with the drivers.

In the odbc.ini file, add the data source and specify the driver in the [ODBC Data Sources] section of the file.

For example, add the data source as:

                        [ODBC Data Sources]
                           BANKING=IBM DB2 ODBC Driver

In the odbc.ini file, create an ODBC data source connection for the industry accelerator database.

For example, include the following content:

                        [BANKING]
                           Driver=/opt/ibm/db2/V10.1/lib64/libdb2o.so
                           DriverUnicodeType=1
                           Description=IBM DB2 ODBC Driver
                           ApplicationUsingThreads=1
                           AuthenticationMethod=0
                           BulkBinaryThreshold=32
                           BulkCharacterThreshold=-1
                           BulkLoadBatchSize=1024
                           CharsetFor65535=0
                           #Database applies to DB2 UDB only
                           Database=BANKING
                           DefaultIsolationLevel=1
                           DynamicSections=200
                           EnableBulkLoad=0
                           EncryptionMethod=0
                           FailoverGranularity=0
                           FailoverMode=0
                           FailoverPreconnect=0
                           GrantAuthid=PUBLIC
                           GrantExecute=1
                           GSSClient=native
                           HostNameInCertificate=
                           IpAddress=
                           IP_Address_of_DB_server
                           KeyPassword=
                           KeyStore=
                           KeyStorePassword=
                           LoadBalanceTimeout=0
                           LoadBalancing=0
                           LogonID=db2inst1
                           MaxPoolSize=100
                           MinPoolSize=0
                           Password=
                           password
                           PackageCollection=NULLID
                           PackageNamePrefix=DD
                           PackageOwner=
                           Pooling=0
                           ProgramID=
                           QueryTimeout=0
                           ReportCodePageConversionErrors=0
                           TcpPort=50000
                           TrustStore=
                           TrustStorePassword=
                           UseCurrentSchema=0
                           ValidateServerCertificate=1
                           WithHold=1
                           XMLDescribeType=-10

Important: You must use the driver library libdb2o.so with IBM SPSS Modeler.

Ensure that you set DriverUnicodeType=1 to avoid buffer overflow errors when you connect to the database.

If you are using the 64-bit version of IBM SPSS Modeler Server, define and export LD_LIBRARY_PATH_64 in the odbc.sh script:

                        if [ "$LD_LIBRARY_PATH_64" = "" ]; then
                           LD_LIBRARY_PATH_64=<
                           library_path>
                           else
                           LD_LIBRARY_PATH_64=<
                           library_path>:$LD_LIBRARY_PATH_64
                           fi
                           export LD_LIBRARY_PATH_64

Where < library_path> is the same as for the LD_LIBRARY_PATH definition in the script that was initialized with the installation path. For example, /usr/spss/odbc/lib.

Tip: You can copy the if and export statements for LD_LIBRARY_PATH in the odbc.sh file, append them to the end of the file. Then, replace the LD_LIBRARY_PATH strings in the newly appended if and export statements with LD_LIBRARY_PATH_64. Here is an example of the odbc.sh file for a 64-bit IBM SPSS Modeler Server installation:

                           if [ "$LD_LIBRARY_PATH" = "" ]; then
                              		LD_LIBRARY_PATH=/usr/spss/odbc/lib
                              else
                              		LD_LIBRARY_PATH=/usr/spss/odbc/lib:$LD_LIBRARY_PATH
                              fi
                              export LD_LIBRARY_PATH
                              if [ "$LD_LIBRARY_PATH_64" = "" ]; then
                              		LD_LIBRARY_PATH_64=/usr/spss/odbc/lib
                              else
                              		LD_LIBRARY_PATH_64=/usr/spss/odbc/lib:$LD_LIBRARY_PATH_64
                              fi
                              export LD_LIBRARY_PATH_64
                              ODBCINI=/usr/spss/odbc/odbc.ini; export ODBCINI

Ensure that you export LD_LIBRARY_PATH_64, and define it with the if loop.

Configure IBM SPSS Modeler Server to use the driver. Edit modelersrv.sh and add the following line immediately below the line that defines SCLEMDNAME:

                        . <
                           odbc.sh_path>

Where odbc.sh_path is the full path to the odbc.sh file.

For example: . /usr/spss/odbc/odbc.sh

Ensure that you leave a space between the first period and the file path.

Save modelersrv.sh.

Configure the IBM SPSS Modeler Server to use the ODBC wrapper named libspssodbc_datadirect.so.

Go to the /usr/IBM/SPSS/ModelerServer/16.0/bin directory.

Remove the existing libspssodbc.so soft link by using the following command:

                              rm –fr libspssodbc.so

Link the new wrapper to libspssodbc.so by using the following command:

                              ln –s libspssodbc_datadirect_utf16.so libspssodbc.so

Configure the db2cli.ini file in <db2 instance home> /sqllib/cfg/db2cli.ini to add the sections for each database.

                        [BANKING]
                           Database=BANKING
                           Protocol=TCPIP
                           DriverUnicodeType=1
                           Port=50000
                           Hostname=
                           ip or
                           hostname
                           UID=
                           username
                           PWD=
                           password

Save the odbc.ini file.

What to do next

To test the connection, do the following steps:

Restart IBM SPSS Modeler Server.

Connect to IBM SPSS Modeler Server from a client.

Add a database source node to the canvas.

Open the node and verify that you can see the data source names that you defined in the odbc.ini file.

For additional information and troubleshooting tips for connecting to data sources, see the SPSS Modeler documentation (www.ibm.com/support/knowledgecenter/SS3RA7_16.0.0)

Parent topic: Installation and configuration

Deploying the IBM Cognos content

For IBM Cognos Business Intelligence, you must catalog the database, create a data source connection, and then deploy the content files for the IBM Behavior Based Customer Insight for Banking solution.

Preparing the IBM Cognos content
You must move the IBM® Cognos® Framework Manager content for the IBM Behavior Based Customer Insight for Banking solution to the Cognos Deployment folder.

Creating a data source connection to the database
You must create a data source connection to the Behavior Based Customer Insight for Banking database.

Deploying dynamic cubes for the sample data
If you choose to use the sample data for the Behavior Based Customer Insight for Banking solution, you must deploy the dynamic cubes.

Deploying the IBM Cognos reports
You must deploy the Behavior Based Customer Insight for Banking reports using IBM Cognos Administration.

Parent topic: Installation and configuration

Preparing the IBM Cognos content

You must move the IBM® Cognos® Framework Manager content for the IBM Behavior Based Customer Insight for Banking solution to the Cognos Deployment folder.

The Solution installer only supports copying content to Linux nodes. If you are modifying the Framework Manager model, it must be copied to a Windows computer. Instructions for doing this by using the browser’s download capabilities are included in the SolutionInstaller > NodeRoot > Downloads > IS_<Solution_Name>_1.0 folder, in a file called IS_<SolutionName>_1.0_ClientDeployment Files.txt.

Procedure

Copy the IBM Cognos Framework Manager model file from the computer where you deployed the application to the computer where you installed IBM Cognos Framework Manager, and decompress the file.

The Framework Manager file is named \BI\Banking_CustomerInsight_CD.fmd .

If you want to edit the Framework Manager models, you must catalog the Behavior Based Customer Insight for Banking database on the computer where Framework Manager is installed.

Click Start > IBM DB2 > DB2COPY1 (Default) > DB2 Command Window - Administrator.

Enter the following command to catalog the database node: db2 catalog tcpip node NODE_NAME remote data_node_name server PORT_NUMBER NODE_NAME can be any value. PORT_NUMBER is 50000 by default.

Enter the following command to catalog the PCI database:

db2 catalog database BANKING at node NODE_NAME authentication server.

You must use the same node_name that you used in the DB2 catalog database command.

Download IBM Cognos Business Intelligence Cube Designer software from Passport Advantage. Cube Designer requires Framework manager to be installed on the same node as well. Please ensure the same.

Go to the location where the installation files were downloaded and extracted and then double-click the issetup.exe file.

Select the language to use for the installation. The language that you select determines the language of the user interface. All supported languages are installed. You can change the user interface to any of the installed languages after installation.

On the Installation Location panel, select the location where Framework Manager is installed.

Accept the defaults on the Component Selection page.

Follow the directions in the installation wizard to copy the required files to your computer.

If you are installing in a directory that contains other IBM Cognos Business Intelligence components, you are prompted to create backup copies of the files that will be replaced.

In the Finish page of the installation wizard, complete the following steps:

If you want to see the log files, click View for the appropriate log file.

If you want to see late-breaking information about the product, select the check box for IBM Cognos Release Notes.

Click Finish.

After installation is complete, open Cube Designer from Start > All Programs.

From Cube Designer, import the new project and import the Banking_CustomerInsight_CD.fmd file.

You can now access the cubes within the package.

Right-click a cube and publish the cubes to the Cognos BI environment.

Parent topic: Deploying the IBM Cognos content

Creating a data source connection to the database

You must create a data source connection to the Behavior Based Customer Insight for Banking database.

Procedure

Open a web browser.

Go to the IBM® Cognos® BI portal URL.

For example, go to http://bi_node_name/ibmcognos/.

On the Welcome page, click Administer IBM Cognos Content .

Click the Configuration tab, and click Data Source Connections .

Click the New Data Source button .

In the Name box, type BANKING, and then click Next.

In the connection page, select IBM DB2, ensure that Configure JDBC connection is selected, and click Next.

In the DB2 database name field, type BANKING.

Leave DB2 connect string blank.

Under Signons, select both Password and Create a signon that the Everyone group can use, and then type the user ID and password for the DB2® instance owner user that you used to create the database, and click Next.

Tip: To test whether the parameters are correct, click Test the connection . After you test the connection, click OK to return to the connection page.

In the Server name box, enter the name or IP address of your data node computer.

In the Port number box, enter the DB2 port number. The default is 50000.

In Database name, type BANKING.

Tip: To test whether the parameters are correct, click Test the connection . After you test the connection, click OK to return to the connection page.

Click Finish.

Parent topic: Deploying the IBM Cognos content

Deploying dynamic cubes for the sample data

If you choose to use the sample data for the Behavior Based Customer Insight for Banking solution, you must deploy the dynamic cubes.

Before you begin

You must create a data source connection to the database that contains the data completing the steps in the following link:

Creating a data source in the Cognos Administration portal

Procedure

Add the dispatcher and gateway information of the computer in which the data source is created to the Cognos configuration of the local system from which cubes will be published. This is the computer on which the cube designer is installed.

The dispatcher and gateway URI are shown below:

Gateway URI: http://localhost:80/ibmcognos/cgi-bin/cognos.cgi

Dispatcher URI: http://localhost:9080/p2pd/servlet/dispatch

Open IBM Cognos Cube Designer and click Open Existing to load the .fmd file.

In Cognos Cube Designer, click the data source to display the Properties window.

Change the Content Manager Data Source to the name of the data source connection created in Cognos server, and change the schema name to the name under which data objects are created.

Right-click the data source and refresh the metadata.

To publish the cubes, right-click a cube that you want to publish. The list of cubes to choose from will appear as shown below.

Click Publish > Addition Options > Select all options .

The cube will be published to the Cognos server.

If an error message is encountered while publishing the cube, check the log under the following path on the computer in which Cognos is installed:

C:\Program Files\IBM\cognos\c10_64\logs\XQE

Open the latest log file with a file name starting with xqelog followed by a date and time stamp. The error message in the log will look similar to the following message:

Check the status of the cube in Cognos Administration under Data Sources . If the cube status is Available, then the cube is successfully published and running.

If the cube status indicates an unknown state, right-click the drop-down menu next to the cube, select Add data store to server group, and republish the cube from Cognos Cube Designer.

Parent topic: Deploying the IBM Cognos content

Deploying the IBM Cognos reports

You must deploy the Behavior Based Customer Insight for Banking reports using IBM® Cognos® Administration.

Procedure

Open a web browser.

Go to the IBM Cognos BI portal URL.

On the Welcome page, click Administer IBM Cognos Content .

On the Configuration tab, click Content Administration .

On the toolbar, click the New Import button.

In the Deployment Archive pane, select deployment archive, and click Next.

The deployment archive is named ChangeTheVarFileWithTheRightName .

In the Specify a name and description pane, accept the default or enter a new name, and click Next.

In the Select the public folders and directory content pane, select all of the packages in the table, leave the Options as default, and click Next.

Note: Ensure that the Disable after import option is cleared.

In the Specify the general options pane, accept the defaults, and click Next.

On the Review the summary page, click Next.

On the Select an action page, select Save and run once , and click Finish.

On the Run with options page, accept the defaults, and click Run, and then click OK.

Select View the details of this import after closing this dialog and click OK.

In IBM Cognos Administration, click the Home button.

The Behavior Based Customer Insight for Banking content is available in Public Folders > Banking_CustomerInsight_BIContent .

Rave libraries are also available as part of the solution. They are packaged in the Banking_CustomerInsight_Rave.zip file.

Go to the IBM Cognos BI portal URL. For example, go to http://bi_node_name/ibmcognos/.

On the Welcome page, click Administer IBM Cognos Content.

On the libraries tab, click the Import button .

Select the Banking_CustomerInsight_Rave.zip file, and click Import.

Parent topic: Deploying the IBM Cognos content

Installing the EAR file

The EAR file contains the REST APIs that allow you to embed the IBM Behavior Based Customer Insight for Banking solution in your existing system.

Procedure

Log in to the WebSphere Application Server Network Deployment administrative console.

Load the IS_Banking_Solution_EAR.ear file into one of the Websphere Application Server nodes, either the BI node or the Analytics node.

Install the application through WebSphere Application Server.

Click the Applications link, and then click Install New Application .

From the Specify the EAR, WAR, JAR, or SAR module to upload and installpage, select Local file system, and then browse to the location on your system of the EAR file.

Start the installed application, IS_Banking.

Parent topic: Installation and configuration

Using the Behavior Based Customer Insight for Banking solution

The solution provides reporting and dashboard templates and sample predictive models.

The following analytics reports are available:

Home page, which divides customers into segments depending on the data and shows the segment distribution.

Segmentation details, which provides spending details for each segment.

Predicted overdraft, which ranks customers from the selected segment in terms of the risk of overdraft.

Customer details, which provides details for an individual customer.

Customer detail view, which is a report that is provided to the customer.

Predicting overdraft
This example, which is fictitious, shows how the solution can be used to predict the probability of overdraft by a client so that the overdraft event can be avoided.

Predicting overdraft

This example, which is fictitious, shows how the solution can be used to predict the probability of overdraft by a client so that the overdraft event can be avoided.

An account manager at the bank, Teresa, wants to determine which clients are at risk of going into overdraft so that she can help them avoid the cost and inconvenience of that event.

Teresa brings up the home page, shown below, to determine which segments of clients are most at risk of overdraft.

The dashboard shows Teresa that the Road Warrior segment is a segment with a high propensity for overdraft. From the pie chart, she selects the Road Warrior segment, and details for that segment are displayed in the dashboard. Teresa, clicks Overdraft to display the following dashboard. It provides a list of clients in the Road Warrior segment that have the highest propensity to go into overdraft along with details of their spending behavior.

Teresa selects the client Macaulay Tucker, and the following dashboard is displayed. It provides predictions of when Macaulay is likely to go into overdraft. Teresa uses this information to determine what products and services might help Macaulay to avoid going into overdraft.

A page is sent to Macaulay that alerts him to the probability of an overdraft. It provides him with suggestions for products or services that will help him to avoid this situation. It also makes Macaulay aware of where he is spending his money and how he compares to his peers with regard to spending and financial products.

Macaulay appreciates being warned about the risk of overdraft and contacts Teresa to register for a line of credit.

Parent topic: Using the Behavior Based Customer Insight for Banking solution

Accessibility features

Accessibility features help users who have a physical disability, such as restricted mobility or limited vision, to use information technology products.

For information about the commitment that IBM has to accessibility, see the IBM Accessibility Center (www.ibm.com/able).

IBM Cognos HTML documentation has accessibility features. PDF documents are supplemental and, as such, include no added accessibility features.

Report output

In IBM Cognos Administration, you can enable system-wide settings to create accessible report output. For more information, see the IBM Cognos Business Intelligence Administration and Security Guide . In IBM Cognos Report Studio, you can enable settings to create accessible output for individual reports. For more information, see the IBM Cognos Report Studio User Guide . You can access the previously mentioned documents at IBM Knowledge Center (http://www.ibm.com/support/knowledgecenter).

Troubleshooting

This section contains troubleshooting information for the Behavior Based Customer Insight for Banking installation.

Troubleshooting a problem
Troubleshooting is a systematic approach to solving a problem. The goal of troubleshooting is to determine why something does not work as expected and how to resolve the problem.

After running the solution installer, Chef processes are still running after executing the cleanup.sh script
After running the cleanup.sh script on the solution installer node, all chef processes should be terminated. However, in some cases chef processes are still running.

Customer View report shows blank Cashflow or old data
The data in the transaction table includes the last 10 transactions in April. Sample data provided is current up to April 2015.

Troubleshooting a problem

Troubleshooting is a systematic approach to solving a problem. The goal of troubleshooting is to determine why something does not work as expected and how to resolve the problem.

Review the following table to help you or customer support resolve a problem.

Table 1. Troubleshooting actions and descriptions .

Actions | Description
A product fix might be available to resolve your problem. | Apply all known fix packs, or service levels, or program temporary fixes (PTF).
Look up error messages by selecting the product from the IBM Support Portal, and then typing the error message code into the Search support box (http://www.ibm.com/ support/entry/portal/). | Error messages give important information to help you identify the component that is causing the problem.
Reproduce the problem to ensure that it is not just a simple error. | If samples are available with the product, you might try to reproduce the problem by using the sample data.
Ensure that the installation successfully finished. | The installation location must contain the appropriate file structure and the file permissions. For example, if the product requires write access to log files, ensure that the directory has the correct permission.
Review all relevant documentation, including release notes, technotes, and proven practices documentation. | Search the IBM Knowledge Center to determine whether your problem is known, has a workaround, or if it is already resolved and documented.
Review recent changes in your computing environment. | Sometimes installing new software might cause compatibility issues.

If the items in the table did not guide you to a resolution, you might need to collect diagnostic data. This data is necessary for an IBM® technical-support representative to effectively troubleshoot and assist you in resolving the problem. You can also collect diagnostic data and analyze it yourself.

Troubleshooting resources
Troubleshooting resources are sources of information that can help you resolve a problem that you are having with an IBM product.

Parent topic: Troubleshooting

Troubleshooting resources

Troubleshooting resources are sources of information that can help you resolve a problem that you are having with an IBM® product.

Support Portal

The IBM Support Portal is a unified, centralized view of all technical support tools and information for all IBM systems, software, and services.

The IBM Support Portal lets you access all the IBM support resources from one place. You can tailor the pages to focus on the information and resources that you need for problem prevention and faster problem resolution. Familiarize yourself with the IBM Support Portal by viewing the demo videos (https://www.ibm.com/blogs/SPNA/entry/the_ibm_support_portal_videos).

Find the content that you need by selecting your products from the IBM Support Portal (http://www.ibm.com/support/entry/portal).

Before contacting IBM Support, you will need to collect diagnostic data (system information, symptoms, log files, traces, and so on) that is required to resolve a problem. Gathering this information will help to familiarize you with the troubleshooting process and save you time.

Service request

Service requests are also known as Problem Management Reports (PMRs). Several methods exist to submit diagnostic information to IBM Software Technical Support.

To open a PMR or to exchange information with technical support, view the IBM Software Support Exchanging information with Technical Support page (http://www.ibm.com/software/support/exchangeinfo.html).

Fix Central

Fix Central provides fixes and updates for your system's software, hardware, and operating system.

Use the pull-down menu to navigate to your product fixes on Fix Central (http://www.ibm.com/systems/support/fixes/en/fixcentral/help/getstarted.html). You may also want to view Fix Central help.

IBM developerWorks

IBM developerWorks® provides verified technical information in specific technology environments.

As a troubleshooting resource, developerWorks provides easy access to the most popular practices, in addition to videos and other information: developerWorks (http://www.ibm.com/developerworks).

IBM Redbooks

IBM Redbooks® are developed and published by the IBM International Technical Support Organization, the ITSO.

IBM Redbooks (http://www.redbooks.ibm.com) provide in-depth guidance about such topics as installation and configuration and solution implementation.

Software support and RSS feeds

IBM Software Support RSS feeds are a quick, easy, and lightweight format for monitoring new content added to websites.

After you download an RSS reader or browser plug-in, you can subscribe to IBM product feeds at IBM Software Support RSS feeds (https://www.ibm.com/software/support/rss).

Log files

Log files can help you troubleshoot problems by recording the activities that take place when you work with a product.

Error messages

The first indication of a problem is often an error message. Error messages contain information that can be helpful in determining the cause of a problem.

Parent topic: Troubleshooting a problem

After running the solution installer, Chef processes are still running after executing the cleanup.sh script

After running the cleanup.sh script on the solution installer node, all chef processes should be terminated. However, in some cases chef processes are still running.

If you try to run the solution installer setup.sh file again, you may receive a message indicating that required ports are in use, or creation of the chef user might fail.

The solution to this issue is to reboot the installation node after having run "cleanup.sh".

Note: This only applies to the solution installer node and not the client/target nodes.

Parent topic: Troubleshooting

Customer View report shows blank Cashflow or old data

The data in the transaction table includes the last 10 transactions in April. Sample data provided is current up to April 2015.

The Cashflow report displays the current month. Since the data only extends to April 2015, this table will not show any data until it is populated with data from the current month.

Parent topic: Troubleshooting

Client data ingestion: SPSS streams

The IBM solution works with IBM Predictive Customer Insight.

Two SPSS streams are provided that enable the client to ingest data into the solution database. The client data in a predefined Comma Separated Value (CSV) file format is provided to the stream as input, and the stream extracts the data from the CSV file and inserts the records into relevant tables in the solution database. The client data can be of the following types:

Customer demographic details (including contact information)

Customer transactions data

There are two separate streams for each of the above types of data.

Purpose of the SPSS streams
The SPSS streams act as an important ETL process between the client data and the solution database.

CSV formats
This section provides the CSV formats for both customers and transactions.

Prerequisites for the ETL streams
There are no prerequisites for the Banking Customer ETL stream. However, there are prerequisites for the Banking Transaction ETL stream.

End result of using the ETL streams
This page illustrates the results of the ETL streams.

Purpose of the SPSS streams

The SPSS streams act as an important ETL process between the client data and the solution database.

They perform the following operations:

Extract raw client data from the CSV files

Transform data according to the solution needs (such as eliminating the unwanted spaces)

Filter the transformed data and load it into relevant tables in the solution database

By using the streams, clients can easily ingest large sets of data related to customers and their transactions.

The following two streams are provided:

Banking Customer ETL – Customer demographic details (including contact information)

Banking Transaction ETL - Customer transactions data

Parent topic: Client data ingestion: SPSS streams

CSV formats

This section provides the CSV formats for both customers and transactions.

Important: In the following CSV files, you must replace the NULL values by default values for the streams to work correctly.

Format for the CSV file input to the Banking Customer ETL

                     "CITY","COUNTRY","EMAIL","POSTCODE_AREA","STATE","STREET","FULL_TELEPHONE_NUMBER",
                        "BIRTH_DATE","FULL_NAME","PHOTO","MARITAL_STATUS","EDUCATION"

                     CITY > city where the customer lives
                        COUNTRY > country where the customer lives
                        EMAIL > customer's email address
                        POSTCODE_AREA > postal code of the area where the customer lives
                        STATE > state where the customer lives
                        STREET > street address where the customer lives
                        FULL_TELEPHONE_NUMBER > customer's telephone number
                        BIRTH_DATE > customer's date of birth
                        FULL_NAME > customer's full name
                        PHOTO > Link to the customer's photo (URL)
                        MARITAL_STATUS > customer's marital status
                        EDUCATION > customer's most recently completed education

Sample CSV file for customers

                     "CITY","COUNTRY","EMAIL","POSTCODE_AREA","STATE","STREET","FULL_TELEPHONE_NUMBER",
                        "BIRTH_DATE","FULL_NAME","PHOTO","MARITAL_STATUS","EDUCATION"

                     "Boston","US","vereen@yahoo.com","04017","MA","11 smith street","8572055850",
                        "1989-04-11","Shane Vereen","http://hostname/ibmcognos/samples/images/Customer/148.png",
                        "Married","Graduate"

Format for the CSV file input to the Banking Transaction ETL

                     "CALENDAR_DATE","NAME","FULL_NAME","BIRTH_DATE","PHOTO","MARITAL_STATUS","EDUCATION",
                        "DESCRIPTION","NAME","AMOUNT","DESCRIPTION","BALANCE","DESCRIPTION"

Notice that in the above format, there are two instances of "NAME" and three instances of "DESCRIPTION".

The first instance of "NAME" relates to the channel name.

The second instance of “NAME” relates to the transaction type name. In the stream, this is referred as NAME(1).

The first instance of “DESCRIPTION” relates to the geographic area description.

The second instance of “DESCRIPTION” relates to transaction time description. In the stream, this is referred as DESCRIPTION(1).

The third instance of “DESCRIPTION” relates to the cash flow description. In the stream, this is referred as DESCRIPTION(2).

                     CALENDAR_DATE > date of the transaction
                        AMOUNT > transaction amount
                        BALANCE > Current statement balance (after the transaction was made)
                        BIRTH_DATE > customer's date of birth
                        FULL_NAME > customer's full name
                        PHOTO > Link to the customer's photo (URL)
                        MARITAL_STATUS > customer's marital status
                        EDUCATION > customer's most recently completed education

Sample CSV file (transactions)

In the following sample there are three transactions related to the customer provided in the customer's CSV file above.

                     "CALENDAR_DATE","NAME","FULL_NAME","BIRTH_DATE","PHOTO","MARITAL_STATUS","EDUCATION",
                        "DESCRIPTION","NAME","AMOUNT","DESCRIPTION","BALANCE","DESCRIPTION"

                     "2014-06-20","Online","Shane Vereen","1989-04-11",
                        "http://hostname/ibmcognos/samples/images/Customer/148.png","Married",
                        "Graduate","Remote","Shopping","-79.00000","Day","19851.40757","Regular Sine"

                     "2014-06-22","Online","Shane Vereen","1989-04-11",
                        "http://hostname/ibmcognos/samples/images/Customer/148.png",
                        "Married","Graduate","Remote","Shopping","-777.00000","Day","19074.40757","Regular Sine"

                     "2014-06-27","Online","Shane Vereen","1989-04-11",
                        "http://hostname/ibmcognos/samples/images/Customer/148.png","Married",
                        "Graduate","Remote","Shopping","-200.00000","Day","18874.40757","Regular Sine"

Parent topic: Client data ingestion: SPSS streams

Prerequisites for the ETL streams

There are no prerequisites for the Banking Customer ETL stream. However, there are prerequisites for the Banking Transaction ETL stream.

The following perquisites are required for the Banking Transaction ETL to work:

The Banking Customer ETL stream must be run first to load the customer details into the INDIVIDUAL_CUSTOMER_DIMENSION table. This is because the Banking Transaction ETL stream uses this table to establish relationship between the customer and his transactions.

Each customer is identified by a distinct key: (FULL_NAME, BIRTH_DATE, PHOTO, MARITAL_STATUS, EDUCATION) . A combination of all these values would uniquely identify a customer. Using this key as a reference, only transactions related to the customers that are loaded through the Banking Customer ETL stream must be provided in the CSV input file for the Banking Transaction ETL stream.

The CALENDAR_DATE provided in the CSV input file must be present in the CALENDAR_DATE_DIMENSION table of the banking solution database.

The channel name (NAME) provided in the CSV input file must be present in the CHANNEL_DIMENSION table of the banking solution database.

The transaction type name (NAME(1)) provided in the CSV input file must be present in the TRANSACTION_DIMENSION table of the banking solution database.

The geographic area description (DESCRIPTION) provided in the CSV input file must be present in the GEOGRAPHIC_AREA_DIMENSION table of the banking solution database.

The transaction time description (DESCRIPTION(1)) provided in the CSV input file must be present in the TRANSACTION_TIME_DIMENSION table of the banking solution database.

The cash flow description (DESCRIPTION(2)) provided in the CSV input file must be present in the CASHFLOW_PATTERN_DIMENSION table of banking solution database.

Parent topic: Client data ingestion: SPSS streams

End result of using the ETL streams

This page illustrates the results of the ETL streams.

Banking Customer ETL

The stream, shown in the following image, filters and loads the input data from the CSV file.

"BIRTH_DATE","FULL_NAME","PHOTO","MARITAL_STATUS","EDUCATION" are inserted into the INDIVIDUAL_CUSTOMER_DIMENSION table. The combination of all these columns forms a distinct key that identifies a particular customer.

"CITY","COUNTRY","EMAIL","POSTCODE_AREA","STATE","STREET","FULL_TELEPHONE_NUMBER" are inserted into the CONTACT_INFORMATION_DIMENSION table. The combination of all these columns forms a distinct key that identifies a particular contact. After that, the stream establishes a relationship between a customer and his contacts. This relationship information is stored in the INVOLVED_PARTY_CONTACT_INFORMATION_BRIDGE table. In total, three tables ( INDIVIDUAL_CUSTOMER_DIMENSION, CONTACT_INFORMATION_DIMENSION and INVOLVED_PARTY_CONTACT_INFORMATION_BRIDGE) are populated as a result of running this stream.

Banking Transaction ETL

The stream, shown in the following image, filters and loads the input data from the CSV file.

The stream performs the following steps:

Merges the data from the transactions csv file with the CALENDAR_DATE_DIMENSION table using the CALENDAR_DATE field and picks up the corresponding CALENDAR_DATE_DIMENSION_IDs.

Merges the data from the transactions csv file with the CHANNEL_DIMENSION table using the NAME field and picks up the corresponding CHANNEL_DIMENSION_IDs.

Merges the data from the transactions csv file with the GEOGRAPHIC_AREA_DIMENSION table using the DESCRIPTION field and picks up the corresponding GEOGRAPHIC_AREA_DIMENSION_IDs.

Merges the data from the transactions csv file with the TRANSACTION_DIMENSION table using the NAME field and picks up the corresponding TRANSACTION_DIMENSION_IDs.

Merges the data from the transactions csv file with the TRANSACTION_TIME_DIMENSION table using the DESCRIPTION field and picks up the corresponding TRANSACTION_TIME_DIMENSION_IDs.

Merges the data from the transactions csv file with the INDIVIDUAL_CUSTOMER_DIMENSION table using the key: ( FULL_NAME, BIRTH_DATE, PHOTO, MARITAL_STATUS, EDUCATION ) and picks up the corresponding INDIVIDUAL_CUSTOMER_DIMENSION_IDs.

Finally, it inserts the above primary keys along with the corresponding AMOUNT and BALANCE fields into the TRANSACTION_FACT table as a result of running this stream.

Parent topic: Client data ingestion: SPSS streams

JDBC connection to WebSphere Application Server

The IBM® Behavior Based Customer Insight for Banking solution provides a set of RESTful APIs to allow you to create applications to programmatically execute operations. If you're using Websphere Application Server as your database, you must set up a JDBC connection to the server. The provided instructions and procedures are based on WAS v8.5.5.

To set up your JDBC connection, you must complete the following tasks, in order:

Configure the JDBC provider

Create an authentication alias

Configure the JDBC data source

Configure the JDBC provider

In this section, you'll set up the DB2 using IBM J2CC Driver (XA) for your JDBC connection.

Log in to the WebSphere Application Server console.

Navigate to the JDBC providers section.

If you already have the DB2 Using IBM J2CC Driver (XA) setup, proceed to Create an authentication alias. Otherwise, create a new JDBC provider by clicking New..., as highlighted in the image.

Enter the JDBC provider details as per the following image, then click Next.

Use the default Class path settings, as shown in the following image, and click Apply.

Specify the directory location where the db2jcc4.jar and db2jcc_license_cisuz.jar files are present on the server. The jar files are included in the WebSphere installation package.

Click Next.

Review the summary page and click Finish.

Create an authentication alias

In this section, you'll specify the authorized users (IDs and passwords) who have access to the database.

From the WAS console, go to the Global Security section and click J2C authentication data.

Click New...

In the next page, enter an arbitrary Alias name. Enter the User ID and Password that you use to connect to your database. The Description field is optional.

Click Apply and then OK.

Configure the JDBC data source

In this section, you'll configure your JDBC data source and test the connection.

From the WAS console, go to the Data Sources section and click New...

In the next page, enter an arbitrary Data source name.

Enter "jdbc/pcibnk" in the JNDI name field. The JNDI name is used by the REST API to connect to the database.

Click Next.

Choose Select an existing JDBC provider. Select the JDBC provider that you created in the first task. Click Next.

Provide the Database name that you wish to access. Provide the Server name that you wish to connect to and the Port number . The remaining details can retain their default settings. Click Next.

Set the authentication alias that you created earlier, then click Next.

Verify the summary information and click Finish.

When you're prompted to save the server configuration changes, click Save.

Select the JDBC data source that you have created and click Test connection . If successful, a message will appear indicating that a successful connection was established.

REST API reference

The IBM® Behavior Based Customer Insight for Banking solution provides a set of RESTful APIs to allow you to create applications to programmatically invoke operations and extend industry solutions capabilities.

The representational state transfer (REST) API provides provides a lightweight interface that uses HTTP requests to communicate to the server. The APIs can be used to extract and aggregate data for further processing in other systems. All supported resources are listed in the following sections and are actionable using a GET operation.

The URLs used to issue REST commands must adhere to the US-ASCII character set, including reserved and restricted characters. For example, a space must be URL-encoded as "%20".

Note: For additional information on the API, please reference the provided Javadocs that are included in the installation package. Information on the data model is posted at the following location:

Industry Solutions techdoc http://www.ibm.com/support/docview.wss?uid=swg27046047

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions
This resource returns a list of activities for a particular customer along with the predicted transactions related to each activity.

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions?pagestart={value}&pagesize={value}
This use case returns a list of activities, controlled by pagestart and pagesize, for a particular customer along with the predicted transactions related to each activity.

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions?activitytype={value}
This resource returns a list of transactions for a particular customer that is related to a particular activity.

/isbanking/rest/CustomerBehaviorInsights/Transactions/{activitytypevalue}
This resource returns a list of transactions of each customer falling under a particular activity.

/isbanking/rest /ProductMatching/{customerid}/ProposedProducts
This resource returns the products predicted by the analytics engine, for a particular customer. based on the products bought by his peer group.

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions

This resource returns a list of activities for a particular customer along with the predicted transactions related to each activity.

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions

Transactions are ordered by confidence(descending), date (ascending) and amount (ascending) in that preference. In this case, by default first 3 transactions are returned per each activity as shown in the sample JSON below. Additional details such as customerid, segment, and activitytype are also returned.

Sample JSON response:

                     {
                        "segment": "Highway Warriors",
                        "customer_id":17,
                        "activities": [
                        {
                        "transactions":[
                        {
                        "amount":"-176.19",
                        "confidence":49,
                        "type":"Home",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-80.67",
                        "confidence":49,
                        "type":"Eating Out",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-52.14",
                        "confidence":49,
                        "type":"Travel",
                        "date":"01-May-2015"
                        }
                        ],
                        "activity_type":"overdraft"
                        }
                        ]
                        }

Example:

<baseurl>/isbanking/rest/CustomerBehaviorInsights/6/Transactions

For each activity of customer with id 6, his transactions are ordered by confidence(descending), date (ascending), and amount (ascending) in that preference. The above example returns a set of first 3 transactions for each activity.

Parent topic: REST API reference

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions?pagestart={value}&pagesize={value}

This use case returns a list of activities, controlled by pagestart and pagesize, for a particular customer along with the predicted transactions related to each activity.

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions?pagestart={value}&pagesize={value}

Transactions are ordered by confidence (descending), date (ascending) and amount (ascending) in that preference. Additional details such as customerid, segment, and activitytype are also returned. The pagestart parameter specifies the transaction to start from and pagesize specifies how many transactions to return.

Example:

<baseurl>/isbanking/rest/CustomerBehaviorInsights/6/Transactions?pagestart=5&pagesize=10

For each activity of customer with id 6, the transactions are ordered by confidence(descending), date (ascending), and amount (ascending) in that preference. The above example returns a set of 10 transactions starting from 5th transaction for each activity.

Parent topic: REST API reference

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions?activitytype={value}

This resource returns a list of transactions for a particular customer that is related to a particular activity.

/isbanking/rest/CustomerBehaviorInsights/{customerid}/Transactions?activitytype={value}&pagestart={value}&pagesize={value}

Transactions are ordered by confidence (descending), date (ascending) and amount (ascending) in that preference. The number of transactions returned is controlled by pagestart and pagesize parameters. If no parameter is specified first 3 transactions are returned by default. Additional details such as customerid, segment, and activitytype are also returned.

Sample JSON response:

                     {
                        "segment":"Highway Warriors",
                        "transactions":[
                        {
                        "amount":"-176.19",
                        "confidence":49,
                        "type":"Home",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-80.67",
                        "confidence":49,
                        "type":"Eating Out",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-52.14",
                        "confidence":49,
                        "type":"Travel",
                        "date":"01-May-2015"
                        }
                        ],
                        "activity_type":"overdraft",
                        "customer_id":17
                        }

Example:

<baseurl>/isbanking/rest/CustomerBehaviorInsights/6/Transactions?activitytype =overdraft&pagestart=5&pagesize=10

For the customer with id 6 and whose activitytype is "overdraft", their transactions are returned and ordered by confidence (descending), date (ascending), and amount (ascending) in that preference. The above example returns a set of 10 transactions starting from 5th transaction.

Parent topic: REST API reference

/isbanking/rest/CustomerBehaviorInsights/Transactions/{activitytypevalue}

This resource returns a list of transactions of each customer falling under a particular activity.

/isbanking/rest/CustomerBehaviorInsights/Transactions/{activitytypevalue}

Transactions are ordered by confidence(descending), date (ascending) and amount (ascending) in that preference. In this case, by default first 3 transactions are returned per each activity as shown in the sample JSON below. Additional details such as customerid, segment, and activitytype are also returned.

Sample JSON response:

                     {
                        "customers":[
                        {
                        "customer_id":1,
                        "transactions":[
                        {
                        "amount":"-73.14",
                        "confidence":33,
                        "type":"Entertainment",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-57.77",
                        "confidence":33,
                        "type":"Gas & Fuel",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-54.33",
                        "confidence":33,
                        "type":"Home",
                        "date":"01-May-2015"
                        }
                        ]
                        },
                        {
                        "customer_id":2,
                        "transactions":[
                        {
                        "amount":"-522.56",
                        "confidence":39,
                        "type":"Home",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-155.71",
                        "confidence":39,
                        "type":"Gas & Fuel",
                        "date":"01-May-2015"
                        },
                        {
                        "amount":"-147.99",
                        "confidence":39,
                        "type":"Groceries",
                        "date":"01-May-2015"
                        }
                        ]
                        }
                        ]
                        }

Example:

<baseurl>/isbanking/rest/CustomerBehaviorInsights/Transactions/overdraft?pagestart=5&pagesize=10

For each customer, their respective transactions are ordered by confidence (descending), date (ascending), and amount (ascending) in that preference. The above example returns a set of 10 transactions starting from 5th transaction for each customer under the "overdraft" activity.

Parent topic: REST API reference

/isbanking/rest /ProductMatching/{customerid}/ProposedProducts

This resource returns the products predicted by the analytics engine, for a particular customer. based on the products bought by his peer group.

/isbanking/rest /ProductMatching/{customerid}/ProposedProducts

Transactions are returned as a percentage of peers who bought a particular product. Results are sorted by peer percentage in descending order.

Sample JSON response:

                     {
                        "customer_id":15,
                        "products":[
                        {
                        "id":5,
                        "name":"Travel Insurance",
                        "peer percentage":21
                        },
                        {
                        "id":7,
                        "name":"Estate Planning",
                        "peer percentage":5
                        },
                        {
                        "id":4,
                        "name":"Sweep Account",
                        "peer percentage":1
                        }
                        ]
                        }

Example:

<baseurl>/isbanking/rest/ProductMatching/6/ProposedProducts?pagestart=3&pagesize=10

For customer with id 6, all the predicted products are ordered by peer percentage (descending). The above example returns a set of 10 products starting from 3rd product.

Parent topic: REST API reference

Notices

This information was developed for products and services offered worldwide.

This material may be available from IBM in other languages. However, you may be required to own a copy of the product or product version in that language in order to access it.

IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. This document may describe products, services, or features that are not included in the Program or license entitlement that you have purchased.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing

IBM Corporation

North Castle Drive

Armonk, NY 10504-1785

U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

Intellectual Property Licensing

Legal and Intellectual Property Law

IBM Japan Ltd.

19-21, Nihonbashi-Hakozakicho, Chuo-ku

Tokyo 103-8510, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Software Group

Attention: Licensing

3755 Riverside Dr.

Ottawa, ON

K1V 1B7

Canada

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

If you are viewing this information softcopy, the photographs and color illustrations may not appear.

This Software Offering does not use cookies or other technologies to collect personally identifiable information.

©

©

Product Information

This document applies to IBM Industry Customer Intelligence Solutions Version 1.0.0 and may also apply to subsequent releases.

Copyright

Licensed Materials - Property of IBM

© Copyright IBM Corp. 2015.

US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

IBM, the IBM logo and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at " Copyright and trademark information " at www.ibm.com/legal/copytrade.shtml.

Parent topic: Notices