RTD – An Example Solution

May 8th, 2012 by

Here at Rittman Mead we’re all looking forward to the BI Forum in Brighton this week.  Although before focus switches to that, following my hugely impressive first blog introducing RTD!  I thought it was about time I provided some more information on the solution and how it works.  For this blog I’m going to use an example solution to aid the explanation.  Okay, first problem, need an example…

much, much, later…

Right got one!  Let’s use a well-known use case as hopefully everyone can associate with it.  We have a website from which we sell a range of products.  We want to recommend products to customers on the website at the checkout stage of their purchase.  We target additional products to customers at this point so as not to interrupt their original purchase flow.   The solution using RTD would look something like this:

There are a number of data inputs we could take into consideration for the decision.  Inputs into RTD can come from multiple sources with various refresh rates.  In this example we have a number of inputs providing RTD with the information from which to make a decision:

  • Data from the website, providing context information about what the customer is doing on the site in their current session.
  • Customer data.  This could be from a transactional database and/or data warehouse.
  • Product information, including availability.

You can integrate RTD easily with other systems through the use of Java, .NET and JSP Smart Clients or via Web Services.  So in the above diagram, the Java Smart Client could be used to pass context information from the web session into RTD.  We’d load the customer and product information into the RTD database.  We might choose to load the customer data every 24 hours and the product information every few minutes in order to pick up information on stock levels and any new products that become available.

In the example, the website would use the Smart Client to ask for a recommendation by passing in a customer identifier and would receive back a product reference.  This product reference would then be used to present the relevant image on the website.  The Smart Client would also be used to pass success feedback to RTD for learning purposes, this success feedback could be the purchase of the recommended product or someone clicking on the image of the recommendation.

There’s a few other things we could also do.  From the front end we could pass information to a web analytics tool by tagging the images of recommendations.  In this way we can analysis the impact on customer journeys.  We could also take information from the RTD tables and load it into a BI solution so that we can combine the information from RTD with other BI data.

One final thing, it’s quick, with response times for decisions measured in milliseconds.  Obviously, critical in the example used, when making real-time product recommendations to customers on your website.

In my next blog, we’ll look into the black box that is RTD on the diagram and explain how RTD makes the decision on which products to show a particular customer.

Tags: ,


  1. Lukas Vermeer Says:

    Great example, James!

    One slight addition regarding the Smart Client integration in relation to the input data types in your example. I would imagine only the context information from the calling application (web site) would be provided using this type of interaction. Both customer data and product information are probably stored in a database and more easily accessed using standard RTD JDBC connections.

    In a sense, customer data and product information are not ‘loaded into RTD’. The application will retrieve this information as needed at the point of interaction from any source you point it at. It is common practice to store this information in some sort of cache database close to RTD for performance reasons, but this is not a requirement and not part of the RTD product. Practically any datasource could be used to retrieve relevant data in real-time; providing it is quick enough to respond.

    RTD is the brain making the decision, not the warehouse storing the data. This is important, as it makes it much easier to add more and more context data from different systems to support the decision making process without the need to centralize all this data in a single system.

    Looking forward to your future posts!

Website Design & Build: tymedia.co.uk