Keywords

1 Introduction

The increasingly diverse services have been deployed on the Internet, however, facing massive services with the same or similar functionalities, customers usually feel vacant while selecting one. Since these services are variable over time in the dynamic service market, it is impossible for customers to know all the information of services comprehensively and propose their expectation clearly. However, customers usually choose services that approximate to their preferences based on the known information of services, which makes it difficult to identify the customer requirement for the Quality of Services (QoS) and to satisfy their preferences only by reducing overhead blindly. Therefore, it is becoming vital to confirm the personalized selection rules based on their preferences. In addition, in real life, our experience tells us that customer preferences to goods vary against time, for instance, customer A preferred to Air China last year, nevertheless, he enjoy China Southern Airlines today, which is called customer preference drift [8, 16]. Besides, the time-aware customer preferences play an important role in selecting services from a large pool of services with same or similar functionalities. Therefore, a novel issue can be summarized as RQ1 shown in Fig. 1, which takes a customer as an example: How can we acquire the time-aware customer preference sensing based on customers’ service usage history? For instance, for customer A, his time-aware preferences to airline companies can be sensed based on his service usage history, which will affect his future selection.

Fig. 1.
figure 1

Issues to be solved in this paper

While depicting customer preferences, it is easy to discover that conventional functional properties and QoS are not enough to describe the individual customer requirements as well as the characteristics of the services offered by the broker, e.g. payment method, etc. Therefore, service contract [1] is introduced into services in this paper to describe the individual customer requirements and the characteristics of services. Service contract is the agreement between providers and customers while invoking a specific service in given conditions [15], which may meet the actual demands. However, the traditional customer satisfaction measurement methods based on QoS cannot satisfy the demand. Thus, RQ2 presented in Fig. 1 is identified as following: How do we measure the customer satisfaction degree for contract-based services? For customer A, he focused on QoS preferences before, e.g. the response time of the app or website to reserve plane tickets should be no more than 20 s. However, today he raises another preference that the payment method should be Alipay, which cannot be described by QoS and measured by the conventional methods.

In addition, customer preferences affect their Satisfaction Degree (SD) for goods, which means that the SD values change over time. Similarly, the SD values of customers for services vary against with time as well. Given a set of services with same or similar functionalities, Fig. 2 illustrates a toy example of the SD changes we study in this paper. In this figure, customer C 1 has invoked several services S 1, S 2, etc. in the past. C 1 has different preferences to them with specific invocation time, which means these services correspond to the distinct SD values during different time intervals. Likewise, other customers keep diverse preferences to various services with corresponding SD values called time-aware personalized SD values. The premise of the issues above is that customers can make their requirements clearly and they are provided all the information of services. However, in reality, due to information asymmetry, they cannot raise their requirements distinctly for services in the dynamic service market, which also leads to the loss of parts of the time-aware personalized SD values. As a result, a critical challenge is formed, which is defined as RQ3 shown in Fig. 1: How can we predict the missing SD values? For the example above, customer A keeps different SD values for the China Southern Airlines at diverse time intervals, however, due to information asymmetry that the QoS and contracts of services are fuzzy at some a time interval, his satisfaction for the China Southern Airlines cannot be measured at the time interval, e.g. T1: 0.71, T2: 0.69, T3: null, T4: 0.75, etc. Then, RQ3 focuses on the SD prediction at T3 based on the known SD values and time-aware personalized SD values of other customers.

Fig. 2.
figure 2

SD values changes for customers with various services at different time intervals

Based on the customer preferences analyzed and the full filled SD value matrix, we can recommend the more valuable services to customers precisely, which will be focused on in our future work.

To answer RQ1, we have sensed time-aware customer preferences by the box-plot method and colorful frequency histogram according to their service usage history to show the customer preference distributions. Then, the Customer Satisfaction Model on Contract-based Services called CMS and the SDCalculation algorithm are proposed based on the paper [11, 17] to answer RQ2. The SD values are calculated based on the QoS and contract terms. To predict the missing time-aware personalized SD values, the SDPred algorithm has been proposed, which has answered RQ3. This method collects SD values of different customers for various services at individual time intervals to build a customer-service-time tensor. By performing tensor factorization technique, the unknown SD values will be predicted by the feature matrices.

To verify our methods, several experiments have been conducted based on the data set WR-Dream released by [19]. Firstly, we extract 1000 services with similar functionalities from the data set. Then, we randomly assign two contract term values to each customer-specific and time-specific service. Afterwards, according to the generation customers’ service usage history, time-aware customer preference distributions can be sensed by our methods. Besides, a customer-service-time tensor can be built by the SDCalculation algorithm. Then, the missing SD values can be predicted by the SDPred algorithm. Eventually, several comparison experiments have been conducted, which adequately illustrate the effectiveness of our algorithm. In addition, the impact of three parameters in the SDPred algorithm is studied, which provides more evidences to prove the superiority of our methods.

In summary, this paper makes the following contributions:

  • We formally identify the time-aware customer preference sensing issue in the dynamic service market and adopt statistical method to answer the question.

  • We propose a novel customer satisfaction model, which considers service contract and presents the SDCalculation algorithm to measure the customer satisfaction.

  • We define the time-aware personalized SD prediction issue formally, and propose a novel algorithm SDPred to predict the missing values, which outweighs another three methods demonstrated by our experiments.

The remainder of the paper is organized as follows. Section 2 presents the customer satisfaction model on contract-based services. Section 3 introduces the time-aware customer preference sensing methods. Section 4 presents the time-aware satisfaction degree prediction. Section 5 discusses the experimental setting and results. Section 6 gives a review on the related work. Finally, Sect. 7 offers some concluding remarks and overviews the future work.

2 Customer Satisfaction Model on Contract-Based Services

Based on the introduction above, it is clear that service contract focuses on the non-functional properties and consists of several contract terms. The paper [9] divided contract terms into five types, namely Provider Obligations, Usage of Information, Warranties and Liabilities, Delivery Time, Price and Payment terms. However, we distinguish QoS from contract and describe them respectively. QoS are quantitative with numeric values associated with specific measurement units, e.g., price = 21 $. Nevertheless, contract terms are qualitative where the values are assumed to be defined by concepts, e.g., payment method = credit card. According to the research, QoS mainly includes price, response time, etc. Meanwhile, several terms have been summarized, including payment method, right of privacy, service coverage, etc.

The paper [11] tells us that each service has its own contract. By introducing contracts to services, we build a novel service moedel S = (FP, QoS, Contract), where FP represents the functional properties, and Contract stands for a group of non-numerical contract terms difined as Contract = <term 1, term 2, …, term a  >. In addition, each term can be described as term i  = (< name, operator, value >), where name says its identifier, e.g. payment method, and operator mainly includes set operators, e.g. “all”, “exactlyOne”, etc., and value represents specific values of term i. Meanwhile, QoS may contain several indicators, which can be expressed as QoS = <q 1, q 2,.., q b >. And q i = (<name, operator, value unit >), where name also stands for identifier, e.g. price, however, operator represents the numeric operators, e.g. <, >, =, etc., and value means the numeric values, e.g. 200, unit says the measurement unit, e.g. dollar.

$$ SD = \left\{ {\begin{array}{*{20}c} {1,} & {if\;\;\;\;\;QoS_{1} \wedge Contract_{1} } \\ \ldots & \ldots \\ {SD\_Value_{i} ,} & {if\;\;\;\;\;QoS_{i} \wedge Contract_{i} } \\ \ldots & \ldots \\ {0,} & {if\;\;\;\;\;QoS_{w} \wedge Contract_{w} } \\ \end{array} } \right. $$
(1)

Provided that a stack of services has the same or similar functionalities, in the novel service model above, how to measure the level that a service may satisfy the customer preferences is becoming a critical challenge. Therefore, a new customer satisfaction model called CSM is proposed in our paper, which can be defined as Formula (1).

In the formula, SD stands for the satisfaction degree of a service satisfying customer requirements. Each set of \( QoS_{i} \wedge Contract_{i} \) represents the customer expectation on QoS and contracts. If \( QoS_{i} \wedge Contract_{i} \) is satisfied, then \( SD = SD\_Value_{i} \). In addition, ∀i > j, SD_Value i  < SD_Value j , and SD_Value 1 = 1, SD_Value w  = 0. ∀1 < i<w, SD_Value i ∈(0, 1). Typically, \( QoS_{i} \) and \( Contract_{i} \) in each set can be defined as follows respectively, \( QoS_{i} = < q_{1,i} \wedge q_{2,i} \wedge \ldots \wedge q_{a,i} > \), \( Contract_{i} = < terms_{1,i} \wedge terms_{2,i} \wedge \ldots \wedge terms_{b,i} > \).

Usually, the SD_value i in the Formula (1) is provided by customers, however, due to the information asymmetry, customers cannot raise their requirements preferences clearly. Therefore, a novel approach called SDCalculation is proposed to calculate the SD value based on the corresponding QoS and contract values. For a service, this method calculates the satisfaction degree defined as SD Q that its QoS satisfies the QoS constraints offered by the customer and the satisfaction degree called SD C that its contract terms satisfy the contract preferences provided by the customer. Then, it is clear that \( SD = SD_{Q} \times SD_{C} \). The method is presented in the algorithm 1, where Num (t i) is the function that count all the values of the term t i, and Q and C represent the QoS values and the contract term values of the service, and W stands for the different preference weights to the indicators of QoS, besides, \( Q_{i}^{\hbox{max} } \) is the maximum value of ith indicator of QoS in the whole candidate service set. QC and CP represent the QoS Constraints and the Contract preferences offered by the customer, respectively.

3 Time-Aware Customer Preference Sensing

In this section, we try to sense the time-aware customer preferences based on customers’ service usage history at different time intervals. For a customer whose requirement is unclear, we analyze his selection standards or preferences in turn at each time interval, which reveals his requirements partly, and the process is shown in Fig. 3.

Fig. 3.
figure 3

Time-aware customer preference sensing process

To observe customer preferences for QoS or numerical contract terms, the box-plot method from mathematical statistics is adopted. Thus, the values of Q1, Q2, Q3, the Whisker upper limit and the Whisker lower limit need to be calculated respectively. Before this, the QoS values of services in the service usage history should be unified by Formula (2), which may reflect the actual preferences at individual time intervals.

$$ P = \frac{{s_{{QoS_{i} }} - QoS_{i\hbox{min} } }}{{QoS_{i\hbox{max} } - QoS_{i\hbox{min} } }} $$
(2)

Here, \( QoS_{i\hbox{max} } ,\;QoS_{i\hbox{min} } \) represent the maximum and minimum values of the ith indicator of QoS respectively. And \( s_{{QoS_{i} }} \) stands for the ith indicator value of the current service.

In terms of non-numerical contract terms, we employ the colorful frequency histogram to show the customer preference distributions. For a term value, we count the times of it appearing in the service usage history at each time interval, which will contribute to draw the histogram, where the deeper the color, the greater its frequency in the service usage history is, which will be illustrated by the Figures in Sect. 5.2.

Based on the analysis methods above, we can know the general distribution of the customer preferences against with time as well as the specific customer preferences at individual time interval. Here, to acquire the specific customer preferences, we adopt the Q2 value as the QoS preferences at different time intervals, besides, we utilize the term with highest frequencies as the contract term preferences at each time interval.

4 Time-Aware Satisfaction Degree Prediction

4.1 Problem Formulation

Based on the introduction above, through integrating all the SD information from other customers, a three-dimensional customer-service-time tensor can be formed motivated by [19], which is shown in Fig. 4. The tensor can be split into massive slices with each one representing a time interval. Within a slice, each entry denotes a SD value of a service from a customer during the specific time interval. In this paper, we pay more attention to the study how to efficiently and precisely predict the missing entries in the tensor based on the existing entries. Thus, the problem of SD prediction for various users and services can be defined as follows. Typically, all the SD values are unified to the interval [0, 1].

Fig. 4.
figure 4

Time-aware satisfaction degree prediction process

Definition:

Suppose that the group of m customers, the set of n services and the set of p time intervals can be defined as C, S and T respectively, then a SD element is a quartet (i,j,k, SD ijk) representing the SD value of service S j for customer C i at time interval t k, where \( i \in \{ 1, \ldots ,m\} ,j \in \{ 1, \ldots ,n\} ,k \in \{ 1, \ldots ,p\} \), and \( SD_{ijk} \in {\mathbb{R}} \). Besides, we regard the set of all triads (i,j,k) as \( \varSigma \) and define the set of all known triads (i,j,k) in \( \varSigma \) as \( \Delta \). If we consider a tensor \( Z \in {\mathbb{R}}^{m \times n \times p} \) with each entry \( Z_{ijk} \) representing the SD value of S j for C i at time interval t k, then the missing entries \( \{ Z_{ijk} |(i,j,k) \in \varSigma - \Delta \} \) should be predicted based on the existing entries \( \{ Z_{ijk} |(i,j,k) \in \Delta \} \).

4.2 Feature Matrix Learning

To acquire the feature matrices of customers, services and time, tensor factorization technique is adopted to fit a factor model to the customer-service-time tensor. The factorized customer-specific, service-specific and time-specific matrices are utilized to further predict missing entries, which is shown in Fig. 4. Therefore, a high-quality low-dimensional feature representation of customers, services and time can be derived by analyzing the customer-service-time tensor. The premise is that only a small number of factors influence the various SD values. In this paper, we consider a \( m \times n \times p \) SD tensor consisting of m customers, n services and p time intervals. A low-rank tensor factorization approach is adopted to seek to approximate the SD tensor Z by a multiplication of r-rank factors [14], which is expressed as Formula (3).

$$ Z \approx M \times_{u} C \times_{s} S \times_{t} T $$
(3)

Where \( M \in {\mathbb{R}}^{r \times r \times r} ,C \in {\mathbb{R}}^{m \times r} ,S \in {\mathbb{R}}^{n \times r} \) and \( T \in {\mathbb{R}}^{p \times r} \) are feature matrices. r is the number of features. Each column in C, S and T represents a customer, a service and a time interval, respectively. \( \times_{u} \), \( \times_{s} \) and \( \times_{t} \) are tensor-matrix multiplication operators, e.g. \( M \times_{u} C = \sum\nolimits_{i = 1}^{r} {M_{ijk} C_{ij} } \). M is set to the diagonal tensor. If i = j=k then M = 1, otherwise M = 0.

Typically, in reality, each customer has invoked only a small portion of services and massive customers had not evaluated the services they had invoked, thus, \( r \ll m,n,p \). Besides, customers cannot clearly raise expectations due to information asymmetry. Therefore, Z is usually very sparse. From the definition above, it is clear that the low-dimensional matrices C, S and T are unknown and need to be estimated.

$$ \mathop {\hbox{min} }\limits_{C,S,T} F(Z,C,S,T) = \sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {\sum\limits_{k = 1}^{p} {D_{ijk} (Z_{ijk} - \widehat{Z}_{ijk} )^{2} } } } + \alpha \sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{r} {|C_{ij} |^{2} } } + \beta \sum\limits_{i = 1}^{n} {\sum\limits_{j = 1}^{r} {|S_{ij} |^{2} } } + \gamma \sum\limits_{i = 1}^{p} {\sum\limits_{j = 1}^{r} {|T_{ij} |^{2} } } $$
(4)

To access the quality of tensor approximation, a loss function for evaluating the residue between the estimated tensor and the original tensor needs to be constructed. We define the optimization problem as Formula (4), which avoids the over fitting issue. Here, D ijk is the indicator function that equals to 1 if customer C i invoked and evaluated service S j at the time interval t k and equals to 0 otherwise.

In Formula (4), where \( \alpha ,\beta ,\gamma > 0 \) minimizes the objective function defined as the sum-of-squared-residue with quadratic regularization terms. Therefore, a local minimum of the objective function given by Formula (4) can be found by performing incremental gradient descent in feature vectors C i, S j, and T k. And the corresponding formulas during performing incremental gradient descent are presented in Formula (5).

$$ \begin{aligned} \frac{{\partial F_{A} }}{{\partial C_{iy} }} = 2\sum\limits_{j = 1}^{n} {\sum\limits_{k = 1}^{p} {D_{ijk} (\widehat{Z}_{ijk} - Z_{ijk} )S_{j}^{T} T_{k} + 2\alpha C_{iy} } } , \hfill \\ \frac{{\partial F_{A} }}{{\partial S_{jy} }} = 2\sum\limits_{i = 1}^{m} {\sum\limits_{k = 1}^{p} {D_{ijk} (\widehat{Z}_{ijk} - Z_{ijk} )C_{i}^{T} T_{k} + 2\beta S_{jy} } } , \hfill \\ \frac{{\partial F_{A} }}{{\partial T_{ky} }} = 2\sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {D_{ijk} (\widehat{Z}_{ijk} - Z_{ijk} )C_{i}^{T} S_{j} + 2\gamma T_{ky} } } . \hfill \\ \end{aligned} $$
(5)
$$ \widehat{Z}_{ijk} = D_{ijk} \sum\limits_{y = 1}^{r} {C_{iy} S_{jy} T_{ky} } $$
(6)

Based on the formulas above, the customer-specific, service-specific and time-specific feature matrices C, S and T can be learned. Hence, for the missing entry Z ijk in the tensor, the SD value can be predicted by Formula (6).

Based on the analysis above, the algorithm name SDPred is summarized, which is presented in Algorithm 2. It also shows the iterative process for feature metrics learning. Firstly, matrices C, S and T are initialized with small random non-negative values. According to the update rules derived from Formula (5), the updating process is iterated until the algorithm converges to a local minimum of the objective function given in Formula (4). After the iteration, the matrices C, S and T can be acquired eventually. Then, the missing SD values can be predicted by Formula (6).

5 Experiments and Comparisons

5.1 Experimental Setting

(1) Candidate Services.

We adopt a released QoS data set http://www.wsdream.net/ called WS-Dream. Firstly, 1000 Web services with same or similar functionalities have been extracted. Then, we collect the QoS information of these services invoked by 142 customers at 64 time intervals, including response time and throughput. Based on the data extracted, we simulate the contract term values of each Web service for each customer at each time interval, including payment method and right of privacy with the corresponding values {Credit card, Applypay, Alipay}, {true, false} respectively.

(2) Customer’s Service Usage History.

Based on the reconstructed WS-Dream above, we simulate service usage histories of 142 customers during different time intervals with the format < customerID, timeIntervalID, wsID list, amount >, where the four dimensions stand for the customer ID, time interval ID, all the service IDs selected by the customer at the corresponding time interval and the invocation times, respectively.

5.2 Time-Aware Customer Preference Sensing

Based on the customers’ service usage history generated above, we adopt the methods presented in Sect. 3 to analyze the time-aware preference distributions of each customer. Here, we take it an example where customerID = 0 and customerID = 1. The analysis results are shown in Figs. 5 and 6.

Fig. 5.
figure 5

Customer preference distributions based on customerID = 0

Fig. 6.
figure 6

Customer preference distributions based on customerID = 1

According to Fig. 5 (a), (b), it is clear that the preferences to QoS of the customer (ID = 0) have not changed significantly during the 64 time intervals, except for several cases, which may reflect the actual customer preference, e.g. the customer’s location changed, as a result, his preferences to response time and throughput varied as well. Figure 5 (c) shows the customer preferences to three payment methods at different time intervals. Obviously, the customer more prefers to Alipay. Figure 5 (d) tells us that the customer only takes notice of his privacy sometimes with the small time interval IDs. And he pays more attention to his privacy with time intervals changing. However, the time-aware preference sensing of another customer (ID = 1) is different from the former, which is shown in Fig. 6, where he had less rigorous constraints for response time and stricter constraints for throughput in general. His preferences to contract terms had some differences from the former. Likewise, the time-aware preferences of another 140 customers can be sensed, which illustrates the validity of our methods.

5.3 Verification of the SDPred Algorithm

From the analysis above, we can know the specific customer preferences at different time intervals. Then, the time-aware personalized SD values can be calculated and a customer-service-time tensor can be built.

To verify the SDPred method proposed in this paper, we have summarized several collaborative filtering methods as follows:

  1. (1)

    MSU(Most similar user): For a specific time interval t, if user U i does not evaluate the service S j, then MSU takes the corresponding SD value the most similar user of U i keeps for S j as the prediction of the missing SD value.

  2. (2)

    KMSU(Top-k most similar user): Similar to MSU, it identifies top-k most similar users and regards the average SD value of them at a time interval as the prediction.

  3. (3)

    TSR(Time-aware similar requirement): For a single user U i, if he has not accessed the service S j at a specific time interval t x, then TSR tries to distinguish the most similar time interval t y when the user requirement is similar to that of t x. Afterwards, TSR takes the SD value corresponding to t y as the prediction of the missing value at t x.

In addition, in order to compare these methods with SDPred, two metrics have been proposed, including the Mean Residue (MR) defined as Formula (7) and the Root Mean Squared Residue (RMSR) expressed in Formula (8).

$$ MR = \frac{1}{N}\sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {\sum\limits_{k = 1}^{p} {|\widehat{Z}_{ijk} - Z_{ijk} |} } } $$
(7)
$$ RMSR = \sqrt {\frac{1}{N}\sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {\sum\limits_{k = 1}^{p} {(\widehat{Z}_{ijk} - Z_{ijk} )^{2} } } } } $$
(8)

Besides, to evaluate the performance of different approaches above, some entries have been removed from the tensors, which will be compared with the prediction values. The tensors with missing SD values are in different densities, which are defined as the removal density. For instance, 20 % means that 20 % entries have been removed from the original tensor and will apply the remaining 80 % entries to predict the removed ones. The values of \( \alpha ,\beta ,\gamma \) are tuned by performing cross-validation on the existing SD values. By massive attempts, we confirm that \( r = 30,\alpha = \beta = \gamma = 0.002 \). And in the KMSU method, k = 5. With different removal densities, these methods are compared with each other by the values of MR and RMSR, which are presented in Fig. 7.

Fig. 7.
figure 7

Performance comparisons based on Tensor Removal Density

From Fig. 7, it is clear that the SDPred algorithm outperforms another three methods (lower MR and RMSR values) under different tensor removal densities. With the Tensor Removal Density growing up, both MR and RMSR of these methods increase gradually, which means that the more missing SD values exist, the less accurate the predictions of the four methods are. In general, the SDPred method has the best performance, then the followings are TSR, KMSU, MSU respectively, which adequately illustrate the effectiveness of our method. However, sometimes the KMSU method performs better than the TSR method. Therefore, if the tensor is much sparse, the SDPred will be recommended to acquire more precise predictions.

5.4 Impact of Three Parameters in the SDPred Algorithm

Here, we further focus on the impact of three parameters in the SDPred algorithm, including m, n and p representing the amount of customers, the number of services and the amount of time intervals individually. Suppose that Tensor Removal Density = 50 %, three experiments are set n = 1000, p = 64; m = 142, p = 64; m = 142, n = 1000, respectively. Then, the comparison results are shown in Figs. 8, 9 and 10.

Fig. 8.
figure 8

Performance comparisons based on the amount of customers in the tensor

Fig. 9.
figure 9

Performance comparisons based on the number of services in the tensor

Fig. 10.
figure 10

Performance comparisons based on the amount of time intervals in the tensor

From Fig. 8, we can know that with the increase of m, MR and RMSR of the three methods (including MSU, KMSU, SDPred) both decline significantly. However, MR and RMSR of TSR go down slowly. Although TSR performs best with smaller values of m, SDPred can achieve higher prediction accuracy while m increasing. Figure 8 tells us that the amount of customers has greater impact on MSU, KMSU and SDPred along with smaller influence on TSR, which are consistent with their mechanisms.

Figure 9 clearly presents that the MR and RMSR corresponding to these methods also fall down while n increases. In addition, the former declines significantly shown in Fig. 9 (a), while the latter goes down gradually presented in Fig. 9 (b). It is convinced that SDPred has best performance basically followed by TSR, which is followed closely after by KMSU and MSU. However, they have fewer differences, which mean that the amount of services has little impact on these methods.

Based on Fig. 10, it is easy to know that in terms of these methods, both the MR and RMSR decline while p grows up. Besides, TSR has a remarkable decline and another three methods drop down non-significantly. Therefore, it clearly illustrates that the amount of time intervals has larger impact on TSR. However, SDPred can achieve higher prediction accuracy on the whole, which can prove its superiority.

Combined with Figs. 8, 9 and 10, it is obvious that regardless of various assignments of the three parameters (m, n and p), overall, the SDPred method performs best, which provides more evidences to illustrate the effectiveness of our method.

6 Related Work

Service contract has been widely studied from different perspective to describe a service comprehensively. A policy centered meta-model was presented in [4] to describe service contracts, which unified the policy [7], service level agreements [10], etc. In this model, each term corresponded to one non-functional property.

In addition, several methods to calculate the customer satisfaction degree had been proposed, including the method based on QoS [18] and the method based on QoS and contract [3]. However, [13] only considered the QoS, which cannot reflect the reality adequately. And the method in [17] may not be applied actually, since the SD values were provided by customers, which were difficult to be collected. In [3], a novel model to calculate customer satisfaction in the cloud was presented, which took the service level agreements into account. However, these methods have not considered the actual factor that SD values have varied with various time intervals changing.

Customer preference analysis has aroused wide attentions, including modeling user preference by mutual information in a statistical framework [6], the context-aware user preference study [2]. Nevertheless, the important factor time has been weakened, which needs to be enhanced in the user preference analysis.

Besides, several researchers recognized information asymmetry in the service field [12]. Then, trust was proposed as the important source of value in service relationships characterized by high degrees of information asymmetry in [5]. And two types of trust-based approach for reducing information asymmetry ware presented in [13].

7 Conclusions and Future Work

This paper proposes the customer satisfaction model on contract-based services. In the model, a novel SD calculation method is presented. Besides, we adopt the box-plot method and colorful frequency histogram to sense the time-aware customer preferences. Then, time-aware personalized SD values can be calculated, including several missing values due to information asymmetry. To predict the missing values, the SDPred algorithm is proposed, which is the first to research time-aware personalized satisfaction. Based on WS-Dream and the customers’ service usage history, the verification and comparison experiments are conducted, which verify the effectiveness of our methods. And we further research the impact of parameter settings in the SDPred algorithm, which provides more evidence to illustrate the superiority of our method.

Some future work is summarized shown in Fig. 1, including (1) to research the changing trends of services over the time; (2) to further focus on the time-aware customer preferences; (3) to recommend services for customers based on the work (1), (2).