This book describes advanced machine learning models - such as temporal collaborative filtering, stochastic models and Bayesian nonparametrics - for analysing customer behaviour. It shows how they are used to track changes in customer behaviour, monitor the evolution of customer groups, and detect various factors, such as seasonal effects and preference drifts, that may influence customers' purchasing behaviour. In addition, the book presents four case studies conducted with data from a supermarket health program in which the customers were segmented and the impact of promotional activities on different segments was evaluated. The outcomes confirm that the models developed here can be used to effectively analyse dynamic behaviour and increase customer engagement. Importantly, the methods introduced here can also be used to analyse other types of behavioural data such as activities on social networks, and educational systems.