Posted 01/22/2009 - 15:54 by chriswarner
This mashup submitted by Mashup Developer Community member http://www.jackbe.com/enterprise-mashup/users/timm. It was the winner of the 1st 'Mash for Cash Contest'. Great work!
The Product Management and Customer Feedback mashup supports a product manager in a wireless carrier who is looking for insights and business intelligence into customer churn. Even if you aren't in the telecommunications industry, this is some great example code to learn from.
The challenge is the product manager knows there is churn, but is not exactly sure why it is happening. Is it seasonable, because of competition, a problem with customer service, a missing feature in a cell phone or plan, etc. The other challenge is the product manager would need access to several databases and systems to begin looking for trends. The customer feedback emails, the call center logs, product management feature databases, forum posts, customer records. One legacy solution is to export data from all these systems into a business intelligence system, like a data mart or data warehouse, but the data is not real-time and it's another system the manager has to learn.
Datasets represented in this demo include:
- Email log ( customer praise and complaint emails )
- Call center log ( number of calls daily to call center )
- Forum database ( customer postings )
- CRM database (with activations and terminations )
- Product feature database ( product management's report of new features added to wireless product and services )
The use case for this mashup solution is the product manager will launch mashlets in mashboard, starting with customer terminations. She also pulls up a mashlet of daily call volume to the call centers and confirms spikes during the same termination date spikes. Spotting a date trend, she will then look at customer service emails and forum posts to notice feedback, specific to customers who eventually terminated, and also to the root cause - that a product update to BlackBerry Internet service, on the network side, caused the web browsing to stop.
With this information in hand, the product manager is able to rectify the technical glitch, send offers to the terminated customers asking for their service back, and improved the customer experience.
The product manager can also use Wires, to create one-off mashups, like joining the forums and email feedback databases, where the userid/email is the same. She will use these email addresses to offer a return promotion or one month free service, to protect the carrier's brand and their customer revenue. She can also use Wires or a Mashlet to search on keywords like 'Problem' in the forums database, looking for customer discontent.
You can watch 2 different screencasts of this mashup in action:
- Mashboard of the mashlets - product manager gaining insights, and making decisions: http://www.screencast.com/t/TtUcdjnFZs
- Using Wires and Mashlet Maker to gain insights, and make decisions: http://www.screencast.com/t/EMNGXO4LQQn
The features demonstrated by this mashup include
- Virtualize disparate data sources into Presto for easier mashing
- Different virtualization techniques - MySQL Database ( DAO - to tables and a database view ), MySQL Database ( EMML SQL ), REST
- the mashlets are made to be simple and I use them in mashboard, but obviously they could be embedded in iGoogle or whatever.
- Grid and Chart mashlets
- Virtualized Services
- Customer Orders DAO service
- Product Features DAO service
- BlackBerry Forums XML feed
- Customer Feedback Email XML feed
Specific mashups in this example include:
- CountCustOrdersWhoTermedDuringTimePeriodMashup.emml - takes a begin and end date as input, and retrieves a count of customers who terminated service during that period. Product management will use this mashup to initially guage the impact of the terminations.
- CustOrdersWhoTermedDuringTimePeriodMashup.emml - This mashup takes begin and end dates as input, and returns customer orders who terminated service during that time period. Product management will use this mashup to send emails to these people with offer to come back as customers.
- DailyCallsToCallCenterForDateRange.emml - Updated SQL mashup that takes date range inputs to limit the number of callcenter records returned.
- ForumsFeedbackMashup.emml ( uses Wires to join forums and emails to find posters in common, who should be contacted to retain ). I exported the emml from Wires into ForumsFeedbackMashup.emml. I gave a screenshot of this. See screenshots/forums_feedback_join_mashup_wires.jpg.
- BlackBerryForumsInput.emml (built with Wires, but this is the export EMML. It filters the Forum by date. This mashup is used by the next Wires mashup.
- BlackBerryForumsKeyword.emml ( I built this with Wires, and exported EMML. It filters forum posts by keywords - looking for discontented posters )
Mashlets that were created from the mashups include (although not included in the code sample, we've provided screenshots so you can use the mashboard and mashlet maker to recreate them):
- Customer Orders ( can use either the CustOrder DAO service or the Customer Orders mashup )
- Daily Calls to Call Center ( as a Flash line chart - shows the spike in call volume on same days as product feature was rolled out, and terminations, forums and email complaints came in )
- BlackBerry Forums ( shows posts by customers )
- Customer Feedback Emails ( shows customers' emails )
- Product Features ( shows product features rolled out )
- Search BlackBerry Forums by Keyword and Date
Tools used to create this code sample include:
- Presto 2.6.0
- MySQL 5.x ( JDBC driver too )
- XML data files
- Mashup Studio / Eclipse 3.3 Europa
The ZIP file below includes:
- mysql database creation and data insertion scripts
- XML data files
- Screenshots
- Screencast links
You can download the mashup code below. Make sure you get both files ('ProductManagerMashup.zip' and 'ProductManagerMashup_Readme.txt').
- Login or register to post comments
- Email this page

Product manger is a great idea and also a answer to many technological problems. Customer always need answers to their product and if we answer customers that they will do long term business with our company. In my opinion if the idea of product manger works it will be easy for all hosted call center to provide good speed service to their customers which is very important. Though the problem is serious Mashing up code samples is a major priority and we will have to still see how the product manager will work.