Markov Chains for sequential data
If you know what the state history is, you don't need a 'hidden' Markov model, you just need a Markov model (or some other mechanism).  The 'hidden' part implies a distinction between some sequence of unobservable states, and some observations that are related to them.  In your case, you say you have observed the past states for each customer, so you don't necessarily need to infer anything 'hidden'.

The simplest way to proceed in your case would be to calculate a transition matrix, i.e. probability of state given previous state.  That's a very simple model but it might do what you want.  To do this, just look at all state pairs, and count to get p(s2 | s1) = p(s1 &amp; s2)/p(s1).  This is equivalent to a 1-gram model that you've probably read about. Each state is akin to a word.  

You could also make a more complex model, like a 2-gram model or even an RNN.  Honestly, since you have a fixed amount of history, you can just throw your data into an scikit-learn model or xgboost or something, where each customer's history is the vector of predictors and the next state is the outcome.  It won't know the sequential dependencies, but you are essentially indexing the past states by time, so it may work pretty well.

If you need more clarification about part of this, just ask.