For difficult prediction problems, practitioners often segment the data into relatively homogenous groups and then build a model for each group. This two-step procedure usually results in simpler, more interpretable and actionable models without any loss in accuracy. We consider two important marketing problems, predicting customer-product preference and simultaneous market segmentation and structure. We present a model-based co-clustering algorithm that interleaves clustering of customers and products and construction of prediction models to iteratively improve both cluster assignment and fit of the models. Our approach applies to a wide range of bi-modal or multimodal market data, where it can be used to address prediction or segmentation problems. We demonstrate the effectiveness of our approach on the ERIM market data.