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.