Quality function deployment (QFD) is a product/service design and improvement tool which is basically a transformation of vague and imprecise customer needs into measurable product/service attributes. This article integrates compromise programming based goal programming into the QFD process to determine to what extent the product/service attributes should be improved. The fuzzy set theory is applied to the model to deal with the imprecise nature of data. Differing from existing QFD applications, our proposed methodology applies analytic network process to evaluate the inner dependencies among customer needs, among product attributes and also the relationships between them. Furthermore, it determines the best product/service in the market as the goal employing compromise programming. Finally, the methodology ends with the goal programming method which consists of this predefined goal and the product/service provider's budget limitation. A real-world application on e-learning products provided by the higher education institutions in Turkey illustrates the applicability of our proposed methodology.