1. Field of the Invention
The present invention relates to techniques for modeling customer behavior in an online service environment. More specifically, the present invention relates to a technique for modeling statistical distributions of customer service-level-choices based on a given price schedule provided by a service provider (SP).
2. Related Art
In a general service environment, customers typically send requests to a service provider (SP) to gain access to the provider's online service. A requesting customer is then provided with a service level agreement (SLA), which typically stipulates a payment to the SP per job unit for commencing the service at the client's request within a certain time frame. The SLA can also specify a penalty that the SP pays to the client if the SP fails to provide the agreed-upon service level. The SP typically offers several service levels at various prices, which generally guarantee faster response/completion times for higher payments. Next, after the customer selects a service level, customer jobs or transactions are executed on the SP's hardware at the agreed-upon service level.
The above-described general service environment can facilitate many common online practices, such as: (1) providing content (e.g., data base access, online financial information) or access to a computer program (“applications on tap”), wherein different service levels correspond to different bandwidth requirements; (2) voice or video connections; and (3) hosting e-commerce web sites of client businesses.
In a typical system configuration, the client business provides an e-commerce application, and the SP maintains a commercial database and services customers of the client business. Moreover, the SLAs stipulate the responses for commercial transactions that originate from a customer. For example, suppose a high productivity computing (HPC) customer submits a large, typically multithreaded job and receives a guarantee of getting results by a certain time. The job unit is usually “CPU time”, while other job requirements, such as storage, are not priced according to the service level.
A customer behavior model (CBM) summarizes the choices that a typical customer makes when presented with a price curve which relates a given service level to its price per job unit. Note that the notion of a customer is viewed broadly to also include different jobs or transaction types even if they originate from the same physical customer due to the fact that different jobs may carry different requirements. During system operation, an SP observes an inflow of jobs and their corresponding service levels. As the SP varies the price curve, the job arrival rate and the distribution of the service levels change consequently. For example, if the SP raises the price of a premium service, some customers who depend on it are going to leave and subscribe to a service with a competitor or they may maintain their own system. As a result, the job arrival rate will decrease. Additionally, some customers would choose a lower service level, which becomes relatively more attractive. Hence, the distribution of service levels would give more weight to lower service levels. Note that these customer behaviors are functions of the entire price curve.
Also note that a price schedule can greatly impact the job flow and the revenue of a SP offering the service. From the SP's perspective, a price schedule should be chosen to optimize its revenue/profit. To achieve this, it is highly desirable to build high-reliability CBMs to accurately estimate the rate of job arrivals and the distribution of the service-level choices for any price curve that is offered to the customers.
A common “brute force” approach to estimating customer demand for a particular level of service is to fit a regression model to the observed customer demand as a response and the corresponding prices for “all” service levels as predictors. In this approach, if n (discrete) service levels are offered, n regression models have to be fitted with n predictors in each of the n regression models.
Unfortunately, the regression model approach does not scale well for continuous service levels. Note that a regression model requires that either a particular parametric functional form for each model be supplied or that the models be fitted nonparametrically. In both cases one needs a large data set to obtain models with reasonable accuracy. This is because the n predictors are expected to interact in nontrivial ways, and one has to include interaction terms into the model. For example, one existing regression technique uses a 17-degree polynomial to capture this behavior. Consequently, unless the number of service levels is relatively small, these regression models are unlikely to be practical.
Another limitation associated with the regression models relates to the fact that when a large number of service levels are offered, a customer who has chosen a particular service level typically indicates that there exist other service levels that are almost equally as attractive to this customer. Furthermore, customers are not expected to always choose the absolute best service level among the offerings, but rather expected to choose a sufficiently satisfactory “near-best” one. Unfortunately, the regression models could not distinguish the absolute best and near-best choices to provide adequate weights to service levels in the proximity of the chosen service level.
Yet another problem of the regression models has to do with adaptability of the model to new service level offerings (e.g. adding another level of service to the existing ones). In such situations, a regression model typically has to be refitted from scratch and moreover, data for the existing model cannot be reused. This rebuilding of the model each time changes arise is highly undesirable in a dynamic changing service environment.
Hence, what is needed is a method for constructing a CBM suitable for both static and dynamic price schedules without the problems described above.
One embodiment of the present invention provides a system that models customer behavior in a multi-choice service environment. The system constructs a probability density function f to represent probabilities of service-level choices made by customers, wherein the probability density function is a function of functional variables uθ(d) and p(d); uθ(d) is a utility function for a specific customer type indexed by vector θ; p(d) is a given price curve which specifies a relationship between service levels offered by a service provider and corresponding prices for the offered service levels; and uθ(d) and p(d) are both functions of the offered service levels d. The system then obtains a distribution function π(θ) which specifies a probability distribution of different customer types θ. Next, the system obtains a service level-choice distribution for a population of customers as a function of a given price curve based on the probability density function f and π(θ).
In a variation on this embodiment, the system uses the service-level choice distribution to estimate customer behavior for any given price curve and a rate of customers receiving services for any give price curve.
In a variation on this embodiment, the probability density function f is proportional to a nonnegative decreasing function
wherein u0θ,p is an optimal utility gain under p(d) for customer type θ;
wherein uθ(d)-p(d) is the utility gain under p(d) for customer type θ;
wherein u0θ,p (uθ(d)-p(d)) represents a departure from the optimal utility gain for customer type θ; and
wherein σ is a constant which represents the extent of the departure from the optimal utility gain.
In a variation on this embodiment, the system obtains the service level-choice distribution f(d\p(d)) for a given price curve p(d) based on the probability density function f and π(θ) by integrating over the customer type θ using: f(d\p(d))=∫ f(d\θ, p(d))π(θ)dθ.
In a variation on this embodiment, the service-level choices include leaving without receiving service.
In a variation on this embodiment, the system obtains the distribution function π(θ) by: collecting service-level-choices data {d} from a population of N customers; and computing the distribution function π(θ) by computing a distribution function π(θ\d) based on the service-level-choices data {d}.
In a further variation on this embodiment, the system collects service-level-choices data {d} from the N customers by: offering the N customers with one or more price curves; and for each customer i, recording one or more service-level choices di made by the customer i based on each offered price curve.
In a further variation on this embodiment, the system collects service-level-choices data {d} from the N customers by collecting one or more identical service-level-choices made by a same customer.
In a further variation on this embodiment, the system obtains the distribution function π(θ\d) by: obtaining a distribution function π(θ\τ), wherein τ is a hyperparameter; obtaining a distribution function ξ(τ\d) for the hyperparameter τ giving the collected data {d}; and computing the distribution function π(θ\d) by performing the integral: π(θ\d)=∫ π(θ\τ)ξ(τ\d)dθ.
In a further variation, the system generates a representative collection of utility functions to represent a plurality of customer types θm, wherein the collection of utility functions uniformly cover a space containing different utility functions.
In a further variation, the collection of utility functions are represented by nonincreasing convex curves.
In a further variation, the system computes the distribution function π(θ\d) by computing a probability density vector f(di\θm) for each customer i over the plurality of customer types θm.
In a further variation, the system obtains the distribution function π(θ\τ) by using a Gibbs sampler.
In a variation on this embodiment, the system represents p(d) as a combination of a wavelet basis, thereby facilitating varying p(d) during an optimization process using the service-level choice distribution.
In a further variation, the system updates the distribution function π(θ\d) when new customer data is added in {d}.
Table 1 summarizes the comparison of the estimated and simulated data for all nine price curves in
The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. This includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing computer readable media now known or later developed.
We view a customer behavior model (CBM) as part of a larger service provider (SP) framework. An SP is ultimately interested in optimizing his revenue/profit. By having a CBM available, the SP knows the demand structure for any price curve that can be offered. Consequently, for a given price curve the SP can accurately provision computational resources necessary to fulfill the majority of the service level agreements (SLA) as well as optimize job scheduling. Furthermore, the SP can choose the price curve that maximizes revenue/profit. The proposed CBM also adapts naturally to changing market conditions.
Note that the present invention can generally be used in any utility environment wherein customers receives services from service providers based on service level agreements and hence is not meant to be limited to the exemplary service environment illustrated in
Defining Components in the Customer Behavior Model
We first describe basic components that are comprised in a customer behavior model (CBM).
A typical customer makes a decision on which service level to choose based on a tradeoff between quality-of-services and associated costs. In the following discussion of constructing a customer behavior model, we consider online service applications, wherein service levels are associated with different delays d, which customers receiving the services experience. Note that however, the general technique used to obtain a CBM below is not limited to just the online service applications, and service levels are not just limited to the delays.
Typically in online service applications, a higher service level offers smaller delay d. We use p(d) to represent the cost to the customer for choosing a specific service level associated with delay d, wherein p(d) is referred to as a price curve. The service provider can specify one or more price curves p(d) for customers entering the SLA associated with delay d. We assume that a typically customer prefers a lower cost and a service level associated with a smaller delay.
For example, in the high productivity utility computing context, let d=t/te−1, where t is time a customer job is in the system, te is the n-CPU execution time measured in hours. Let p be the dollar cost per CPU-hour. Furthermore, an associated SLA stipulates that the customer pays $p=$p(d) per CPU-hour. Hence, the customer pays a total amount of $p×n×te for this service level choice. If the delay of the customer job is greater than d, that is, the job does not complete in (1+d)te hours, the service provider repays the customer, for example, $p/2×n for each additional delay hour.
Let u(d) be the utility function of the customer from receiving the service level associated with delay d. Note that u(d) is specific to a particular customer type, therefore can be used to infer customer behavior. It is expected that additional delays should have progressively less impact on the customer utility, hence u(d) typically is assumed to be a convex (and decreasing) function.
Note that the offered service level choices for a customer can include leaving without receiving a service, which is denoted by d=d_. We can define uθ(d_)=0 as the customer receives no benefit (in utility) by choosing d_, wherein θ is a index parameter representing a particular customer type. It is reasonable to assume that p(d_)=0. When the price curve is provided, the set of possible delay-cost points is given by: {(d; p(d)):d≧0∪d=d_}.
As one can appreciate that a rational customer would choose an optimal delay d*=arg maxd{u(d)−p(d)}, wherein u(d)−p(d) is the customer surplus. In particular, d*=d_ if there does not exist a service delay with a positive customer profit. For example, if a retailer receives (potential) profit from client transactions, then u(d) is the expected retailer profit and u(d)−p(d) is the expected net operational gain to be maximized.
Note that the above formulation of d* may not be accurate in some situations. For example, if a utility customer operates within a specific budget and has an unlimited number of jobs, cheaper jobs become more valuable to this customer when the whole curve p(d) shifts downward, because the customer can now run proportionately more cheap jobs. For example, given a budget of $600, and prices $6 and $4 for two service levels, the customer can run 100 fast jobs or 150 slow jobs. However, with prices for the same two service levels dropped to $4 and $2 respectively, the customer can run 150 fast or 300 slow jobs and the latter is considered more valuable to the customer. Hence, the above formulation of d* may be modified if necessary.
The goal of a service provider is to infer customer behavior summarized by the utility functions u(d). Ideally, one could ask customers to provide their utility functions. However, this is a generally unrealistic. First, the customer may be unwilling to cooperate. Second, the customer may not be able to formulate his relative preferences in terms of a utility curve. Third, customer's preferences may change over time. In the following discussion, we describe a process for inferring customer behavior based on the service-level choices that customers make when they are offered one or more price curves. We start by defining a probability distribution function of service-level choices made by a population of customers of different types.
Assume there exists a collection of customer utility functions uθ(d) indexed by customer type parameter θ. A random customer i arrives and makes ni delay choices di=(dij; 1≦j≦ni) according to the associated preference type θi. Let f denote the probability density function of the chosen delays. We propose that when offered with a price curve p(d) and given that a customer chooses to receive the provided service, the customer associated with utility function uθ(d) makes a near-optimal choice according to the following f distribution:
wherein:
u0θ,p=maxd≧0∪d=d
σ is a constant which provides the extent of departure from optimality; and
Note that the argument u0θ,p−(uθ(d)−p(d)) in function G represents a departure from the optimal utility gain. Furthermore, choosing G as a nonnegative decreasing function implies that the customer is unlikely to choose d far from the optimum. However, the formulation allows some degree of non-optimality in customer choice because a customer is expected to have difficulty in comparing near-optimal alternatives and would generally depart from the optimal choice by a small margin.
To complete the definition of delay probability density f; we define the probability of leaving without getting service. Let d*+=arg maxd≧0uθ(d)−p(d), wherein the maximum is only obtained over the choices where service is received. In one embodiment of the present invention, we model the probability of receiving service P{d≠d_\θ,p(.)} as being proportional to the ratio of the best G-value among the available service levels to the G-value of leaving without service, hence:
Note that Eqn. (2) suggests that one is still penalized for the departure of u0θ,p−(uθ(d)−p(d)) from the optimum scaled by G. In the case that d_ is the optimal choice, we get u0θ,p=0 and any service choice d1>0 incurs an unscaled penalty of −(uθ(d1)−p(d1))≧0. Otherwise, if d*+ is optimal, d_ incurs the penalty of u0θ,p=(uθ(d*+)−p(d*+))≧0 for passing up the opportunity of achieving a positive value.
Referring back to Eqn. (1), we note that probability density function f is a function of utility function uθ(d), wherein uθ(d) is a function of both the customer types θ and the offered service levels d. Note that if we know the probability distribution of customer types θ, we can compute the distribution of the chosen service levels (i.e., delays) for any given price curve p(.) by integrating f with respect to θ. If we denote π(θ) as the distribution of θ, this can be expressed as:
f(d\p(.))=∫ f(d\θ, p(.))π(θ)dθ (3)
Note that function f(d\p(.)) represents a general service-level choice distribution which takes all customer types into consideration. If we can solve for Eqn. (3), we can then estimate customer behavior as a function of any given price curve. We show how to obtain distribution function π(θ) empirically from observed customer data below.
A Model for Distribution π(θ)
In one embodiment of the present invention, we assume that π function comes from a family of functions parameterized by a hyperparameter τ, and we can rewrite π(θ) as π(θ\τ). Let ξ(τ) denote the a priori distribution on τ, which summarizes the uncertainty about τ before seeing the actual customer data. After collecting customer data from N customers with observed delay vectors d=(di; 1≦i≦N), the posterior distribution of τ becomes:
wherein 1 is the indicator function. The desired distribution over θ is then given by:
π(θ\d)=∫ π(θ\τ)ξ(τ\d)dθ (5)
Selecting an Appropriate Form for Price Curve p(d)
It is necessary to ensure that both Eqns. (3) and (5) are computationally feasible. Moreover, because a constructed CBM is to be used as part of an optimization process for the service provider to choose an optimal price curve for his revenue/profit, the model for p(d) should allow for straightforward introduction of local changes to the curve. One can easily appreciate that without loss of generality the optimal p(d) can have a nonincreasing characteristic due to the fact that curve p′(d)=mins≦dp(s) results in the same choices for all utility curves. In one embodiment, we expect p(d) to be convex.
To impose derivative constraints on p(d) and to enable local changes during a future optimization process, we can use a particular wavelet basis and restrict expansion coefficients. Specifically, let φ(x) satisfy conditions set out in Lemma 1 described in Anastassiou, G. A. and Yu, X. M., “Convex and Coconvex Probabilistic Wavelet Approximation,” Stochastic Analysis and Applications, 10(5), 507-521, 1992.
is nonnegative and nonincreasing if coefficients cj is a nonnegative nonincreasing sequence. Because in practice only a finite number of cj are nonzero, we also note that if the support of φ is [−a; a], and g(d) is nonnegative nonincreasing for dε[0;+∞) if the first nonzero cj occurs for j≦−a, and from that point on cj are nonincreasing. It can be shown that if cj is a convex sequence, i.e. increments cj−cj−1 are nondecreasing, then p(d) is a convex curve. Note that by varying coefficients cj , p(d) can only change over [−a/2k; a/2k], which is desired.
We now describe a procedure to estimate the integral in Eqn. (3) in accordance with an embodiment of the present invention.
We use the expression of Eqn. (7) for the price curve p(d) and let
be the utility function for customer type θ. Note that we used the same k value for both p(d) and uθ(d) for simplicity. Hence, Eqn. (1) can be written as:
For the chosen φ in Eqn. (6), it can be shown that:
wherein the maximum is achieved on the boundary on the delay region.
The complexity of Eqn. (9) has two consequences. First, the normalization constant K(θ;p) in Eqn. (1) is difficult to obtain because it requires numerical integration over a convex domain of vector θ. Second, the evaluation of the integral in the right-hand side of Eqn. (4) and subsequent computations for Eqn. (5) is generally intractable for realistic π(θ\τ). Because the distribution of f is in general not computable, a standard Monte Carlo technique for drawing a sample from Eqn. (4) can not be implemented.
One embodiment of the present invention reduces the space of customer types θ to a moderately sized representative collection θm, wherein 1≦m≦M, which are associated with a finite number of utility functions uθm(d). In this embodiment, computation of normalization constants K in Eqn. (4) and subsequent computation of the integrals become sums, which becomes easier to compute for a given τ. Furthermore, service-level choice distributions f(d\θ, p(.)) now becomes discrete distributions f(d\θm, p(.)).
Ideally, the collection θm should be chosen to avoid redundancy in covering the space of nonincreasing convex sequences, so that the collection is as representative as possible given its size. In one embodiment, we choose θm by using a maximum entropy experimental design technique described in Currin, C., Mitchell, T. J., Morris, M. D., and Ylvisaker, D., “Bayesian Prediction of Deterministic Functions, with Applications to the Design and Analysis of Computer Experiments,” Journal of American Statistical Association, 86, 953-963, 1991 (or “Currin” hereafter.)
Specifically, this technique chooses the M utility curves to fill the utility versus delay space uniformly. Furthermore, M is chosen sufficiently large so that no part of the space remains unexplored. Note that the local nature of the chosen wavelet representation of the utility curves allows us to substitute vector distances for curve distances, so that the techniques in Currin can be used directly. The convexity constraint is imposed within the search technique of Currin by disallowing the search paths to wander outside the nonincreasing-convexity domain. As an example,
Estimating Eqn. (1) for G(x)=exp(-x)
We consider an important case of G(x)=exp(-x). This choice of G implies that the relative probability of two delay choices d1 and d2 only depend on the utility gain (uθ(d1)−p(d1))−(uθ(d2)−p(d2)) and not on the utility level. In this case, u0θ,p can be removed from Eqn. (1) because it can be combined into the normalization constant K(θ, p), and Eqn. (1) becomes:
Note that uθ(d) is bounded, so that the density is proper over bounded delays. Using the conventions leading to Eqn. (8), and letting aj=θj−cj , and k=0 to simplify the notation, we get
wherein lik are the linear functions in aj. Denoting
which is not available in closed form, K(θ, p) becomes:
However, it is also clear that it is infeasible to compute the integrals in the right-hand side of Eqn. (4). Consequently, even for a simple exponential form of G, the implementation issues associated with the general modeling scheme remain.
A Model for τ
We now describe a model for r that will facilitate computing the right-hand side of Eqn. (4). We first select a moderate collection τ′k, wherein 1≦k≦K. Let πk(θ)=π(θ\τ′k). Because the integrals in Eqn. (4) become sums, it becomes simpler to evaluate them for each k as noted above. We denote these by Ik(di):
I
k(di)=∫ πk(θ)f(di\θ)dθ (10)
We now consider the set of distributions over θ obtained by mixing the πk(θ). Let τ stand for the mixing vector, π(θ\τ)=Στkπk(θ) with Στk=1, τk≧0.
which is a polynomial in the τk. Eqn. (5) then becomes:
wherein the integrand in Eqn. (11) is a polynomial in the τk. Thus the (K−1)-dimensional integral can be evaluated analytically over Στk=1 provided Σ(τ) has a simple form. In one embodiment, we choose ξ(τ)=1. Because the number of summands in the integral is KN, it would be computationally intractable. However, note that the integrals in Eqn. (11) compute the means of the τk under ξ(τ\d) and therefore Monte Carlo methods can be used to facilitate the evaluation.
In one embodiment of the present invention, we use Gibbs sampler technique (see Gilks, W. R., Richardson, S., and Spiegelhalter, D. J., “Markov Chain Monte Carlo in Practice,” Chapman and Hall, Boca Raton, Fla., 1996) to generate a sample of τ(j), 1≦j≦J with a limiting distribution Σ(τ\d) by resampling one coordinate τk, 1≦k≦K−1 at a time in a round-robin fashion. During an update of τ1, the new value τl(j+1) is sampled from the Gibbs update density for ξ(τl\d, τ−l(j)), wherein τ−l stands for the vector of all coordinates except for the lth one. Note that ξ(τl\d, τ−l) is a univariate polynomial of degree N with an interval support [0,1−Σk≠lτk]. τK is updated after every Gibbs update via τK(j)=1−Σk=lK−1τk(j). After the sample is computed, the integrals in (11) are estimated by:
and the evaluation of (11) is now convenient.
Process for Computing Service-Level Choice Distribution
The system starts by collecting customer data from N customers during service operation (step 302). Specifically, the system records pairs of price curves offered to customers and the corresponding service-level choices (including leaving without receiving service) made by the customers in response to the price curves. The system also keeps track of pairs of data points that are associated with the same customer (i.e., the same customer-service-level choice).
The system then generates M nonincreasing convex curves to serve as a representative collection of the set of customer utility functions, wherein each utility function represents a specific customer type (step 304). Note that ideally, the M curves are chosen to uniformly occupy the utility space. Also note that each of the N customers can be classified into of the M customer types.
Next, for each customer i and the set of utility functions, the system computes density functions f(di\θm), wherein 1≦m≦M, di represents the set of customer data collected for customer i, and θm represents the set of M utility functions (step 306).
For each customer i, the system next computes marginal densities Ik(di) for all k values of the hyperparameter by summing over m using Eqn. (10) (step 308).
The system then estimates the means of the τk under ξ(τ\d) by using Gibbs sampler (step 310). Next, the system computes customer type distribution π(θ\d) based on the collected customer data d using Eqn. (11) (step 312).
Finally, the system uses Eqn. (3) to obtain the service-level choice distribution f(d\p(.)), which can then be used to evaluate customer behavior for any price curve p(d) of interest (step 314).
Note that above-described process is related to kernel density estimation. The latter estimator, somewhat generalized, is defined by:
wherein K is the kernel, ρ is a distance between the customer observation vector and the behavior parameter. Combining observations from the same customer and using G as before, we obtain:
wherein K(di) is the normalization constant for the product. To compute K(di), the product must be integrated over θ. Thus, u0θ,p
Additionally, estimator (13) is sensitive to a particular choice of a moderately sized collection of θ. As a simple example, consider two candidates θ1 and θ2 versus θ1, θ2 and θ3≈θ1 and suppose the true π(θ) gives the weights of ½ to θ1 and θ2. In the first case, the estimator works well. In the second case, however, θ1 and θ3 receive approximately equal weights because they are close to each other and close to the weight of θ2 because θ1 and θ2 are equally likely. Upon normalization, the estimate becomes approximately (⅓, ⅓, ⅓), which is incorrect. The proposed procedure resolves this problem by introducing parameter r that indexes candidate distributions of θ.
We apply the proposed technique to construct a CBM based on customer data generated from a simulator. A nonincreasing convex utility curve is generated at random for each customer by drawing a nonincreasing convex sequence uniformly from the unit cube and using it as wavelet basis expansion coefficients as shown in Eqn. (7). We use a set of four price curves for training and another set of five price curves for testing. These price curves are illustrated in
Although in actual service environment, one does not expect drastic changes to the price curve, we allow a fair degree of disparity to illustrate the effectiveness of the present technique. Note that each customer can make between one and four choices with the training curves drawn at random without replacement. Hence, we have between one and four data points for each customer. We also use G(x)=exp(−x) with σ=0.2. Furthermore, we carry out the experimental design procedure to generate 100 generic customer types θ that are similar to those ploted in
Table 1 summarizes the comparison of the estimated and simulated data for all nine price curves in
In the second example we confine the study to 200 customers, but allow them to make 23 choices for 23 different price curves. This situation may arise when customers keep submitting jobs with similar requirements upon their completion. The amount of data is roughly the same as that in the first example.
The present invention provides a technique for constructing a customer behavior model (CBM) which predicts a service-level choice that a typical customer would make when offered an arbitrary price curve. The model is trained using the actual choices that customers make during routine service activities. Note that the CBM can be used to facilitate a price curve optimization process, wherein a wide range of price curves can be evaluated to select one that maximizes service provider profit. To facilitate this optimization process, the price curve is modeled through a particular wavelet basis to allow easy introduction of local changes to it. The same model for the price curve is used for modeling the utility curves, which not only simplifies computations, but also allows substituting vector distances for curve distances in the experimental design procedure.
There are a number of useful extensions to the proposed model. One such extension involves a situation where the event of a customer leaving without receiving a service is either completely unobservable or may take place for reasons other than being prices are too high at all service levels. We conjecture that such a complication may be alleviated by adopting a script that would invoke a pop-up question to a leaving customer to state the reason for leaving.
Note that the proposed model can be easily made adaptive to changing market conditions. Specifically, more recent observations can carry greater weight by raising the corresponding data density terms in Eqn. (4) to an annealing-type (see Sorin, D. J., Lemon, J. L., Eager, D. L., and Vernon, M. K. 2003, “An Analytic Evaluation of Shared-Memory Architectures,” IEEE Transactions on Parallel and Distributed Systems 14(2), 166-180) power greater than one. For example, a power of two would be equivalent to having another identical observation.
Another useful extension relates to updating the target distribution π(θ\d) when new data come in. Because we expect customers to provide new data points on a regular basis, it would be unacceptable to recompute the target distribution from scratch each time. Instead, we can use importance weights (see Matick, R. E., Heller, T. J., and Ignatowski, M., “Analytical analysis of finite cache penalty and cycles per instruction of a multiprocessor memory hierarchy using miss rates and queuing theory,” IBM Journal of Research and Development 45(6), 819-842, 2001) on the sample generated using Gibbs sampler to correct for the changing ξ(τ\d) by taking a weighted average in Eqn. (12) with the weights defined as normalized ratios of the new ξ(τ\d) over the old ξ(τ\d) evaluated at the sampled τ. Although the Ik(di) corresponding to the new data need to be reevaluated, no additional sampling is necessary for incremental changes.
Note that seasonality may play an important role in defining customer preferences. For example, flower shops get most business around Valentine's Day and Mother's Day. The utility from a single transaction typically increases since the shop can charge higher prices during these periods. The rate of arrivals also increases. Payroll activity picks up at the end of each quarter and during the tax season. Large computational jobs are more likely to be submitted during the work day. At times the results are needed by next morning, but there is no utility from receiving them earlier in the middle of the night. To take seasonality into account, we can introduce the time variable into the utility curves as uθ(d, t). Interchanging low- and high-pass filtering, we can separate seasonality effects of different periods (days, quarters, etc.) similarly to the process described in Karkhanis, T. S. and Smith, J. E., “A First-Order Superscalar Processor Model,” In Proceedings of the 31th International Symposium on Computer Architecture, 2004.
Note that the proposed model construction process assumes to deal with one particular service type for all customers for simplicity. In a more realistic setting of several types of services or transactions, for example, both voice and video connections, both “browse” and “sell” transactions (with different service levels offered within each type), the proposed procedure can be repeated for different service types. For instance, an e-commerce business derives different utilities from “browse” and “sell” transactions and this should be reflected by offering different price curves.
The foregoing descriptions of embodiments of the present invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.