Improving customer behavior prediction


I am writing a workflow that analyzes different customer sessions and it should predict if the customer will BUY or NOT. I consider a session is the time between the customer logs in and the time he goes by.

I grouped by my data set by SESSION_ID and runned all typical Decision Tree analysis and it worked with an 85% accuracy.

I am satisfied, but I suspect it can be done  better, because my data set have SESSION_ID and CUSTOMER_ID columns and I can see that some CUSTOMER_ID's have different SESSION_ID's, meaning that like in real life, customers logs on to buy more than once.

I want to improve this workflow, but I don't know how to do it. I thought about grouping by CUSTOMER_ID, but I do not know if it is a good idea... because I do not know if mixing data from different sessions is a good idea, even when I would mix data from the same person.

Any help would be appretiated!!