Predicting customers purchase
I recommend using LSTM RNN or CNN algorithm to pick up the most popular product of on-going month based on the past purchasing history. I have created a working product ranking model for online shopping site lands'end in the United States.

In order to archieve the goal of this solution, you need to follow several steps.


collecting the dataset

I think you already gathered the dataset for this part.
Processing of the dataset for supervised learning.


Cleaning up the dataset - please remove rows that contains NaN columns
mapping the products into eyes - you need to map the categories and products into row matrix with the element of 1 and 0.
Normalization - you need to rescale all real numbers into [0, 1]
split the dataset into the training, valid and test data.

Build Deep learning model like LSTM RNN


select the deep learning framework. I recommend Tensorflow, Keras.
set the dimension of model. i.e. the number of layers, the number of neurons per layer.
optimizer, metrics

Training the model and testing
Get the predicted ranking of the category by monthly.


Protip: the most important thing to get the better result is which column would be set the output for ranking. You should sum up the total purchasing count per product or per category by month or week.