1 Introduction

Personalization

is used to tailor information to an individual user’s (customer’s) specific needs and preferences. By tailoring the representation of products and services, several improvements can be achieved. These include, among others, less interaction efforts for customers to find the specification of services or products (configuration) they are interested in, the recommendation of new relevant products and services a customer never thought of (serendipity effect), and related increases of sales (Linden et al. 2003).

Mass customization

is a basic production paradigm that allows the production of highly variant products and services at costs close to those of mass production (Pine II 1993). This approach brings flexibility to the way customers can specify their individual needs and also comes along with new challenges for production processes that have to be made more flexible and robust. Knowledge-based configuration (Felfernig et al. 2014) is regarded as a key enabling software technology for establishing mass customization within a company.

An often forgotten side-effect of the application of mass customization is the phenomenon of mass confusion (Huffman and Kahn 1998). The higher the number of parameters that have to be specified by users or the higher number of products to choose from, the lower the probability that customers will take a purchase decision. Consequently, it is important to extend existing mass customization approaches with personalization concepts that help customers to overcome the challenges of mass confusion. The goal of this special issue is to present advancements in the research areas of personalization and mass customization with a special focus on approaches combining both fields.

We provide a short overview of technological developments in both fields.Footnote 1 In Section 2, we provide an overview of different technological developments in the area of knowledge-based configuration. A short overview of personalization technologies can be found in Section 3. In Section 4, we summarize the articles included in this special issue. In Section 5 we discuss further research challenges and conclude this overview.

2 Configuration technologies

A key enabling technology of mass customization is knowledge-based configuration (Felfernig et al. 2014; Shafiee et al. 2016; Stumptner 1997). Early configuration systemsFootnote 2 were implemented on the basis of rule-based technologies (McDermott 1982). Model-based approaches (Mittal and Frayman 1989) predominate in existing systems, especially when the underlying knowledge bases become large and complex. Model-based approaches allow a clear separation between domain knowledge and corresponding problem solving knowledge. Hence they avoid an intermingling of both knowledge types, which has significantly increased related development and maintenance efforts (Soloway et al. 1987). Configuration technologies are applied in various domains such as telecommunication switches (Fleischanderl et al. 1998), computer hardware (McDermott 1982; Henson 2000), industrial machinery such as compressors and tractors (Tiihonen et al. 2013), Internet of Things (IoT) (Felfernig et al. 2016), and financial services (Leist and Winter 1994). For an overview of applications and a discussion about the history of configuration technologies, we refer to Felfernig et al. (2014). A sketch of the major components of a configuration environment is provided in Fig. 1.

Fig. 1
figure 1

Sketch of the basic architecture of a configuration environment. User-related preferences (requirements) are stored in the user model. The set of potential configurations is defined implicitly by the configuration knowledge base. A configuration system (configurator) determines a configuration that takes into account the defined set of requirements and the constraints in the configuration knowledge base

Many existing commercial configuration environments include constraint technologies (Tsang 1993) to support the solving of configuration tasks (Desisto 2004; Felfernig et al. 2014). In order to make configuration technologies applicable in interactive settings such as a web-based configurator, related reasoning engines must be able to provide response times that are below one second (Card et al. 1991). Such settings require the provision of efficient reasoning engines that often exploit compiled knowledge representations such as binary decision diagrams (BDDs) (Andersen et al. 2010) to more efficiently determine whether a solution exists for the given configuration task. In situations where no solution can be identified for a given set of customer requirements, conflict detection (Junker 2004) and diagnosis approaches (Bakker et al. 1993; Felfernig et al. 2004; Felfernig et al. 2012) are applied to assist users in finding a way out from the no solution could be found dilemma.

3 Personalization technologies

The overall idea of personalization is to tailor contents to known wishes and needs of a specific user – related information is stored in a user model that is used to extrapolate which items such as products, services or units of information should be shown to a user. There are various AI technologies that support the identification of items that should be shown to a user; an example thereof are recommendation technologies (Jannach et al. 2010). For example, collaborative filtering recommends to the current user items that have previously been positively evaluated by users with preferences similar to the current user. Furthermore, content-based recommendation approaches are based on the idea of analyzing the items purchased by the current user and recommend similar items in the future. Finally, knowledge-based recommenders identify relevant items on the basis of a set of filter constraints (Jannach et al. 2010). A sketch of the major components of a recommendation environment is provided in Fig. 2.

Fig. 2
figure 2

Sketch of the basic architecture of a recommendation environment. User-related preferences are stored in the user model. Items are characterized by their ratings and additional semantic information. A recommender system exploits the information of the user model and the item catalog to derive a ranked list of items which is presented as the recommendation to the user

There are a number of approaches to integrate the ideas of recommender systems into knowledge based configuration environments. Starting with Coester et al. (2002), further recommendation approaches have been proposed (Tiihonen and Felfernig 2010). The most recent work on the topic can be found in Fargier et al. (2016) where recommendation algorithms are evaluated on the basis of real-world configuration knowledge bases. The application of recommendation approaches is not restricted to solution search; it has also been shown how recommendation technologies can be exploited interactively to determine personalized diagnoses in situations where no solution meets the preferences that the user specified (Felfernig et al. 2009). A diagnosis approach that combines high prediction quality with highly efficient diagnostic reasoning is introduced in Felfernig et al. (2012).

4 Special issue summary

This special issue comprises articles related to the areas of personalization and mass customization. In the following, we provide an overview of these articles.

Supporting the social dimension of shopping for personalized products through online sales configurators. On the basis of an analysis of the existing state-of-the-art, Grosso et al. (2016) introduce a classification of different approaches to enhance the shopping experience of users purchasing complex products and services with a corresponding social dimension. A simple example thereof is the communication of a purchase on Facebook where the basic properties of the configuration are shared. This social dimension does not only play an important role for users (e.g., being able to inform friends about his/her new purchases) but also for companies in terms of being able to exploit user engagement to popularize their product assortments. The contribution of Grosso et al. (2016) can be interpreted as a simple form of collaborative recommendation since a group of friends is notified about items that have been purchased by the current user.

Human Computation for Constraint-based Recommenders

Ulz et al. (2016) introduce basic concepts that alleviate the knowledge acquisition bottleneck that often occurs in the context of developing large and complex knowledge bases. In such scenarios, knowledge engineers get overwhelmed by the increasing amount, size, and complexity of knowledge bases. The idea of Ulz et al. (2016) is to exploit the concepts of Human Computation (von Ahn 2005) to intensify the engagement of domain experts in knowledge engineering processes. The authors show how to automatically derive constraints from a set of micro-contributions which represent configuration and recommendation knowledge directly provided by domain experts.

Managing Variants of a Personalized Product; Practical Compression and Fast Evaluation of Variant Tables

Haag (2016) introduces a theoretical framework and corresponding implementation for the efficient management of product variant tables that explicate all valid product variants as combinations of product features. Knowledge compression techniques play a crucial role especially in the context of reasoning with complex knowledge bases. They help to significantly increase search efficiency and thus make reasoning engines also applicable for interactive settings. The approach introduced by Haag (2016) shows in detail how compressed knowledge representations of product variant tables can be derived. A working example is introduced and results of performance evaluations are presented.

Constraint-Based and SAT-Based Diagnosis of Automotive Configuration Problems

On the basis of examples from the automotive domain, Walter et al. (2016) discuss the common properties of constraint-based and SAT-based approaches to the determination of diagnoses. The paper provides a contribution especially to the area of interactive configuration by showing equivalences in the properties of optimal diagnoses determined with different diagnosis approaches (direct diagnosis and partial weighted MinUNSAT solving). In this context, diagnoses indicate sources of inconsistencies in user requirements and point out alternatives for changing these requirements. For evaluating the diagnosis approaches discussed in the article, different real-world knowledge bases from the automotive domain are used.

Building Renovation Adopts Mass Customization – Configuring Insulating Envelopes

Barco et al. (2016) introduce configuration approaches that support architects when designing environmentally friendly insulating envelopes for existing buildings. Such designs must respect constraints caused by manufacturing, transportation, installation, energy efficiency and aesthetics. The authors introduce an intuitive user interface that supports related planning processes. The paper includes a detailed discussion about the applied constraint-based knowledge representations and a discussion how personalization approaches can help to further improve the overall configuration process.

5 Research challenges and conclusions

The articles of this special issue provide relevant contributions to advance the state-of-the-art in the field of personalization and mass customization. A number of research issues exist from our point of view that have to be tackled by future research.

Open Configuration

This paradigm seeks to open configuration processes in various ways. For example, existing configuration environments assume the existence of a single user who is in charge of configuring a product. However, there are many scenarios where groups of users have to take a decision. One example scenario is software release planning: a group of stakeholders has to decide on which requirements should be implemented in which software release – a related initial scenario is presented in Felfernig et al. (2016). Group-based configuration triggers new challenges related to personalization processes since existing algorithms have to be adapted to propose recommendations for groups instead of single users (Masthoff 2011). Furthermore, current approaches usually rely on the closed world assumption. However, in some domains new component types or parameter values may be introduced during a configuration task – opening the configuration task also in this sense.

Efficient Knowledge Acquisition

Existing approaches to knowledge base development and maintenance already help to reduce time efforts. However, there are some open challenges to be tackled. For example, test cases for regression testing are in most of the cases defined manually or reused from completed configuration sessions. Future developments should take into account the state-of-the-art in software engineering and try to integrate these approaches into configuration knowledge engineering. Furthermore, theories from cognitive psychology should be taken into account. For example, in the context of knowledge base development and maintenance, intuitive modeling and structuring concepts have to be provided that minimize the efforts of understanding a knowledge base.

Human Decision Making

There are a number of open issues related to the way in which users take decisions. Existing configuration environments do not take into account the effect of decision biases (Felfernig 2014) and therefore may often propose suboptimal configurations to a user. The impact of decision biases has to be investigated especially in the context of configuration scenarios. Related countermeasures have to be developed to improve the overall decision quality in configuration sessions.

Personalized Configuration Search

As already mentioned in a couple of research contributions (Coester et al. 2002; Tiihonen and Felfernig 2010), personalizing search is extremely important due to the fact that configurators need to come up with solutions of relevance for the user. An issue in this context is to directly integrate personalization knowledge into corresponding search heuristics defined, for example, within a constraint solver (Tsang 1993).