Showing posts with label twitter. Show all posts
Showing posts with label twitter. 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

Friday, January 2, 2015

Social Listening with Node-RED & IBM Silverpop

IBM Silverpop, Node-RED, Bluemix, System of Engagement, Social, Twitter, Mobile...
What is the link between all of these words/solutions/concepts?

Basically, systems of engagement refers to the transition from current enterprise systems designed around discrete pieces of information ("records") to systems which are more decentralized, incorporate technologies which encourage peer interactions, and which often leverage cloud technologies to provide the capabilities to enable those interactions.

Can I easily linked my Marketing Solution (in that case IBM Silverpop) with Social Channels like Twitter ans so being able to easily engage with my customer?
For example, during a product launch event, I would like to track all tweets (positive or negative) around a hashtag, and linked that tweets to my existing customer database. It is for a short period of time, I don't have an important budget, a long period of time to write specification and to develop it...
Or my Sales team would like to collect all Social interaction and correlate them with customer database.

I'm a big fan of the Node-RED technology, developed by IBM jStart work, available on IBM Bluemix. Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways, without "tough" development. I have designed a "prototype" in less than one day.
The use case is simple:
  1. Track in real-time all tweets with hashtags #rabviptest & #viprabtest.
  2. Do a sentiment analysis using AFINN, and retrieve a score on the tweet - Positive or negative tweet.
  3. Send a mobile push notification to my two Social marketers on their mobile phone.
  4. Store the twitter account name, numbers of followers and location of the twittos in one IBM Silverpop Profil table.
  5. Store the twitter account name, numbers of followers and the sentiment of the tweet in one IBM Silverpop Relational table.
Option 4 illustrates the possibility to easily create a customer database based on Twitter interaction.
Option 5 illustrates the opportunity to store all twitter interaction and use that information for future retargeting with IBM Silverpop, and being able to capitalize on all Social interaction.

Node-RED provides interesting nodes, in my case, I use :
1) Twitter input node. It can be used to search either:
  •     The public or a user's stream for tweets containing the configured search term
  •     All tweets by specific users
  •     Direct messages received by the authenticated use
2) Sentiment node to retrieve sentiment score of the tweet.

And, I have developed custom nodes:
1/ Mobile Push notification leveraging IBM xtify APIs
2/ Silverpop Node for:
   - Login,
   - Insert into relational database,
   - Contact creation in the Profile database.

 Node-RED Flow:


Example of tweets:

Negative tweet

Positive tweet
 
Notification on the mobile:
I receive in real-time a push notif with an info on the person who has tweeted and the sentiment linked to that tweet.
  

Silverpop Opt-In:

First approach: Simple opt-in
Two new contacts have been created after tweeting on the specified hastag. As you can see, they don't have email, but I can start to collect information on them.

 
Entries in a Relational Database:
Second approach: Capitalize social information on my existing customer database.

1/ My customer database:

2/ My Relational database:


I can know, for example, use these info for my customer segmentation or for advanced personalized content in email.
Example of query using that info:


In that prototype, I have captured the number of followers of my twitto, but I can easily imagine to retrieve the Klout of the  twitto via another custom node.
The idea is to be able to evaluate the influence and differentiate my communication based on that parameter.

That prototype has been imagined and co-designed with @rabenandrasana.

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...