What would be a good machine learning model to predict the next vending machine location? I want to build a machine learning model to choose a location for the next vending machine in Boston. I want to divide the map into small neighborhood, and I came up with features that are related to the geospatial locations and user information.
One paradox that concerns me is that: we'll use past vending machines' features (X) and sales (y) to train the model; in that case, the model that predict the next vending machine will likely choose some place very close to the old vending machine locations. But at the same time, we wouldn't want to build a vending machine in exactly the same location as an older one.
Additionally, vending machines are usually built one by one as time goes by; the model used to choose the 10th vending machine in the city, and the 1300th vending machine could be very different. This almost made me think this is a time-series problem. How to build a model that can take these problems into consideration? Any insight on features, logistics, or models are all deeply appreciated!

If you want to frame it as a time series problem, then you might want to go the autoregressive decoder route, where you feed in the sequence of past "outputs" (using teacher forcing, as is commonly used to parallelize transformer model training) in addition to your regular input features in order to help the model predict the next location. Note that the time series formulation and using the historical data as ground truth assumes that the historical placements and timings were optimal, which is a shaky assumption. However, you should be able to approximate human performance provided you have supplied your model with enough information.
Note that this is likely a high perplexity task so don't expect your training losses to get very low-- but even an RNN should be a good fit for this. Recurrent memories retain information about likely candidates and can pivot to another close or "next-best" option if the model's top-1 pick in the current timeframe isn't the "best fit" to the historical data.
In any case, it sounds to me like your problem has an inherent autoregressive property. If you wanted to flatten out the time element, the problem becomes something like, "given the currently deployed machines and the other input features, predict a heatmap, top-k or a single-best location for future machines", for which a variety of architectures could be reasonable candidates.
