Geo-based real time marketing for Financial Services on AWS
Financial Services Institutions (FSIs) are looking for opportunities to exploit interoperability across a collaborative ecosystem to boost transactions through their channels, partners’ channels, and payment methods. From this post: “Forrester asserts that aggregators and intermediaries that create value across industries will become important agents in a diverse collaborative ecosystem. However, not all organizations have the tools to decipher and understand what this data means”. Therefore, to reach the right audiences at the right time, wherever they are, it’s relevant to have rich data in near real-time, allowing us to deliver effective and relevant marketing campaigns.
As mentioned previously, FSIs are looking for mechanisms/technologies like Location-Based Advertising (LBA) to bring their customers closer to the value that their ecosystem of allies could provide. LBA is a strategy for marketing that combines mobile ads with location tracking to show consumers content that is relevant to their physical location. For example, if a client is part of a banking loyalty program that has special offers from an ecosystem of allies, they might be open to receiving the offers that suit their context (i.e., place, date, time, desires) after having opted-in to share their location safely, and accepted to receive offers from their favorite brands.
This post describes a reference architecture for an application that sends near real-time notifications based on users’ locations. This application enables marketing areas to release segmented marketing campaigns based on customer locations, with the option to extend it to include data such as customer preferences or needs, demographic information, finance status, among others. With the prior client’s approval to know their locations, the solution validates in real-time if this customer is a potential buyer sending them a time-bound offer based on their preferences, location, and the bank’s merchant partnership.
In the end, the marketing users can see how many notifications they send through different channels (SMS, Voice channel, push notifications, email, etc.). Furthermore, they can check the effectiveness of their campaign based on the analytics of their bank transactions. This will help manage the lifecycle of a marketing campaign, going beyond the channel effectiveness measurement and understanding the market impact.
Overview of reference architecture
This reference architecture combines multiple technologies, such as location-based services, real-time and batch data analysis, event buses, and a multichannel notification platform to enable FSI to send offers to customers via SMS, Voice channel, push notifications, and email.
Which services are we leveraging?
Amazon Location Service is a fully-managed service that allows developers to add location functionality, such as maps, points of interest, geocoding, routing, tracking, and geofencing, to their applications. This is done without sacrificing data security, user privacy, data quality, or cost.
Amazon EventBridge is a service that provides real-time access to changes in data in AWS services, their applications, and software as a service (SaaS) applications without writing code.
Amazon Simple Notification Service (Amazon SNS) is a web service that makes it easy to set up, operate, and send notifications from the cloud.
Amazon Managed Streaming for Apache Kafka (Amazon MSK) is an AWS streaming data service that manages Kafka infrastructure and operations. This makes it easy for customers to run Kafka applications and Kafka Connect connectors on AWS without becoming experts in operating Apache Kafka.
Amazon Kinesis Data Analytics is the easiest way to transform and analyze streaming data in real-time with Apache Flink. It lets you quickly build end-to-end stream processing applications for log analytics, clickstream analytics, Internet of Things (IoT), ad tech, gaming, and more.
Architecture and components
- Mobile app: The app tracks the client’s location after their approval. The app sends location data to Amazon Location based on the frequency defined in the mobile app.
- Geofencing and tracking: Amazon Location contains the geofences to determine the action range of the allies’ stores. When a client is near a geofence, it represents a coincidence between the client and the ally locations. Therefore, EventBridge triggers an event in which an AWS Lambda function sends both the client and ally identification numbers to Amazon MSK with a previous validation in Amazon DynamoDB that previous notifications haven’t been sent to the same client in a pre-defined period of time. This is to avoid clients being overwhelmed with too many notifications in a short time.
- Real time analysis: Amazon MSK receives and temporarily stores the clients’ and allies’ identification numbers as well as the event timestamp coming from Lambda. A Kinesis Data Analytics application for Apache Flink then consumes this data in real-time to subsequently enrich it with customer and ally information that is stored in the slow changing data sources in Amazon Aurora. This comprises the necessary information to later send the notification, such as the client’s phone number, or email, and the offer details. Then, the result written to a different MSK topic where another Lambda function takes it and forwards it to both the real-time notification phase and the data lake through Amazon Kinesis Data Firehose.Additionally, a parallel real-time process runs in Kinesis Data Analytics. It processes transactions data coming from another topic of Amazon MSK and identifies coincidences with the previously sent notifications within a pre-defined period of time. For example, if a notification with some offer details is sent to a client at a specific point in time, and this customer later utilizes this offer and thus generates a corresponding purchase and transaction within 15 minutes of the notification reception, it is identified by the Flink process as an effective notification as it resulted in a purchase. This result is also stored in the “Effective Notifications” bucket of Amazon Simple Storage Service (Amazon S3).
- Slow changing data sources: The slow changing data sources are datasets in relational databases, such as Aurora, that include information about customers and the banks’ allies. These can be used during the real-time analysis to obtain the relevant data about the client to send notifications, such as phone number, email, names, and customer preferences. These datasets can be found in customer databases in company applications such as CRM, CCM, or e-commerce.
- Real time notifications: Whenever there is a coincidence between the client’s location and the ally’s store, and this coincidence data contains all of the necessary information to send the notification, Amazon Simple Notification Service (Amazon SNS) sends a message to the client through SMS or push notification to their mobile phone.
- Data Lake: The data lake located in Amazon S3 will host both the entire sent notifications in the “All Notifications” bucket, and the effective ones that resulted in transactions in the “Effective notifications” bucket. Financial institutions can later generate reports about the performance of marketing campaigns using this data.
- Data analytics and reporting: The financial company wants to know the results and effectiveness of the campaigns and provide results to their allies. Therefore, they can use Amazon Athena to analyze the data stored on the Data Lake and easily calculate the rate of effective notifications that resulted in transactions. Amazon QuickSight would simplify campaign analysis using rich dashboards and visualizations.
We have created a demo where you can simulate the movement of a client within a city and check the notifications generated once the client is close to any of the allies. You can access the demo here and follow the next steps to get new offers:
- Initial location: define the initial location – for this, you can place the car in the location you prefer.
- Destination: define the final destination – for this, you can place the finish mark in the location you prefer.
- Draw the route: you can know the route from the initial location to the destination using the Draw button.
- Travel: and finally, you can use the travel button to start moving between the initial location and the destination. You get offers every time you are near a store.
In the near future, we will provide a AWS CloudFormation that can be used to deploy the baseline architecture in your own account.
The geo-based real-time marketing solution for financial services explained in this post defines a reference architecture for sending real-time marketing notifications based on the location of both clients and commercial allies. Additionally, the effectiveness of these campaigns can be measured by the marketing department. This baseline solution leverages several AWS services that can be integrated with existing systems, and customized to meet specific business needs.