Sunday, August 2, 2020

PEGA Decisioning - Next Best Action Decisioning Artifacts

PEGA Decisioning - Next Best Action Decisioning Artifacts 


Proposition Management - is how propositions are defined, stored and managed in PDM. Propositions are anything that can be offered to a customer incl. ads, products, offer bundles even customer service actions.

Decision Strategies - match propositions with customers, combine data about the customer with rules and predictive analytics to determine the Next-Best-Action during each interaction.

Interaction History - gives Pega Decision Management its long-term memory. Captures every customer response to every NBA and provides it as input for determining what the NBA should be.

Visual Business Director - is a 3-D graph environment for simulating and analysing the results of Decision Strategies and customer interactions, helps to ensure that strategies are on target to meet goals.

Adaptive Decision Manager - enables automatic development and deployment of adaptive predictive models which learn and gather data on-the-fly to predict future customer behaviour.

    Each of these key features leverages the different types of decisioning artifacts: Rule Types, Landing Pages, Decision Components, and Flow Shapes that are the building blocks of Pega Decision Management.

 

PEGA Decisioning Landing Pages

Landing pages- here certain key capabilities are configured, monitored and managed, they provide a shortcut to viewing the rule types as well as the data behind these capabilities.

The Decisions landing page enables you to define and manage all aspects of the decisioning hierarchy incl. the propositions, strategies and data flows that determine NBA.

The Predictive Analytics landing page enables you to manage all aspects of the development and implementation of predictive and adaptive models.

The Monitoring landing page enables you to monitor decisions through three types of reports: the adaptive model reports, Interaction History reports and Visual Business Director.

The Infrastructure landing page enables you to configure, view and manage resource usage and various operational settings.

 

PEGA Decisioning Flow Shapes

Each element in a process flow is called a flow shape, they allow seamless integration of PDM with Pega Business Process Management.


There are 2 types of flow shapes:

The Decision flow shape extends the capability of the decision flow shape in the Pega Platform by enabling it to invoke predictive models and decision rules, such as decision tables and decision trees.

The Run Interaction flow shape invokes a decision strategy, which determines how and when to make a proposition to the customer, and then captures the customer’s response to the proposition.

 

PEGA Decisioning Rule Types

The Strategy rule type, the main rule type, utilizes all other rule types to determine what the NBA should be.

Decision Tables and Decision Trees classify customers by characteristics for the purpose of creating segments.

Scorecards are used to implement industry standard scorecards such as the FICO scorecard.

The Predictive Model rule type is used to execute predictive models created with Pega Predictive Analytics Director.


The Adaptive Model rule type - configures the adaptive analytics decision models that are managed by the Adaptive Decision Manager service.

The Interaction rule type - executes a decision strategy from a workflow and capture the details of the customer interaction.


Saturday, August 1, 2020

PEGA Decision Management - What is mean by Next Best Action?

The primary role of Pega Decision Management is helping to determine the Next-Best-Action in customer-facing business operations.


NBA is a new approach to any type of customer interaction:

 

  • Marketing
  • Sales
  • Service
  • Retention
  • Collections
  • Fraud
  • Data collection

It determines the optimal action, which the one that satisfies customer expectations while also meeting business objectives

It begins with the customer taking some sort of action such as calling into a call centre or responding to an email => system registers customer’s intent for this action. Then the data is being taken into consideration by Pega Decision Management, and decision strategies are being applied to create a mini business case, that will calculate the NBA for the interaction. Once its done, then the decision engine returns the Best-Action to take with the customer: either no action at all, service action, or make an offer or other. This is a never ending loop throughout the customer lifecycle.

Pega Next-Best-Action Marketing = Next-Best-Action Advisor, which advises agents on how to interact with customers (inbound) and can be used for outbound as well.


Interaction:
Listen, Learn and Act accordingly => Interaction History captures customer responses to every NBA. Pega Decision Management combines traditional business rules with predictive analytics and interaction history to come up with the NBA.

 

The ultimate goal of Next-Best-Action is to optimize customer value:

  • maximize the profitability of each customer relationship
  • help retain profitable customers
  • To do that NBA bases each decision on 2 things: what does that customer need right now, and then, what are the business objectives for this interaction?

Centralized Decision Hub delivers NBA to any available channel: CC, mobile or retails store at any moment. It continuously build on each other across every interaction in any channel.


To satisfy customer needs NBA has to have 4 characteristics:

 Contextual- must take into account the very last input the customer gave to the company
 Timely- must be taken in an appropriate timeframe, via the right channel at the right moment. This means in real-time in the inbound channels
 Relevant- must be right for that particular customer based on everything known about them at the moment of communication.
 Consistent- consistent across every channel, the messages and propositions they receive must be the same

On business side- 4 key strategic business directions: Growth, Service, Retention and Risk Mitigation, but also other things like budget and resource constraints (availability of a product) must be considered.


We will see more about this topic in coming days. Stay tuned.

Friday, September 9, 2016

Webpage performance tuning tips

It has been very long time. I thought I can share my recent leanings Webpage performance tuning tips.

1) Yslow (http://yslow.org/)–
To evaluate your site’s speed and get tips on how to improve performance. This link has more insite about the best practices to be used to improve the web application speed.

2) Google’s PageSpeed Tools (https://developers.google.com/speed/pagespeed/) –
To learn more about performance best-practice and automate the process. If we give an existing application web URL, it will give the comprehensive details and the detailed fix to address the performance bottleneck.


Happy Learning!
Nanjundan Chinnasamy


More detailed developerworks article on web application speed can be found at http://www.ibm.com/developerworks/library/wa-speedweb/

Wednesday, June 22, 2016

Google’s Cloud Service - Google App Engine (PlatformAsAService)

It has been very long time posted my blog. It is much needed too. Yes, an most important much need life changing Event. Now I am back to normal with my regular BusinesAsUsuall work.  Yes, it is time to write my technical blog too. 

Long back, I have explored Google’s Cloud computing solution “Google App Engine”. I have created sample applications using Spring, JSF too. Recently, I have deployed website with static pages for one of my personal need. One of my friend hosted his static website using Google App Engine for his high availability and high scaleability requirement. I strongly believe Google App Engine will be the right choice for many individuals and startups to host their web application to meet their needs. Here is the sample Google App Engine application he hosted http://rainbowmobiles.co.in

You may have questions like What is Google App Engine? When to go with Google App Engine?, What is the problem it is trying to solve?. No worries, you will find an answer for such questions by end of my blog. 

Google App Engine is a Platform as a Service (PaaS) that lets you deploy and run your applications on the Google infrastructure without having to worry about setting up your own hardware, Operating System or server. Google App Engine lets you run web applications on Google's infrastructure. 
Easy to build. 
Easy to maintain.
Easy to scale as the traffic and storage needs grow.

Cost:
All these are Free. Yes, free for up-to 1 GB of storage and enough CPU and bandwidth to support 5 million page views a month. 10 Applications per Google account.

Use App Engine when:
You don’t want to get troubled for setting up a server.
You want instant for-free nearly infinite scalability support.
Your application’s traffic is spiky and rather unpredictable.
You don't feel like taking care of your own server monitoring tools.
You need pricing that fits your actual usage and isn't time-slot based (App engine provides pay-per-drink cost model).
You are able to chunk long tasks into 60 second pieces.
You are able to work without direct access to local file system.

Language Support:
Java, J2EE (Selected framework with some restrictions)
Python
PHP

Data Store Support:
NoSQL schema-less object based data storage, with a query engine and  atomic transactions.
Data object is called a “Entity” that has a kind (~ table name) and a set of properties (~ column names).
JAVA JDO/ JPA interfaces and Python datastore interfaces.

Google cloud SQL:
Provides a relational SQL database service.
Similar to MySQL RDBMS.
Fast, scalable and highly available solution. 

Other services:
App Engine also provides a variety of services to perform common operations when managing your application.

URL Fetch: Facilitates the application’s access to resources on the internet, such as web services or data.
eMail: Facilitates the application to send e-mail messages using Google infrastructure. 
Memcache: High performance in-memory key-value storage. Can be used to store temporary data which doesn’t need to be persisted.


I am hoping many new IoT solutions will evolve in near feature using Cloud solutions like Google App Engine. Let’s hope.

Happy Learning
Nanjundan Chinnasamy

Thursday, March 17, 2016

Google Map - for Cab booking service -

As I keep telling to many of my friends, today’s modern technology can be used to address the day2day issues in a veryeffective way. Ie, using the power of “Internet of Things”. Technology adoption is very good (I could say the best) in cab services, telecom and banking compare to other areas as many of you aware.

I am referring here the Cab services as Geo/app based cab booking service ins very popular now a days. App based Cab service solved many problems like cab delay, cab booking/Cancellation and consumer & supplier issues. To book any cab service, we want to install the apps from different cab providers. It’s good to rely on one service provider and use their service. But we may be missing the price comparation and the great flexibility of using any cab service for the given source and destination.

Google has come up an innovative solution to solve such issue. Yes, Google map will be a one central point and you can select the source and destination and select the cab service on the GO based on your choice. Also, it gives the ride charge details for various cab service providers. Ie, Ability of booking cab service from Google Map. Sounds interesting?

You can look at the blog Google Map blog for more details about this @ https://maps.googleblog.com/2016/03/your-car-has-arrived-more-ways-to-get.html

Nanjundan Chinnasamy

Wednesday, March 9, 2016

I have planned to write an article for iCal – Calendar event utility using Java technology long back. Due to many reasons, it took some time to prepare this article. I have done with the working POC. You can explore and come back if you have any doubts in iCalendar generation using iCal4j framework.

iCal4j can be used to creating new iCalendar data from scratch OR modifying existing iCalendar data. Here you will find a few examples indicating the recommended usage of this library.

iCal comes with many handy functionality to deal with iCalendar related functionalities. Major functionalities are:
Creating an iCal event
Updating an existing iCal event
Parsing anexisting iCalendar file
Iterating over a Calendar and get the available events

It also provides a functionality to deal with different TimeZones. Here I have added my POC code only for iCalendar file creation alone using iCal framework. You can use this as a reference. Rest of the functionalities will be easy if you understand the iCalendar creation. Those functionalise can be explored at http://ical4j.sourceforge.net/introduction.html

Creating an iCal event – Sample Code:

public static void main(String[] args) throws FileNotFoundException,
                                    IOException, ValidationException, ParserException {
                        String calFile = "c:/mycalendar.ics";

                        // Creating a new calendar
                        net.fortuna.ical4j.model.Calendar calendar = new net.fortuna.ical4j.model.Calendar();
                        calendar.getProperties().add(
                                                new ProdId("-//Temp//iCal4j 1.0//EN"));
                        // calendar.getProperties().add(Version.VERSION_2_0);
                        calendar.getProperties().add(CalScale.GREGORIAN);


                        Calendar calStart = new GregorianCalendar().getInstance();
                        calStart.set(2015, java.util.Calendar.MARCH , 03, 12, 0);
                        Calendar calEnd = new GregorianCalendar();
                        calEnd.set(2015, java.util.Calendar.MARCH, 03, 13, 0);
                        DateTime startTime = new DateTime(calStart.getTime());
                        DateTime endTime = new DateTime(calEnd.getTime());
                        String appmtSubject = "Test appointment_EventId12345";
                       
                        // Create event
                        VEvent appointmentEvent = new VEvent(startTime, endTime, appmtSubject);
                        appointmentEvent.getProperties().add(new Location("NC Home"));
                        StringBuilder appmtSumamry = new StringBuilder();
                        appmtSumamry.append("Dear Friend, \n\n");
                        appmtSumamry.append("This is to catchup with you for 30 mins at my home. \n");
                       
                        appmtSumamry.append("Topic: Chumma\n");
                        appmtSumamry.append("Address: address1, address2, postcode\n");
                        appmtSumamry.append("Telephone: \n");
                        appmtSumamry.append("Purpose: \n\n");
                       
                        appmtSumamry.append("if you need any assistance mean time, please contact us at 1800XXXYYYY");
                       
                        appointmentEvent.getProperties().add(new Description(appmtSumamry.toString()));
           
                        /*// initialise as an all-day event..
                        christmas.getProperties().getProperty(Property.DTSTART).getParameters()
                                                .add(Value.DATE);*/

                        UidGenerator uidGenerator = new UidGenerator("1");
                        appointmentEvent.getProperties().add(uidGenerator.generateUid());
                        calendar.getComponents().add(appointmentEvent);

                        // Saving an iCalendar file
                        FileOutputStream fout = new FileOutputStream(calFile);

                        CalendarOutputter outputter = new CalendarOutputter();
                        outputter.setValidating(false);
                        outputter.output(calendar, fout);


Required JARs:
commons-lang-2.6.jar
commons-logging-1.1.3.jar
ical4j-1.0.5.jar
backport-util-concurrent-3.1.jar


If you are seeking for any specific details to build a Calendar event using iCal, feel free to comment this blog. I am happy to respond to you.


Thanks,
Nanjundan Chinnasamy

Pega Decisioning Consultant - Mission Test Quiz & Answers

The Pega Certified Decisioning Consultant (PCDC) certification is for professionals participating in the design and development of a Pega ...