An international audio equipment manufacturer would like to help its customers reduce unit shipping costs by adjusting order quantity according to product preference. We introduce the problem faced by the manufacturer as the Multiple Container Loading Problem with Preference (MCLPP) and propose a combinatorial formulation for the MCLPP. We develop a two-phase algorithm to solve the problem. In phase one, we estimate the most promising region of the solution space based on performance statistics of the sub-problem solver. In phase two, we find a feasible solution in the promising region by solving a series of 3D orthogonal packing problems. A unique feature of our approach is that we try to estimate the average capability of the sub-routine algorithm for the single container loading problem in phase one and take it into account in the overall planning. To obtain a useful estimate, we randomly generate a large set of single container loading problem instances that are statistically similar to the manufacturer’s historical order data. We generate a large set of test instances based on the historical data provided by the manufacturer and conduct extensive computational experiments to demonstrate the effectiveness of our approach.