Customer retention is a critical issue for the survival of any business in today's competitive marketplace. In this paper, we propose a dynamic procedure utilizing self-organizing maps and a Markov process for detecting and preventing customer defection that uses data of past and current customer behavior. The basic concept originates from empirical observations that identified that a customer has a tendency to change behavior (i.e. trim-out usage volumes) before eventual withdrawal and defection. Our explanatory model predicts when potential defectors are likely to withdraw. Two strategies are suggested to respond to the question of where to lead potential defectors for the next stage, based on anticipating when the potential defector will leave. Our model predicts potential defectors with little deterioration of prediction accuracy compared with that of the multilayer perceptron neural network and decision trees. Moreover, it performs reasonably well in a controlled experiment using an online game.