As technological advances open new avenues for communications and commerce, they also open new markets for fraud. To combat fraud, vulnerable businesses subject their databases of customer transactions to several data mining techniques that search for patterns indicative of fraud. The difficulty is that real-life fraud takes many different forms and is constantly evolving. Thus, one big challenge in fraud detection is coming up with algorithms that can learn to recognize a great variety of fraud scenarios and adapt to identify and predict new scenarios. Another challenge is creating systems that work quickly enough to detect fraudulent activities as they occur.