Predict Best Branch Locations For a Company
This is a broad question, what I offer is one of many possible approaches; I will use R workflow (sf package to be exact).

The first step is to generate a grid covering your area of interest - city, country, continent, whatever :) Consider the approach described in this answer on StackOverflow. The size of the grid cells will depend on your company product - the catchment area of a corner shop is different from a catchment area of a strip mall.

The next step is link your store locations to grid cells - sf::st_intersects will be your friend here, and aggregate your desired metric (sales volume, new customer acquisition, or what not) per grid cell.

The third step is to find as much demographic and economic data as possible for administrative regions of your country (counties, districts, census areas...) - this will be country specific, so I cannot be your guide you here - and again link them to your grid.

The last step is creating a regression for desired output in a grid cell depending on the economic and demographic indicators.

Once you have a formula you can apply it to all the empty grid cells and pick the 10 most promising.

Edit [2019-01-22]: I have extended the suggested workflow into a blog post, you can view it at
http://www.jla-data.net/eng/branch-network-optimization-in-r/