Direct marketing is an advertisement method in which customers are directly informed for product offers through one-to-one communication channels. With the advancements in technology, customer databases of businesses began to grow well, therefore, detecting the needs of each customer and offering the optimal product becomes harder. Large customer dataset is needed to be analyzed to make best product offers to potential customers over the most proper channels and to increase the return rate of a marketing campaign. However, this goal is not very easy to accomplish, since negative returns in the dataset usually outnumber the positive ones. Imbalanced datasets cause data mining algorithms reveal poor performance. This thesis studies the similar problem for bank product marketing. Two data mining solutions are proposed, partitioning based method and model based method for bank product and channel prediction. First proposed approach depends on unsupervised learning method, and uses clustering to predict product and channel for new customers. Second one presents a hybrid approach with unsupervised and supervised learning methods, which first constructs a classification model to detect if the customer is buyer or non-buyer and then clusters customers for product and communication channel offers. Experimental analysis on real life banking campaign dataset shows promising results.