The number of ATMs has increased dramatically over the last couple years to include almost half a million in America alone. They have become an expectation in everyday transaction and have generated a fair amount of revenue for banks. With the prevalence of ATMs, customers are more likely to deposit cash rather than stockpile it at home, giving banks more capital to distribute in the form of loans. However, the cost of maintaining ATMs can outweigh the revenue generated from deposits. In order to avoid this issue, ATMs must be placed in locations that allows them to serve the most amount of people every month.

What it does

Generating the optimal location for ATMs takes several variables into account:

  • Proximity to known crime hotspots
  • Proximity to small businesses
  • Proximity to other ATMs
  • Predicted population flow As the number of ATMs increases, so has the incidence of crime at ATMs. ATMs placed in or close to known crime hotspots have a generally lower number of uses per month as compared to those placed in safer areas. However, new ATMs should also be placed well enough away from existing ones to ensure a large amount of unique customers.

Our general solution was to create a heat map of crime over layed with ATM locations in the city to visualize new places to keep ATMs and bad locations for existing ones. In addition to that, we worked on creating a neural network that determines the exact position of optimal ATMs based on all the criteria listed above. Since it is an example of machine learning, it will update dynamically as the data it is given is updated.

How we built it

Crime Heat Map with ATM Location Overlay

To aid in the optimization of ATM locations, we developed a crime heat map. Seeing that Capital One provided us with access to ATM locations in Arlington, Virginia, we gathered data from public crime logs in that city for the last 90 days. After parsing the data into a usable csv, we developed a metric called the “Crime Index”, which counts the number of reported crime reports within a given radius of a given point described by latitude and longitude. The points are set in a grid with one city block between each point. This ensures a massive amount of data to generate an accurate gradient in the heat map representation of crime.

On top of this heat map, we displayed the locations of all the Capital One ATMs in Arlington. When shown on the heat map, it is obvious which ones are in crime hotspots and should be relocated for better service. It also exposes the areas where crime is not an issue and there is no ATM present, thus displaying several regions where new ATMs can be placed effectively.

The Neural Network

Calculating the areas where these new ATMs could be placed also involved the use of a neural network. We made the neural network using TensorFlow. We were able to read the csv files, analyze the criteria, and run test cases to train the neural network accordingly. Though the overall process did not go smoothly, we were able to figure out the intricacies of constructing an adaptive neural network that worked for our purposes.

Challenges we ran into

Converting csv Files into Readable Data

One of the first challenges we ran into was parsing through data for many ATMs. We wanted to use the location and data for as many ATMs as possible to better optimize the system, but Nessie only displays 10 ATMs at a time. We solved

Plotting the map points on the heat map

While we wanted to use as much data as possible, running every single latitude and longitude through the program would take too long. We figured that instead of using every point, we could use one point for every city block and average the data accordingly. This would make the program run more efficiently with a gradient rather than individual points on the heat map. We calculated the longitude and latitude equivalents of one average city block and only chose to plot points in a grid with one city block of distance between them.

What's next for ATM Location Optimization

Within the scope of ATM Location Optimization, the system can be greatly improved with an increase in the amount of data available to us. This model uses only ATM locations and the criteria for optimization described above. With access to data such as the number of transactions per ATM, specific withdrawals and deposits, and the cost of upkeep, we can more accurately identify the characteristics of currently effectively placed ATMs, thus leading to an improved weighting system for the neural network. We will also be able to add more criteria to test in the neural network such as accurate measurements of foot traffic along streets that would help model optimum locations more accurately as well.

Looking past ATMs, the same neural network and heatmap can be tweaked to generate lists for the optimized placement of any small business or service. It could, for example, optimize the location of a new coffee shop by setting the criteria to population density, locations of other coffee shops, and average affluence of cities. Or the same algorithm could be applied to finding the best space for a new fire station, optimizing travel times to different parts of the city. Obviously, this program works far beyond the scale of single ATMs. With the right input data and criteria, this same program can help optimize the locations of any business or service in any city across the world.

Share this project: