Showing posts with label real-time. Show all posts
Showing posts with label real-time. Show all posts

Wednesday, February 4, 2015

IBM Interact Omni-channel Message Orchestrator

IBM delivered end of Q4 a new module for IBM Interact named Omni-channel Message Orchestrator.
The Interact Omni-channel Message Orchestrator module (OMO) is a generic, re-usable module that transforms Interact into a cross-channel offer messaging system.
The system is capable of delivering any Interact Offer through any outbound channel, regardless of the channel on which the inbound event occurs.
Choose from a variety of already created outbound and inbound gateways or, roll your own.

More details on existing gateways and binaries to install it 
on top of your IBM Interact environment: here

As mentionned you can EASILY extend the solution to design your own gateway (inbound or outbound). So, I have prototyped a custom Outbound Gateway of the solution, in addition to the "out of the box" gateway for Silverpop & Xtify.

Twitter Outbound Gateway 
Social communication is more and more important for Customer Engagement. OMO provides an easy way to push messges on Twitter wall of your customer.

During the process of OMO, the gateway will retrieve the message in the offer, and the twitter ID associated with the customer.

Then, your client will receive a tweet with your message.


In order to design that gateway, I've just used an external library (A java library for Twitter API), really easy to use..

MQTT Outbound Gateway

The idea was to interface a connected devices, in my case a Raspberry Pi. I have configured IBM Interact with two specific event names IoT-green & IoT-red, used to trigger OMO.


OMO sends, in my case, a REST or a MQTT command to Node-RED (directly installed on Raspberry Pi). In order to design that gateway, I've just used an external library (MQTT Client Libray Paho), really easy to use.. The Paho project provides scalable open-source client implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine‑to‑Machine (M2M) and Internet of Things (IoT). My Raspberry Pi is connected via MQTT on a Mosquito MQTT broker. Mosquitto is an open source (BSD licensed) message broker that implements the MQ Telemetry Transport protocol.

Based on the content of the offer, especially a value in my case, I do a specific action on the Raspberry Pi. Node-RED in that case, is used to handle the message sent by OMO to communicate digital ouputs of the Raspberry Pi.
If the content of the offer is equal to green, it should light on a green LED, if red, a red one...

Node-RED flow:



Raspberry with LEDs:


The purpose of that prototype was to evaluate the opportunity to extend Marketing solution (IBM Interact) for connected devices.
IBM Interact Omni-channel Message Orchestratorgives us new use cases to extend the usage of IBM Interact: as marketing tools to propose the right offer/message, in real-time,
  • Wearables (fitness, glasses…)
  • Cars

Wednesday, November 5, 2014

Twitter, IBM Bluemix, Watson & Interact

IBM introduced couple of weeks ago IBM Watson Developer Cloud with a variety of services for building cognitive apps. One of them is very relevant in Marketing activities: Watson User Modeling.

The IBM Watson User Modeling service uses linguistic analytics to extract cognitive and social characteristics, including Big Five, Values, and Needs, from communications that the user makes available, such as email, text messages, tweets, forum posts, and more. By deriving cognitive and social preferences, the service helps users to understand, connect to, and communicate with other people on a more personalized level.

I have prototyped a solution using Watson User Modeling service analysing 200 customer's tweets from Twitter and using the cognitive and social characteristics coming from Watson User Modeling to push the most relevant offer to that customer.

High-level architecture of the solution:

Examples of scenario:
1/ A customer is on the WebSite  Acme Inc., a travel agency, looking for his future travel destination. As a known customer, Acme Inc. has already built his profile based on demographics and his previous navigation history. But, Acme Inc can implement cognitive segmentation to push some special offers based on the personality of the customer like "Adventurousness".
2/ A customer is on his mobile retail application, looking for a product to buy. Instead of just using Product recommendation or previous purchase approaches, the retailer can have implement Watson capabilities in his offer recommendation engine.
...

Products Used:

- IBM Interact: With IBM® Interact, marketers can personalize, in real time, the experience of customers interacting with websites, call centers and other inbound marketing channels. 
- IBM Bluemix: an open-standards, cloud-based platform for building, managing, and running apps of all types, such as web, mobile, big data, and smart devices
- IBM Watson Developer Cloud: a bold new partnership between people and computers, providing you the tools and resources to create cognitive apps 
- Twitter: as source of customer non-structured information helping to retrieve cognitive and social characteristics, in my case "Openness to change". But, other informations are available like "Artistic interests", "Imagination", "Self-discipline", "Excitement-seeking"...

Flow of the process:

When the user accesses to one personalized channel of communication with Acme Inc (Mobile, Web...), Interact is requested to return the best offer or a list of offers. In the Interactive flowchart, a "CallOut" is done to retrieve the score of a specific social or cognitive characteristic. A process is running on the Bluemix platform. Based on the request containing the twitter account of the customer, the process will retrieve the last 200 tweets and send that content to Watson User modeling process to obtain the requested score for that customer.
Finally, via that score, we can determine if that customer is eligible for that special offer.

IBM Bluemix Interface: 


I have one Liberty Profile and one service for Watson user Modeling running on Bluemix.

IBM Interact Interface:

Flowchart with a Select box
Select Box Configuration
My ExternalCallout (Watson_Mood) method return "Open" with the score provided by Watson user Modeling is greater than 50 and "Not_Open" if lower.

That new technology opens new possibilities to provide advanced personalization in real-time or in batch for Marketers. We are just at the beginning of a beautiful journey...

More to come...

Friday, October 31, 2014

IBM Interact - "Message Connector"

Since I joined IBM Experience One team two months ago, I have been focused on the solution IBM Interact

Marketers can personalize, in real time, the experience of customers interacting with websites, call-centers and other inbound marketing channels. 

The value for Web Site, personalized offers can now be delivered dynamically based on visitor preferences and customized decision rules.


We’re using data and insights to push the right content that hits the right people at the right time.
Real-time is taking:
  • The context of the current situation into considerations (time of the day, click-behavior, buying situation, call reason, web site referral, etc.) 
  • And the contact data (customer profile, purchase history, recent interactions across all channels…) 
  • To select the best offer and the best channel to interact 

I would like to highlight one interesting module of the solution: “Message Connector”.

There may be situations where you want to provide real-time offer personalization without implementing low-level Java code, SOAP/REST or Javascript calls to IBM Interact server.

Javascript & Emails don't work together. Mail clients won't read it & mail servers may reject it.(More details).

The Interact Message Connector allows email messages and other electronic media to make calls to IBM Interact to allow personalized offers to be presented at open-time, and when the customer clicks-through the message to the specified site. This is accomplished through the use of two key tags: The image tag (IMG), which loads the personalized offers at open-time, and the link tag (A), which captures information about click-through and redirects the customer to a specific landing page.

Interaction Flow:

How Message Connector Works: Mail Open:



How Message Connector Works: Offer Click-Thru:


It allows the client to utilize the same template for emails sent and allow the driving of personalized offers/content to appear based upon the Interact segmentation, offer constraints and rules, and the profile table.

Implementation is really easy to do (deployment of a web app and xml file configuration) as described in the administration guide of IBM Interact. (page 227)

Example of implementation:

Want to retrieve Best Offer image:
<img src="http://unicavmdemo:7001/MessageConnector/offerImage.jsp?ic=[Interactive Channel]&ip=[Interaction Point]&msgId=555&linkId=5&userid=[id]" >

Want to retrieve Best Offer image with a updated customer profile value:
<img src="http://unicavmdemo:7001/MessageConnector/offerImage.jsp?ic=[Interactive Channel]&ip=[Interaction Point]&msgId=555&linkId=5&userid=[id]&age=32&ageType=numeric" >

In that case, I have pushed a new age (32 years old) for my customer.

You can imagine to have additional parameters in the URL as described in the documentation, depending the level of customization/parametrization you want to have.



Limitation: With "Message Connector", you can only retrieve the Best Offer.