To respond to requests for proposals from clients requiring complex Information technology (IT) services, IT service providers have to prepare a solution composed of the multiple services requested by the clients and price that solution. Then, each provider competes in a tender-kind of process trying to convince the client with their solution. Pricing these solutions/deals, using historical and market data, is a complex task that we studied in our previous works. In our prior pricing approaches, we used a simple algorithm for selecting similar historical and market deals to the one we are trying to price, before we mine the data of these deals to estimate the costs of that latter deal. However, there are multiple limitations to that algorithm that we overcome in the novel approach that we present in this paper. These limitations include missing on some similar deals due to the way we chose them. Our new approach involves an iterative algorithm that selects peer deals at different levels until a pre-specified number of deals is determined. We present a proof-of-concept implementation of our approach, using real-world data, to illustrate its efficiency.