A system is provided for determining customer attrition risk. Data can be aggregated, and risk determined by machine learning methods such as random forest. Alternate scenarios can be simulated. Relative importance of customer attrition risk factors can be determined and ranked. Individualized recommendations can be issued to a customer based on the results of determining that customer's attrition risk.