Are there any performance benefits of using an ESM (Event strategy Manager) to fire real time marketing events
In latest Pega marketing 7.22 SOAP service "http://<host>:<port>/prweb/PRSOAPServlet/SOAP/PegaMKTDataMktEvent/Services?WSDL" is provided to trigger real time marketing events. Now in our current project we are thinking of two following ways
1. Client's existing BI system will identify the events in customer data and consequently invoke this service directly to trigger real time marketing campaigns.
2. We will use Pega ESM to identify events directly from external customer DB and invoke this service.
Important thing is which approach will give better performance, secondly any other pro and cons of each approach.
Also what are the various ways of ESM to get customer data stream i.e directly connecting to customer DB tables or via some JSON stream etc.
**Moderation Team has archived post**
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
You can see ESM as some kind of a prefilter that can keep state across multiple raw events for a customer and detect high level events, hence it will also deal with much higher volumes.
Examples: say ESM is listening to a stream of Call Detail Records (thousands of tens of thousands per second). It can detect for example whether for a given customer there are more than 7 CDRs of type x (say dropped calls) in the last 7 days. If so, it will emit a high level event, and this can trigger a Pega Marketing campaign. Typically the drop off rate between raw events and high level event could be several orders of magnitude (1% or 0.1% high level events). There are also other approaches, for example ESM could update an Offer Status, causing an inflight Offer Flow to continue to the next state.
A counter example would be some external trigger for which you dont need to look across events in the stream and simply fire of a Pega Marketing campaign. Say a credit card is flagged as fraudulent by some external system and you want to notify the customer. In this case you are directly triggering a Pega Marketing campaign.
As an aside ESM is an optionally licensable component.
1. So as per your comment can we safely say that the second approach i.e " We will use Pega ESM to identify events directly from external customer DB and invoke this service" will have much better performance than external BI system based on event detection making numerous direct service call to launch Pega campaign?
2. If you intend to use ESM then do we need any extra special server configuration additional processing power, extram RAM, dedicated nodes etc?
Yes - but this is only required if you are looking for patterns across multiple raw events. You could stream it into ESM in real time through a WebSocket, a let it listen to a Kafka topic; or alternatively run it against a database table of events (potentially losing out on real time benefits). And yes you'd need to properly size for ESM nodes (mostly memory hungry) and ensure license coverage.