Professional Documents
Culture Documents
Internal 2 / 27
1. Executive Summary
In order to attract clients to Investors’ Edge, a targeted marketing campaign will be run for three months in
2023 targeting CIBC approximately 250K CIBC online banking clients that do not have brokerage accounts with
CIBC but are making regular transfers to competitive brokerage products. This program is referred to as the
Deposit Bonus Program. It will pay an enhanced rate of interest on cash on deposit over a 90 day period from
the date the client opens their account.
The interest will be calculated in Broadridge using existing functionality in the Online Margin Interest (OLMI)
module that is based on a division code assigned to eligible accounts.
In order to attract targeted clients, the campaign will send an email to the clients promoting the offer and
providing a link to land on the offer page and subsequently on DCO. This campaign will be very specific to the
targeted list and is not sharable via an offer code. When a client’s lands on DCO, they have to select that they
are existing banking client and using their information such as name & date of birth they will be matched
against the targeted list in order to qualify for the offer. It will use a promotion code, however that will be
hidden to the client. The accounts created by the clients will need to have specific branch codes so that
Treasury can properly account for the interest payable.
This program will be run on a trial basis in 2023, depending on the results it is expected to be re-run in
subsequent years.
2. Scope
2.1 Objectives
OBJ Objective Description Trace To
ID
OBJ Implement a deposit bonus program to offer selected clients interest payment on uninvested cash
1 deposits when they open an Investor’s Edge account.
2.2 In Scope
Scope Objective Description
ID
System configuration and code changes required to implement the deposit bonus program
ISC 1
Internal 3 / 27
2.3 Out of Scope
Scope Objective Description
ID
OSC 1 All lines of business other than Investor’s Edge (WG, CPIC, IIS, and CFP)
OSC 2 This campaign to run via DCO channel only, EDO and OBR are not in scope
2.4 Dependencies
ID Description
D1 eWealth Marketing service has implemented a name and address integration point with BFS.
D2 When a client creates an Regular Investment Plan (RIP) in OBR, the destination Broadridge account number is
known.
D3 Two 2 character division codes along with the product codes and interest payment schedules will need to be set
up in BFS to calculate the interest payable and process the interest credit to the client’s account. The exact
codes have not yet been determined. For the purpose of this document, they will be set as follows:
D1 – First interest rate tier for the deposit bonus program, represents the interest rate if no RIP has been
created by the client (currently 2%)
D2 – Second interest rate tier for the deposit bonus program, represents the interest rate if an RIP has been
created by the client (currently 4%)
D4 A client can only participate in one offer on any given date, multiple offers (or staggered offers) will not be
supported
2.5 Constraints
ID Description
C1 DCO applies the promotion code at an application level, it does not apply the code at the account type level,
this means if a client select account types which are not part of a offer will also get the same promo code
applied.
However, with respect to Deposit Bonus Program, WMAS will assign specific branch codes based on account
types, which will filter out any account types selected in DCO which are not on this offer.
C2 In the current state, DCO is not able to determine if a client has any existing accounts which could determine if
they are opening account for the same account type
Internal 4 / 27
2.6 Identified Risks
Internal 5 / 27
ID Description Severity
Justification
Internal 6 / 27
Internal 7 / 27
3. Current State
ID Description
CS1 This is a brand new implementation for an interest program. No previous implementation exists with respect to interests on
cash.
4. Solution Requirements
4.1 eWealth Requirements
ID Description Trace To
Provide the ability to add, modify, delete, and extract offers (maintain offer catalog). The following attributes will
EW-SR1 need to be maintained for each offer
- Offer Id
- Promo Code
- Offer Description
- Active Indicator (True/False)
- Offer Start Date
- Offer End Date
- Interest Rate Calculation End Date
- Division Code
- RSP Account Type Branch Code (will be set to N/A if not applicable)
- TFSA Account Type Branch Code (will be set to N/A if not applicable)
- RESP Account Type Branch Code (will be set to N/A if not applicable)
- LIF Account Type Branch Code (will be set to N/A if not applicable)
- RIF Account Type Branch Code (will be set to N/A if not applicable)
- LRIF Account Type Branch Code (will be set to N/A if not applicable)
- FHSA Account Type Branch Code (for future use, will be set to N/A if not applicable)
** Offer ID is internal to eWealth, and this should be set based on any new enteries made via using this service.
and is not required to to be shared to WMAS. However Promo Code is required to be sent to WMAS on a new
client who is eligible for offer is set up via DCO.
Provide the ability to add, modify, delete, and extract clients eligible for an offer, this will consist of the following
EW-SR2 data elements:
- Client first name
- Client last name
- Date of birth
- Promo Code
Provide the ability to add, modify, delete, and extract accounts created for a client and offer, this will consist of
EW-SR3 the following data elements:
This service is for Deposit Bonus program, if in future new services for cash back and free trades develop, they all
should be treated separately.
Internal 8 / 27
- Client first name
- Client last name
- Date of birth
- Offer Id
- BFS Account number (branch + account)
- Client Offer Start Date- Account Creation Date
- Client Offer End Date – Derived based on Account Creation Date + 92 days
- Division Code Reset Date – Derived (If the client offer end date is prior to the 16 th day of the month, set
it to the 16th day of the current month, otherwise set it to the 16th day of the following month)
If the Client Offer End Date is September 18, 2023, then the Division Code Reset
Date would be set to October 16, 2023.
If the Client Offer End Date is October 2, 2023, then the Division Code Reset Date
would be set to October 16, 2023
- Applicable Division Code – It will be derived based on Balance and RIP eligiblity flags
Division
Balance Eligibility RIP Eligibility Code( derivation)
Y Y D2
Y N D1
N Y 2 spaces
N N 2 spaces
null Y 2 spaces
null N 2 spaces
N null 2 spaces
Y null D1
null null 2 spaces
- Balance eligibiltiy – Y or N
- RIP Eligiblity – Y or N
Develop a re-usable service that returns a list of excluded branch codes for a passed offer number. These are
EW-SR4 branch codes that must not be used when creating an account as they are reserved for specific campaigns. This
service does not need to be called with any parameters.
This would be determined by iterating through all the campaigns defined in EW-SR0.5 where the “Active
Indicator” is set to True and preparing a list of all Branch codes that are not set to N/A.
Develop a re-usable offer eligibility service to determine whether a client is eligible for an offer. The service will
EW-SR5 be passed the following parameters
- Client first name
- Client last name
- Client date of birth
2. The service will return a value of True if the following conditions are met
a. The passed first name, last name, and date of birth are found in the list of clients provided in step EW-SR2
above
b. AND The current system date is greater than or equal to the Offer start date
c. AND The current system date is less than or equal to the Offer end date
3. The service will return a value of False if one or all of the conditions in step 2 above are not met
4. If a value of True is returned, the following fields associated with the offer will also be returned:
Internal 9 / 27
- Division Code (refer to Depednecy Section and EW_SR6)
- Promo Code (blank if not applicable)
- Offer ID
** If multiple matches are found then pick the oldest Active offer(based on Offer Start Date) and is not expired. If
two offers have the same start date then pick the first entry in the database.
This service to integrate with DCO to determine if a newly registered client is eligible for a targeted offer.
Develop an offer management service to record that a client has taken advantage of an offer. And Division Code
EW-SR6 Reset has to be performed on BFS using MQ message.
- Client first name
- Client last name
- Client date of birth
- Broadridge Account Number (branch + account)
- Offer Id
Division Code Reset Date
The service will then perform the following steps:
1. It will search for the matching client-offer as defined in EW-SR3, and look for a Division code reset date
of 16th of the same month
a. Broadridge Account: Set to the passed value
b. Client Offer Start Date: Set to the Account Creation Date
c. Client Offer End Date: Set to Account Creation date + 92 calendar days
d. Division Code Reset Date: If the client offer end date is prior to the 16th day of the month, set
it to the 16th day of the current month, otherwise set it to the 16th day of the following month.
For example:
i. If the Client Offer End Date is September 18, 2023, then the Division Code Reset
Date would be set to October 16, 2023.
ii. If the Client Offer End Date is October 2, 2023, then the Division Code Reset Date
would be set to October 16, 2023
e. Applicable Division Code: The applicable Division code to be reset as “2 spaces” to BFS
described in EW-SR7
Develop an offer management service that will update BFS with the correct division code for each client
EW-SR7 participating in an offer. This service will be called on a daily basis, the exact timing remains to be co-ordianted
with Broadridge. The service will send a MQ message to BFS updating INTEGRATED (GLOBAL) N&A SEG − ’5100B’
− UPDATE SEQUENCE ’00.
When sending record 5100B, update sequence 00: Set the dividision field in positions 177 and 178 to the division
code field value
The service will perform the following steps for each account in EW-SR3 where the applicable division code is not
blank:
1. It will update the Applicable Division Code:
a. Trigger in EW-SR3 and scheduler in EW-SR6
Internal 10 / 27
campaign. In future if this program runs again an exception process has to be identified and put in place.
For each account where the applicable division code has changed, Broadridge will need to be updated through
the Name and Address file via eWealth. A sample file with record layout specifications is attached here:
The data sent can be merged with any existing Broadridge Name and Address files currently being sent by
performing the following steps.
1. Merging the records with the existing Name and Address file
2. Sorting the merged file by the first 32 characters (the common record area)
3. Updating the record count in the trailer record
4. Sending the combined file to BFS
This approach is preferred over creating a new Broadridge integration point for the name and address updates
due to higher cost and effort required to create a new integration point for a file of relatively low volumes and
update frequencies.
Update eWealth with the list of eligible clients associated with an offer by calling the service documented in
CDM-SR3 requirement EW-SR2.
For this program/campaign, the following attributes needs to be provided to eWealth service via an endpoint.
- Date of birth
- Promo Code
Send a file containing all eligible clients to ECICM with the following data elements
CDM-SR4
- ECIF Number
As eligible accounts are created in BFS, record the account information in eWealth by calling the service detailed
CDM-SR5 in EW-SR6.
As part of this Data Lake to calculate the Average Daily Cash balance eligibliity
Maintain Average Daily Cash Balance of $500 (on the 14th night)
1. Account created within last month the average should be calcualted based on creation funding date.
2. If account is more than 30 days, then the average should be calculate for the last month.
If the avergae Daily Cash balance is met, send Average Balance eligibiltiy = “Y” else “N” Division Code “D1” to
eWealth.
If the customer does not qualify the send an update to eWealth with “2 spaces” in Division Code for the account.
Internal 11 / 27
Consume information from EDH regarding whether a client has created or discontinued RIP’s associated with
CDM-SR6 Broadridge accounts. As this information changes, update the RIP registration information in eWealth by calling
t he service detailed in EW-SR3.
Consume weekly file from WMT – FIS file which contains RIP information. Out of the opened accounts eligible for
the offer which contains the RIP cash payments.
The FIS file is being sent to \\CBMCC-FN-00022A.AD.CIBC.COM\IE_DataAnalytics\Landing_Zone1\WMAS\
Inbound
- DL to consume the excel file which will be dropped into this location every Saturday.
- Timming - TBD
Condition for RIP bonus interest eligibility - Account should be set up with a minimum of $500 monthly RIP
payment with start date before the 14th of the month.
Columns to check in the FIS RIP data.
instrument_type = CASH
order_status = Active
start_date - "If (>current date) then should be less than the 14th. else do not include in RIP yet"
Make every RIP entry for an account to be equivalent of monthly
Once all qualifed RIP are captured and converted to Monthly Equivalent Amounts
Then Sum of all Monthly equivalent RIPs set up against an account total should be $500 or greater
If the accounts meets RIP eligiblity, send the update RIP Eligibility as “Y” and set Division Code “D2” Else set RIP
flag = ‘N’ and Division Code as D1 to eWealth service detailed in EW-SR3
Extract data regarding offer catalog (EW-SR1), client associated with offer (EW-SR2), and accounts associated
CDM-SR8 with offers (EW-SR3) from eWealth and provide this data to Tableau for reporting purposes.
Internal 12 / 27
CDM-SR8 For reporting purpose use the integration with ECMA with Data Lake
- Date Sent
Internal 13 / 27
4.3 ECICM Requirements
ID Description Trace To
Consume the list of eligible accounts from the IE Data Lake and generate a campaign targetted to these clients
ECICM-
SR1
ECICM- Send the client mailing with standard utrc and utm parameters to IE Marketing team to record in the central
SR3 tracker
AEM-SR1 Create a new landing page accessed from a link embedded in the client emails generated by ECICM.
UTRC, source, medium, Campaign ID and IE campaign ID needs to be included in the URL
- Send a promo code to WMAS as a new attribute, based on various program values, WMAS to use promo
code to assign particular set of branch codes.
- If the client enters a promo code manually via DCO which is valid then do not perform a validation
against the targeted list using eWealth.
Or a client lands on DCO which pre-populates the promo code which is valid then do not run a backend
check against the eWealth service.
A customer can only qualify for one promotion at a time. The perference is given to a manually or auto populated
promo code on DCO.
Internal 14 / 27
DCO-SR2 DCO-SR2.1) During the account creation process, If the client, identifies that they are a CIBC online banking client
by entering their card number/password and press the Prefill application button, DCO will retrieve the client first
name, last name, which will be prefilled in the Application Information. However the date of birth gets available
only when a client enters this information in the application details.
Internal 15 / 27
Internal 16 / 27
DCO-SR2.3) DCO will determine if the client is eligible for the deposit bonus program by calling the eWealth offer
eligibility service (to be build as part of this project as defined in EW-SR5) with the client first name, last name, and
date of birth. The eWealth service will return the following values:
- The eligible offer id (a value of 0 will be returned if the client is not eligible to participate in any offers)
DCO-SR3 If the offer promo code returned by EW-SR5 is not blank then the ability to enter a promotional code should not be
available per the screen shot below and the promo code value should be set to hidden as the promotion will be
targeted promotion. However, DCO should send the promo code to WMAS in the account creation flow.
DCO-SR4 If there is a no matching promotion against the EW-SR5 service check, then the ability for a customer to manually
enter a promo code should be made available.
DCO-SR5 The following data elements will need to be included in the API integration to WMAS
- DCO to set the promo code as returned from the DCO-SR2 service or manually entered or pre-populated
from the promo code screen.
For this integration WMAS will update the current XSD file which will be used by DCO. To be detailed at a design
level.
ID Description Trace to
- Promo code (a new attribute) – Based on the Deposit Bonus Program defined promo code(to be
provided), WMAS to generate the branch code of accounts in set of ranges.
WMAS should be able to handle new promo codes in the future to assign particular branch code in
the account creation process.
Internal 17 / 27
WMAS-SR2 When creating a new account:
WMAS-SR2.1) IF the promo code value is for the Deposit Bonus program, then create a new account with one
of the following branch codes:
i. Non Registered: 659
ii. TFSA: 626
iii. RSP 649
WMAS-SR2.2) If the promo code value is not for deposit Bonus program then the newly created account must
not have a branch code of 659, 626, or 649
WMAS-SR3 When creating the account in Broadridge through the name and address file
WMAS-SR3.1) If the Deposit Bonus Identifier not blank then:
i. When sending record 5100B, update sequence 00: Set the dividision field in positions 177 and 178 to
the division code field value passwed to WMAS in DCO-SR5 EW-SR2 (a full layout of the record is
shown in appendix II). A sample record is shown in the attached spreadsheet
WMAS-SR4 When new accounts are created as a result of an EDO request, the newly created account must not have a
branch code of 659, 626, or 649.
This requirement is no longer required since EDO, OBR client, and OBR-NC will not pass a deposit bonus
eligibility indicator.
WMAS-SR5 When new accounts are created as a result of an OBR Client request, the newly created account must not have
a branch code of 659, 626, or 649.
This requirement is no longer required since EDO, OBR client, and OBR-NC will not pass a deposit bonus
eligibility indicator.
WMAS-SR6 When new accounts are created as a result of an OBR-NC request, the newly created account must not have a
branch code of 659, 626, or 649.
This requirement is no longer required since EDO, OBR client, and OBR-NC will not pass a deposit bonus
eligibility indicator.
Internal 18 / 27
4.7 EDO Requirements
ID Description Trace To
EDO-SR1 When creating a new Broadridge accounts, the newly created account must not have a branch code of 659, 626, or
649
OBRC- When creating a new Broadridge accounts, the newly created account must not have a branch code of 659, 626, or
SR1 649
OBRNC- When creating a new Broadridge accounts, the newly created account must not have a branch code of 659, 626, or
SR1 649
BFS-SR1 Create the following two new division codes, product indicators and associated rate schedules
Value of “2 spaces” when the offer expires or a customer does not qualify their the average daily balance
qualification.
BFS-SR2 Broadridge will receive the division code updates from eWealth via MQ messages.
CCIS-SR1 Add new account branches 659, 626, and 649. This will be mapped to a new organization unit 90468
CCIS-SR2 Update the Mapping of the above branch codes to the new org unit of 90468. So that the sweep of balances from
the above 3 branch codes goes to the new org unit of 90468.
The program is planned to start on Oct 1,2023 when these new branch codes should map to 904868.
Internal 19 / 27
4.12 GLM Requirements
ID Description Trace to
TBD
5. Future State
Document
Document Name Link
Number
Internal 20 / 27
7. Document Control
A current copy of this document can be found in: https://confluence.cibcatl.com/display/MRK001/SRD
2. Added OSC 1
0.3 04/17/2023 1. Replaced the Hash Code logic with eWealth and a list of Jeffrey Schwartz
eligible clients.
0.4 04/18/2023 1. Moved all campaign specific logic into eWealth so that Jeffrey Schwartz
WMAS, DCO, and other systems do not have campaign
specific logic embedded.
0.5 04/24/2023 1. Updated to reflect meetings with architecture and Jeffrey Schwarz
development groups.
1.1 05/04/2023 1. Updated out of scope to specify the offer is only for Parmod Garg
DCO
3. Approval Version
12 05/19/2023 1. Update Data Lake and eWealth scope of work and Parmod Garg
interface
2. Approval Version
Internal 21 / 27
13 05/29/2023 1. Update Data Lake Logic and DCO to send promo code Parmod Garg
3. Approval Version
3. Approval Version
4. Approval Version
7.2 Reviewers
Version
Review Date Reviewer Name Review Email
Number
Mehran Abady
Kyle Anderson
Sameer Bakshi
David Bianucci
Anshika Chauhan
Le Chu
Frida Chung
Stavros Dukas
Jason Hawkridge
Josiah Hetherington
Vivian Huang
Internal 22 / 27
Anand Jaggi
Christine Kok
RajaSekhara Onteddu
Mohsen Rahimi
Zain Rashid
Pia Saari
Leonid Sheinfeld
Brandon Spring
Srinivas Vellanki
Uday Vellore
Areef Visram
Laura Watts
Paul Wright
Kim Wong
Sam Wong
Michael Zhai
7.3 Approvers
Approval email sent:
Version Approval
Approver Name Approval Email
Number Date
Ayaz Essajee
Jacob Jakubski
Xiang Gao
Internal 23 / 27
David Biancucci
Nancy Jamorski
Charu Marya
Wael Salo
Kevin Chen
Internal 24 / 27
7.4 Appendix I – End to End Process Flow
Internal 25 / 27
This Diagram can be found on the confluence page -
https://confluence.cibcatl.com/display/MRK001/Process+Flow+Diagram
The division code is updated through a specific segment (51000B, update sequence 0).
Internal 26 / 27
The first 32 characters of the segment contain common data used to identify the account to be updated.
Detailed field definitions can be found on pages 11 to 13 of the definition file
- When creating new Broadridge accounts, the Action Code in position 22 of the record must be set to a
value of 2
- When updating existing Broadridge accounts to set the division code per requirement CDM-SR11, the
Action Code in position 22 of each detail record must be set to a value of 3
The remaining characters are defined on pages 193 to 195 of the definition file
Internal 27 / 27