I am unsure which algorithm would best suit you problem but I recommend looking up Scikit Learning. This is a library used with Python. I used it to develop a relationship between Wifi Signal Strength and relative position. If it were me and I had to do another project like this, given that I only have a basic knowledge I would graph the data in python and then do some research here https://scikit-learn.org/stable/ . Get an idea of what algorithms might be a good fit for the job. https://github.com/joedel651/rfmappingrover/tree/master/Joe The following link is code from my project. If you need examples on how to import files, merge CSVs, Implement Scikit learning algorithms, etc. Including it in case it helps.
Based on the problem you have specifically maybe you could start with a supervised clustering algorithm. Do a train/test/split based on previous data that relates cell phone to some sort of target data which would be what the user tends to buy along with the cell phone based on historic data on what has been purchased in the past.
I hope this gives you some sort of starting point, good luck!