Front-End Web & Mobile

Cost Optimization for Amazon Location Service

The development of location-based services is increasing at a rapid rate, supporting use cases such as user engagement and geomarketing, asset track, and delivery services. In this blog post, we will talk about how you can make the use of Amazon Cost Explorer to understand the costs around Amazon Location Service and optimize as per your use case.

Use Cases

In this post, we’ll discuss ways to architect your application to provide the most cost optimized usage of Amazon Location Service. We’ll focus on three main use cases:

  • User engagement and geomarketing
  • Asset Tracking
  • Delivery

User Engagement and Geomarketing

Amazon Location Service can be used to build solutions to improve user engagement. When you know where a user is, that data can be used for targeted advertising, or built into an online ordering system. Let’s take a look at a few examples:

  • A restaurant can set up a geofence around a location and track user locations through their mobile app. When a user enters a geofence and is close to the restaurant, the mobile app can provide a notification with a coupon code or discount to entice the user to dine at the restaurant.
  • A retailer can provide store pickup and track users through a mobile app and can alert the pickup workers to have the order ready when the customer gets within a set distance of the store, having the order ready when they arrive.

Both of these use cases make use of geofencing. To optimize your geofence costs, you can take advantage of tracker filtering, which will be discussed in the next section, and geofence collections. An account is charged per evaluation of a geofence collection, not per geofence. For the restaurant example, a single geofence collection could contain up to 50,000 restaurant locations, and only be charged for one evaluation on each location update. This allows the restaurant to save a significant amount of money over evaluating individual geofences for each location.

  • A retailer needs to create a map showing their user locations. Creating this map requires a latitude/longitude of each store location. They don’t expect these store locations to change, however would like to add new store locations as they are opened. In the first week of launch, over 10,000 people used the app to find a store location close to them.
  • In this case, we can make use of stored geocodes. Every time a new store is opened, the address can be geocoded and stored, and then displayed on the map. For static assets, if you anticipate the address will be searched more than 8 times, it becomes more cost effective to use stored geocodes over non-stored geocodes. In our case, the addresses were searched 10,000 times, which makes stored geocodes particularly cost effective.
  • A large insurance company has a database with billions of claims, and each claim has an agency attached to it. They’d like to map these claims and find trends and analytics but need latitude and longitude. They can use Amazon Location service to geocode these.

In this case, geocoding billions of rows could be costly. By implementing a caching layer that checks to see if each address has been geocoded already, the customer can reduce their geocoding costs by reducing the number of calls to the Place Index API and using data they may have already geocoded.

Asset Tracking

With Amazon Location Service Trackers, you can track and store asset locations without managing any infrastructure. Trackers are charged on geofence collection evaluations and device updates. Amazon Location Service offers three filtering options:

  • Time-Based
  • Distance-Based
  • Accuracy-Based

We have a separate blog post that details the cost implications of Amazon Location Service tracker filtering.

Delivery

Our final use-case centers around delivery applications. When making a delivery, customers want up to the minute tracking on how long it will take to get their item. Using Amazon Location Service Trackers and routing, a customer can design a system that provides customers with real-time distance and time calculations.

  • A pizza delivery company wants to provide their customers with a time estimate on when their pizza will arrive after it leaves the store. Using Amazon Location Service routing, they can provide a list of stops along the way, and get a route time to each stop. Providing this information to the customer allows the customer to view when they can expect their pizza.

Using Amazon Location Service Routing, the pizza company can do this, however calculating a route on every tracker movement can be costly. By implementing on-demand checks, the delivery time will only update when a user checks the app. This means many customers may never check the app, resulting in no cost to the business for routing charges.

In addition to routing, they can also implement geofencing around a customer’s location, allowing them to alert the customer when the pizza has arrived within a set distance.

Using distance-based filtering, the business can ignore small changes like, if the distance is under 30m from the previous position, this filtering can help reduce geofence evaluation costs by ignoring jitter caused by small location updates. Therefore, if the delivery driver is making multiple deliveries in a small area, costs can be reduced by reducing the number of times a geofence collection is evaluated.

See the Implementing Estimated Time of Arrival and Proximity Notifications for Delivery using Amazon Location Service blog post which dives deep into this use-case.

Conclusion

In this post we’ve discussed how you can make use of geofence collections, tracking filtering, and stored geocodes to cost optimize your application using Amazon Location Service. Customers can leverage the above use cases to implement a solution which will help in savings costs as well as make the use of AWS Cost Calculator to estimate the costs.

About the authors:

Drishti Arora

Drishti Arora is an Cloud Application Architect within Shared Delivery Teams at Amazon Web Services. Drishti works with AWS customers to help them in their cloud journey and provide cloud solutions with Application Development.

Harnisha Patel

Harnisha Patel is a Cloud Application Architect at Amazon Web Services. Harnisha works with AWS customers to help them architect, develop and re-engineer applications to fully leverage the AWS Cloud.