Among functionally similar services, service consumersare interested in the consumption of the service that performsbest towards their optimization preferences. The experiencedperformance of a service at consumer side is expressed in its nonfunctionalproperties. Selecting the best-fit service is an individualaspect as the preferences of consumers vary. Furthermore, servicemarkets such as the Internet are characterized by perpetualchange and complexity. The complex collaboration of system environmentsand networks result in various performance experiencesat consumer side. Service optimization based on a collaborativeknowledge base of previous experiences of other, similar consumerswith similar preferences is a desirable foundation. In thisarticle, we present a service recommendation framework, whichaims at the optimization at consumer side focusing on the individualpreferences and call contexts. In order to identify relevantnon-functional properties for service selection, we conducted aliterature study of conference papers of the last decade. Theranked results of this study represent what a broad scientificcommunity determined to be relevant non-functional propertiesfor service selection. We furthermore analyzed, implemented, andvalidated machine learning methods that can be employed forservice recommendation. Within our validation, we could achieveup to 95% of the overall achievable performance (utility) gainwith a machine learning method that is focused on conceptdrift, which in turn, tackles the change characteristic of theInternet being a service market. Besides the comprehensive andscientific identification of relevant non-functional properties whenselecting a service, this article describes how machine learningcan be employed for service recommendation based on consumerexperiences in general, including an evaluation and overall proofof concept validation within our framework.