Because of its convenience and strength in complex problem solving, case-based reasoning (CBR) has been widely used in various areas. One of these areas is customer classification, which classifies customers into either purchasing or non-purchasing groups. Nonetheless, compared to other machine learning techniques, CBR has been criticized because of its low prediction accuracy. Generally, in order to obtain successful results from CBR, effective retrieval of useful prior cases for the given problem is essential. However, designing a good matching and retrieval mechanism for CBR systems is still a controversial research issue. Most previous studies have tried to optimize the weights of the features or the selection process of appropriate instances. But these approaches have been performed independently until now. Simultaneous optimization of these components may lead to better performance than naive models. In particular, there have been few attempts to simultaneously optimize the weights of the features and the selection of instances for CBR. Here we suggest a simultaneous optimization model of these components using a genetic algorithm. To validate the usefulness of our approach, we apply it to two real-world cases for customer classification. Experimental results show that simultaneously optimized CBR may improve the classification accuracy and outperform various optimized models of CBR as well as other classification models including logistic regression, multiple discriminant analysis, artificial neural networks and support vector machines.