1. A computer program embedded on a computer readable medium configured to execute steps for computing a preferred set of prices for a plurality of products, comprising: modeling internal sales, using an econometric engine, as a function of price to create an internal sales model, wherein said econometric engine clusters said plurality of products into discrete sets of related products whereby each said set is made up of highly substitutable related products, further wherein said each said set is defined by a user such that each said set is unique to said user, and wherein said sets are generated by comparing product attribute information, and wherein the internal sales model is for the discrete sets of highly substitutable products; modeling costs, using an financial model engine, to create a cost model which includes an activity-based costing module configured to receive variable costs and fixed costs, wherein variable costs are related to the volume of sales and wherein fixed costs are independent of volume of sales, wherein said cost model determines a total cost for each product in a given demand group in a given store for a given time period by computing a cost for each selected costing activity including labor, stocking time, transportation, receiving, inventory, bagging, checkout and invoicing, and wherein computing costs utilizes industry data to provide standard cost estimates, and wherein the total cost for each product is dependent upon the attribute information of that product; and receiving input using an optimization engine coupled to the econometric engine and financial model engine, from the econometric engine and financial model engine, wherein the optimization engine generates the preferred set of prices.