≡ Menu

First Look – SeeWhy


On my recent trip to Europe I got my first chance for a real look at SeeWhy’s product and their announcement today of SeeWhy Tracks Individual Customers’ Digital Mood seemed like a good reason to blog a little about this interesting product. The latest version helps manage customer experience by analyzing page errors, page load times and abandonment of critical processes for very large numbers of customers simultaneously.

SeeWhy delivers in-memory profiling of event streams. Using sliding time windows, aggregation functions and more they can track very large numbers of profiles in real time. One customer, for instance, tracked 5.5M profiles simultaneously, tracking many tens of millions of transactions in a few months against those profiles. The technology allows the definition of metrics, both individual and aggregate, that are then updated in real-time as events are received. For each profile, or for the overall set of results, the last event received is “time zero” and sliding windows (of 24 hours or 30 days for instance) are managed based on that fact. Averages, maximums and calculations/comparisons for these time windows are tracked and recalculated for all the relevant profiles as events are received. Calculations can be simple (addition or multiplication), more complex (excluding outliers or doing regression analysis) or custom depending on what is required. Actions, consequences, can be defined for these metrics so that systems can respond automatically to thresholds or other metrics.

One feature I found interesting is that updates can be “chained” – the first calculation can be triggered by the receipt of a specific event or transaction while other calculations can be triggered by updates to the first calculation for instance. This allows progressively more complex calculations to be layered and all triggered by a single event with a high performance profile. Definition of this was straightforward and seemed very business-friendly. Comparison of actual to expected and of individual to collective values are easily specified, helping to bring specific patterns to the surface so they can be actioned.

One example SeeWhy used was of fraud detection, specifically of processing the potentially fraudulent transactions found by some other system given those transactions have a relatively high “false positive” rate. The SeeWhy system was able to prioritize the potentially fraudulent transactions for follow-up more effectively so that a team of agents went from finding 14 instances of fraud in 1,000 transactions to finding 14 instances in the first 112 and 124 in the full 1,000. The event analysis helped accurately differentiate the different circumstances that were triggering the original fraud rules. Another was of analyzing initial customer behavior (right after onboarding) to “nudge” customers to try things or do things that will help establish them as “good” customers by detecting that their behavior patterns are trending to less-good.


Comments on this entry are closed.

  • Paul Vincent October 7, 2008, 10:23 pm

    Hi James,
    FYI “chaining” of event processing elements, creating increasingly high-value events from prior abstract events, is a pretty standard feature in Complex Event Processing tools. This chaining is usually explicit (e.g. via a kind of process orchestration diagram) but can also be inferred (e.g. via a production rule engine).