WO2000002138A1 - A method for performing market segmentation and for predicting consumer demand - Google Patents

A method for performing market segmentation and for predicting consumer demand Download PDF

Info

Publication number
WO2000002138A1
WO2000002138A1 PCT/US1999/015236 US9915236W WO0002138A1 WO 2000002138 A1 WO2000002138 A1 WO 2000002138A1 US 9915236 W US9915236 W US 9915236W WO 0002138 A1 WO0002138 A1 WO 0002138A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
space
partitioning
indifference
products
Prior art date
Application number
PCT/US1999/015236
Other languages
French (fr)
Inventor
Eric Bonabeau
Stuart A. Kauffman
Richard Palmer
Original Assignee
Bios Group Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bios Group Lp filed Critical Bios Group Lp
Priority to AU48618/99A priority Critical patent/AU4861899A/en
Priority to CA002337798A priority patent/CA2337798A1/en
Priority to EP99932278A priority patent/EP1093617A4/en
Publication of WO2000002138A1 publication Critical patent/WO2000002138A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates generally to methods for performing market segmentation and to methods predicting consumer demand. More specifically, the present invention performs market segmentation by determining dissimilarity measures and predicts consumer demand by constructing a
  • Clustering algorithms exist that can generate clusters that satisfy either one or both of these 0 constraints. Multidimensional scaling methods go one step further to allow visualization of high-dimensional data clusters in a low-dimensional embedding space. But clustering algorithms and multidimensional scaling methods always assume the existence of a well-defined metric or 5 dissimilarity measure in attribute space, here the space of factors that contribute to a product. Accordingly, there exists a need for a method for partitioning that provides both a relevant metric and a set of clusters.
  • This body of work contains techniques, known in the art, such as CART, and discrete choice providing means for determining utility functions over ig a space of properties of a good or service for a given consumer, as well as means of considering a population of different customers with different preferences over that space of properties and attempting to "segment" the customer population into subgroups which may then be specifically
  • the means in the art in general, attempt to fit o the observed data points by building up sketches of the utility surface for a given consumer or class of consumers using, in the simplest case, linear regression of the data points on all the property axes. Different classes of consumers are discriminated by discovering different linear 5 regression patterns for different, e.g., demographic classes. In more sophisticated approaches, attempts are made to model the possibly curved properties of ⁇ isoultility" surfaces in the space of properties for a given consumer, or class of consumers, by fitting higher order polynomials to the sampled 0 data.
  • the generic problem with this approach is that the data sampled must be used to estimate the coefficients of the monomial and polynomial terms, and the finite amount of data is typically used to characterize the lowest order terms, monomial, quadratic, etc, first.
  • the data is typically "used 5 up in obtaining reliable statistical estimates of these low order terms, and little or none is left over for use estimating higher order terms.
  • the higher order terms are precisely the measures of the complex context dependent interactions among properties of a single good or service or a collection of goods or services.
  • a given product say soap
  • coca-cola packaging may 0 be characterized by a number of properties, number of cans, size of cans, fluid in can, color of package, etc.
  • the present invention presents a method for partitioning that provides both a relevant metric and a set of clusters through an evolutionary learning process.
  • It is an aspect of the present invention to present 5 a method for partitioning a space of data comprising the steps of: choosing a plurality of dissimilarity measures; partitioning the space for each of said plurality of dissimilarity measures; evaluating said partitioning for each of said plurality of dissimilarity measures; and selecting one or more of said dissimilarity measures on the basis of said evaluation.
  • the present invention further presents a method for determining consumer demand that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
  • It is an aspect of the present invention to present a method for determining customer demand for products comprising the steps of: defining a space having R dimensions wherein each point in said space corresponds to a vector of properties; constructing a landscape for said space comprising locating at least one point on said space where a predetermined customer would purchase a product having said corresponding vector of properties at a predetermined price; and sampling a set of points on an R-dimensional sphere surrounding said selected point at a predetermined step length from said selected point to determine a first subset of said set of points where the predetermined customer would make a purchase at said predetermined price and to determine a second subset of said sampled points where the customers would not make the purchase at said predetermined price, said first subset of points and said second subset of points form at least one indifference surface between a buying region and a non-buying region at said predetermined price.
  • the present invention further includes a framework for the marketing and introduction of novel products.
  • the framework has means to model customers and to derive an optimal set of goods to produce alone or in the face of a coevolving competitive environment where other firms are introducing and modifying their own goods.
  • It is a further aspect of the present invention to present a method for creating a model of consumer preferences from consumer data comprising the steps of; constructing a plurality of candidate maps form the consumer data to actual consumer preferences; constructing a family of agent-based models; evaluating said plurality of candidate maps and said family of agent-based models with respect to said consumer data; selecting one or more of said plurality of candidate maps and said family of agent based models based on said evaluation; and performing at least one operation on said selected candidate maps and said selected agen -based models to generate a new plurality of candidate maps and a new family of agen -based models,
  • FIG. 1 provides a flow diagram of the adaptive dissimilarity partitioning method 100 of the present invention.
  • FIG. 2 provides a flow diagram of a method for determining consumer demand 200 that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
  • FIG. 3 provides a flow diagram of the framework 300 for the marketing and introduction of novel products.
  • FIG. 4 provides a flow diagram of the method for creating a model of customer preferences.
  • FIG. 5 discloses a representative computer system in conjunction with which the embodiments of the present invention may be implemented, DETAILED DESCRIPTION OP THE PREFERRED EMBODIMENT
  • the present invention presents methods for partitioning that provide both a relevant metric and a set of clusters through an evolutionary learning process called an adaptive dissimilarity partitioning method. Without limitation, many of the following embodiments of the adaptive dissimilarity partitioning method are explained in the illustrative context of market segmentation. However, it will be apparent to persons of ordinary skill in the art that the aspects of the embodiments of the invention are also applicable in any context in which the natural metric or dissimilarity measure of attribute space is not precisely know .
  • the components x ⁇ (j-1, ... , m) may be real variables, binary variables, or other types of variables.
  • the aim of a typical clustering algorithm is to assign the data points to clusters to minimize some cost function.
  • m lr l if x ⁇ is assigned to cluster h and m ifl otherwise, and ...
  • the k-means clustering algorithm is explained in Some methods for classification and analysis of multi variata observations, McQueen, J., Proc. Fifth Berkeley Symp. on Mathematical Statistics and Probability, Vol. 1 ⁇ Le Cam, L, M, & Ney an, J. , eds) , University of California Press, Berkeley, CA, 1965, pp. 281-297.
  • An acceptable clustering solution is given by ⁇ m ih ⁇ , where each data vector is assigned to one and only one cluster.
  • the cluster prototypes are initialized with the first k data vectors.
  • a new data vector x i( i>k, is assigned to the closest prototype vector y : , t , .
  • the prototype is adjusted in response to x 1# or, more precisely, is moved closer to x ⁇
  • the total adjustment of the prototype is normalized to the number of vectors that have already been assigned to that prototype.
  • a randomized version of this algorithm, supplemented with t ⁇ pological constraints on prototypes, is the self-organizing map, an unsupervised neural network. Unsupervised neural networks are explained in The self-Organizing Map, ohonen, T., 1990, the contents of which are herein incorporated by reference. We have assumed the existence of a well-defined distance ...
  • Multidimensional scaling is used to represent data points in a two-or three-dimensional Euclidian space such that pairwise distances in representation space closely match pairwise dissimilarities as explained in Multidimensional Scaling, Cox, T. F. & Cox, M. A. A., Chapman & Hall, London, 1994 (“Multidimensional Scaling” ) , the contents of which are herein incorporated by reference.
  • a clustering algorithm can be applied to the representation vectors.
  • y ⁇ be the vector that represents data vector Xj.
  • the cost function (also called stress) to be minimized is typically given by;
  • Clustering or scaling data although it is sometimes used for exploratory data analysis, is usually a first "preprocessing" step in a particular task to be performed (compression, understanding, market segmentation, etc) .
  • the performance of clustering or MDS can therefore be measured not only with respect to the cost function or stress to be minimized but also in connection with the task to be performed.
  • the appropriate dissimilarity measure can be learned in a supervised manner on a training set, tested on a validation set, and applied to new data.
  • the proposed learning algorithm is a genetic algorithm.
  • FIG. 1 provides a flow diagram of the adaptive dissimilarity partitioning method 100 of the present invention.
  • the method 100 chooses a family of of distance functions or dissimilarity measures.
  • the method 100 randomly generates a population of
  • step 106 the method 100 performs clustering or multidimensional scaling with a given algorithm for each distance function or dissimilarity measure.
  • the method 100 evaluates the performance of clustering or multidimensional scaling and assigns fitness to every
  • step 110 the method 100 selects individuals on the basis of fitness.
  • step 112 the method 100 applies operators to selected individuals and pairs of individuals.
  • the operations are genetic operators such as mutation and crossover.
  • step 114 the method 100 determines whether the partitioning results are satisfactory with respect to the fitness computed in step 108. If the partitioning results are not satisfactory, control returns to step 106 to perform clustering or multidimensional scaling for each new distance
  • the distance function or dissimilarity measure can be represented by a true function of the vectors' coordinates or by a set of pairwise relationships. When only pairwise relationships between data vectors are available one needs to generalize the dissimilarity measure to data vectors which have not been presented.
  • the simplest generalization procedure is to use a locally linear interpolation, using the k nearest neighbors; the dissimilarity between the new vector V and any other vector 0 is given by the average 0 dissimilarity between the k nearest neighbors of V and 0.
  • each data vector ⁇ is two- dimensional.
  • the two components of X j represent two properties of a cookie, for example, sweetness and chewiyness.
  • a set of n customers is asked to determine the respective levels of sweetness and chewyness they like in a cookie, on a scale of 1 to 10 for each property.
  • each customer is asked to tell which type of cookie he or she is currently o using. Assume that k different types of cookies are represented.
  • the distance function in the space of customer preferences is unknown, For example, one factor may be more important than another.
  • Z x and f- are, for example, second-degree polynomial functions of their variables. Each function is characterized by 15 parameters, the coefficients of the polynomials. The variations of these parameters is assumed to be restricted to [-10,10] .
  • M in is the number of customers assigned to the same cluster that do no buy the same cookie type
  • M out is the number of customers assigned to different clusters that buy the same cookie type.
  • the adaptive dissimilarity partitioning method 100 of the present invention finds the natural dissimilarity 5 measure or distance function in a space of attributes. This function may be unknown. Instead of resorting to ad hoc functions, the method systematically generates a distance function adapted to the task at hand.
  • the obtained distance function reflects the true structure of the space of o attributes and therefore can be used, in the context of market segmentation, to cluster customers, extract the "natural" clusters in the data using a non parametric clustering algorithm (that is, one in which in the number of clusters is not predefined) , extract the effective dimension 5 of the space of preferences, test product differentiation, improve positioning by product adjustment, and test potential new products, taking into account the cost of moving from one product to another or of launching a new product .
  • a non parametric clustering algorithm that is, one in which in the number of clusters is not predefined
  • x L1 and x i3 be the x- and y-coordinates of the ith data vector.
  • x lt and x are drawn from a uniform random distribution on [0,1] .
  • x u and x l2 represent customer preferences for two selected features of a given product type, that two products are on the market, and that a customer i purchases product 1 if and only if x u ⁇ 0.5 and purchases product 2 if and only if x n ⁇ 0.5.
  • r is a learning rate
  • n-200 s the number of data vectors.
  • the family of distance function used in this example has three parameters:
  • This family of functions assumes no correlation among coordinates, which is certainly a limitation in certain cases. Other distance functions should be used in such cases.
  • M 1 ⁇ is the number cf customers assigned to the same cluster that do no purchase the same cookie type and M oue is the number of customers assigned to different clusters 'that buy the same product.
  • the population size was 40, the mutation rate 0.1, and crossover was replaced with averaging of parameters (that is, two selected individuals produce one offspring the parameters of which are the arithmetic average of its parents' parameters) .
  • the GA finds values of the parameters that consistently produce a perfect clustering of customers after application of the modified k-means algorithm.
  • both situations lead to the detection of 4 clusters.
  • a non-parametric (ant-based) algorithm leads to 4 clusters in both cases using the Euclidian distance.
  • the same algorithm leads to 2 clusters when applied to the situation where the four clusters discriminate along the y-axis and 4 clusters in the situation where the four clusters discriminate along the x-axis.
  • GA is interactive: the outcome of the clustering or MDS algorithm is evaluated by a human observer who picks the good solutions.
  • the adaptive dissimilarity method 100 is also applicable to graph partitioning.
  • V ⁇ ViJi.j.
  • n is the set of n vertices and E, a subset of VxV, the set of edges, of cardinal
  • E can be represented as a matrix [ ⁇ ti ] of edge weights, e ⁇ being the weight of edge (v if V j ) , where e i5 ⁇ O if (v ⁇ V j ) e E and e ⁇ O if (V j ,v 3 ) e E.
  • the bipartitioning problem consists of finding 2 sets of n/2 vertices each such that the total edge weight between clusters is mimimal .
  • This problem is known to be NP-complete, and many heuristics have been proposed to find reasonably good solutions in polynomial time.
  • centroid update upon presentation of ⁇ is given by:
  • the family of distance function used in this example has , three parameters:
  • the first term contains only zeroth and first-order relationships between the two vertices: this term is small when the two vertices are connected (Oth-order) and are connected to the same set of vertices (first-order) .
  • the second term which gets activated when w ⁇ l, represents second-order relationships between two vertices: this term is small when the neighbors of the two vertices have a lot of adjacent vertices in common. Such relationships may be important for graph partitioning, but the extent to which they improve the partitioning is not known.
  • E lnt is the total inter-cluster weight
  • n x is the n number of vertices assigned to cluster 1.
  • the present invention further presents a method for determining consumer demand that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
  • Previous work has developed a general model of rugged fitness landscapes called the N model as explained in The Origins of Order, Stuart A. Kauff an, Oxford University Press, 1993, Chapter 2, the contents of which are herein incorporated by reference.
  • the NK model is also explained in 0 At Home in the Universe, Stuart A. Kauffman, Oxford
  • NK landscapes are members of a still more general class of models in physics, and known in the art as P spin 5 models.
  • a P spin model consists of N spins, each of which can take on a discrete number of values, say -1 and +1, or 1 and 0, or a,b,c,d. Each spin contributes an "energy" to the total energy of a system of N spins .
  • the energy of a given spin con iguration of the N spins is given by the sum of the o energies of the N spins.
  • Each spin's energy contribution is, in general, given by a sum of a monomial term which is a function of its own state, plus quadratic terms which are sums of energies that are functions of the states of all spins that influence it in pairwise interactions, plus a 5 similar sum of cubic terms listing all the contributions of all triples of spins of which that spin is a member, plus higher order terms.
  • K is the highest order coupling.
  • the discrete system has a rugged "fitness” "cost” “e ficiency” or “utility” landscape over the combinations of states of the N spins.
  • New techniques have been developed to characterize a number of features of such landscapes. And it is these features that allow ready assessment of the importance of higher order, combinatorial properties on landscape structure. These properties include: 1) The number of peaks in the landscape; 2) The expected number of steps to a peak from any given point in the landscape. 3) The dwindling number of directions “uphill” as the peak is climbed. 4) The number of different peaks that can be climbed from a single point on the landscape by adaptive walks which must proceed only uphill. 5) The correlation structure of the landscape which is, roughly, the correlation between fitnesses at two points on the landscape as a function of their distance.
  • the rate of dwindling is a measure that can be used to characterize the ruggedness of a continuous landscape.
  • the generic feature is that at every step uphill, the number Of directions uphill falls by a constant fraction.
  • the fraction by which the directions uphill dwindles increases from a few percent to 50% for fully random landscapes in the K - N 1 "random energy" limit.
  • the rate at which the uphill cone decreases as walks uphill continue provides a measure of landscape ruggedness for continuous landscapes.
  • the customer will not buy, on the other side of a point on a surface in property space, at 0 that price, the customer will not buy, on the other side he will buy.
  • the point in question estimates the price for that specific vector of properties.
  • a population of such data points can be assembled. In principle, much data could be obtained from each customer, but typically it is only o feasible to obtain a limited amount of data from a given customer. Typically, this is obtained over a moderate large region of property space.
  • the data points are then typically each labeled by a vector of demographic traits, and an attempt is made using standard analysis to discriminate both 5 high utility positions in the space of properties, and simultaneously the targeted demographic populations that are well matched to good positions in the space of properties in order to optimize the vector of goods produced, each at a different position in the property space, and targeted to one or more positions in the demographic space, such that a total figure of merit such as total profit after total manufacture and sales.
  • FIG. 2 provides a flow diagram of a method for determining consumer demand 200 that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
  • the method for determining consumer demand 200 selects a point in property space that lies on a surface that divides a region where a predetermined customer would buy from a region where the predetermined customer would not buy.
  • step 204 the method for predicting consumer demand 200 samples a set of points on an R-dimensional sphere surrounding the point selected in step 202.
  • Step 204 contrasts with previous methods for predicting consumer demand that sample widely over the product space .
  • the radius of the sphere is defined in a well specified way where the radius is defined as the "step length" on the surface.
  • An exemplary distance is the Euclidian distance.
  • step 204 characterizes for many points in the spherical surface surrounding the point whose price has been determined, whether that new point would or would not be purchased by the customer at the given price.
  • the true price surface in the space of properties contains the first determined point, that price surface will, in general, pierce the spherical surface surrounding the point whose price is determined,
  • the points on the sphere which are purchased and the points which are not purchased determine, in the simplest case, a curve of points whose price is the transition between buying and not buying at the price. In this way, the neighborhood surrounding that first priced point can be examine .
  • step 206 the method for predicting consumer demand 200 determines whether the indifference surface has been substantially completed. If the method for predicting consumer demand 200 determines that the indifference surface has not been substantially completed, control proceeds to step 208.
  • step 208 the method for predicting consumer demand selects another point on the indifference surface from the transition curve determined in step 204. After step 208, control returns to step 204.
  • Step 204 samples a set of points on an R-dimensional sphere surrounding the point selected in step 208. In this fashion, the method for predicting consumer demand 200 operates to extend the indifference surface at the predetermined price in any 0 direction in the property space.
  • the ruggedness of the indifference surface at a given price will show up by any of the properties we have discussed.
  • the indifference surface at a given price may have one or more 5 correlation lengths in the space of properties. These correlation lengths, in the NK model are long, for K small, and short for K large. Thus, short correlation lengths estimate higher order couplings among the properties.
  • the cone "uphill" in property space on an indifference surface at o a given price can be determined. Good combinations of properties will show up as peaks or minima, depending upon direction of definition, in the surface.
  • the method for predicting consumer demand 200 was explained in the context of computing an indifference surface for a predetermined price in the property space for a predetermined customer. However, as is known by one of ordinary skill in the art, the method for predicting consumer demand 200 could also be used to sample the property space of the product for a given class of customer at a predetermined price or at a set of predetermined prices. Further, the method for predicting consumer demand 200 cculd also be used to arrange the de ographically characterized population of customers into a customer-scape for any given point in the product space. This new approach to market segmentation arises by casting the agents into an M dimensional demographic space.
  • the present invention further includes a framework for the marketing and introduction of novel products, which is a central function of businesses.
  • FIG. 3 provides a flow diagram of the framework 300 for the marketing and introduction of novel products.
  • the framework 300 concerns means to model customers and derive an optimal set of goods to produce alone or in the face of a coevolving competitive environment where other firms are introducing and modifying their own goods.
  • the framework for the marketing and introduction of novel products 300 assembles data on customers from statements of preferences on questionnaires, point of purchase data, neilson data, etc.
  • the framework for the marketing and introduction of novel products 300 creates a model of customer preferences.
  • the framework 300 uses the models of customer preferences created in step 304 to identify preferred goods and services.
  • the framework considers the behavior of other firms in the environment in addition to the models of customer preferences created in step 304 to identify preferred goods and services in a coevolving competitive environment.
  • FIG. 4 provides a flow diagram of the method for creating a model of customer preferences of step 304.
  • the method for creating a model of customer preferences 304 determines whether to perform market segmentation. If step 402 indicates that market segmentation should be performed, control proceeds to step 404 where the method for creating a model of customer preferences executes the adaptive dissimilarity partitioning method 100 shown by the flow diagram of FIG. 1. If step 402 indicates that market segmentation should not be performed, control proceeds to step 406.
  • the method for creating a model of customer preferences 304 constructs a family of linear or non-linear models of customers. These models are candidate maps from answers to questions, point of purchase data, etc. to the actual predictive preferences of the customers for the goods in question. Accordingly, an aim of the method for creating a model of customer preferences 304 is to order the goods in a match to actual preferences of customers.
  • step 408 the method for creating a model of customer preferences 304 constructs agent based models of customers based on default hierarchies, rules of thumb, etc, in their strategy space. Default hierarchies, etc. do not require that preferences be transitive, which is often true of customers, In contrast, a preference space doe3 require transitivity.
  • Agent based models of customers are described in A System and Method for the Syntheaia of an Economic Web and the Identification of New Market Niches, Attorney docket number 9392-0007-999, filed May 15, 1998, the contents of which are herein incorporated by reference. Agent based models of customers are further described in An Adaptive and Reliable System and Method for Operations Management, Attorney docket number 9392-0004-999, filed July 1, 1999, the 0 contents of which are herein incorporated by reference.
  • the method for creating a model of customer preferences 304 utilizes adaptive algorithms over the space of mappings produced by step 406 and the space of agent strategies produced by step 408 to find a set of models that predicts customer purchasing preferences for a set of goods.
  • the adaptive algorithms are genetic algorithms.
  • the adaptive algorithms are genetic programming.
  • step 412 the method for creating a model of o customer preferences 304 determines whether the output of step 410 has produced good predictive models of customer purchasing preferences. If step 412 determines that the output of step 410 has not produced good predictive models of customer purchasing preferences, control returns to step 406 5 where processing proceeds with the new set of models produced by the adaptive algorithm of step 410. If step 412 determines that the output of step 410 has produced good predictive models of customer purchasing preferences, control proceeds to step 414 where the processing terminates. As previously discussed, in step 306, the framework
  • step 300 uses the models of customer preferences created in step 304 to identify preferred goods and services. If the customers have preferences for may features of a product that add up to a single preference landscape, then step 306 executes the method for predicting consumer demand 200 illustrated by the flow diagram of FIG. 2. In contrast, if the customer preferences are not commensurable, then step 306 executes an optimization tool to find the global pareto optimal points such as Configuration Sherpa, which is described in A System and Method for Coordinating Economic Activi ties Wi thin and Between Economic Agents . In either case, one of ordinary skill in the art would understand that there are a variety of clustering and multi-dimensional scaling algorithms that can seek optimal choices of locations of goods in the product space to attract the most customers. Such algorithms may prespecify the number of goods, or seek optimal numbers and locations of goods based on a firm's budget constraints, and other aspects of firm operations in its competitive environment.
  • Configuration Sherpa which is described in A System and Method for Coordinating Economic Activi ties Wi thin and Between Economic Agents .
  • step 308 the framework considers the behavior of other firms in the environment in addition to the models of customer preferences created in step 304 to identify preferred goods and services in a coevolving competitive environment.
  • Firms compete by introducing or improving products.
  • a "red queen" regime of persistent coevolution in the space of products and an evolutionary stable strategies regime where all products reach local or global Nash equilibria and stop moving in product space. See At Home in the Universe . If the firm completes the observe, orient, decide and act loop (OODA) faster than the other firms with respect to the introduction, innovation, improvement and wise placement of products, it can systematically win.
  • OODA decide and act loop
  • Step 308 of the framework for the marketing and introduction of novel products 300 uses models of customers and capacity to predict preferences over the space of products to build agent based or other dynamical models of the coevolution of market shares of products, utilizing data to locate optimal positions for new or improved products in coev ⁇ lutionary dynamics subject to constraints on budget, capacity, and time to market for new or improved goods, etc.
  • Agent based modelB that identify new products are described in A System and Method for the Synthesis of an Economic Web and the Identification of New Market Niches ,
  • FIG. 5 discloses a representative computer system 510 in conjunction with which the embodiments of the present invention may be implemented.
  • Computer system 510 may be a personal computer, workstation, or a larger system such as a minicomputer.
  • a personal computer workstation
  • a larger system such as a minicomputer.
  • the present invention is not 0 limited to a particular class or model of computer.
  • epresentative computer system 510 includes a central processing unit (CPU) 512, a memory unit 514, one or more storage devices 516, an input device 518, an output device 520, and communication interface 2922.
  • a system bus 524 is provided for communications between these elements.
  • Computer system 510 may additionally function through use of an operating system such as Windows, DOS, or UNIX.
  • an operating system such as Windows, DOS, or UNIX.
  • Storage devices 516 may illustratively include one or more floppy or hard disk drives, CD-ROMs, DVDs, or tapes.
  • Input device 518 comprises a keyboard, mouse, microphone, or other similar device.
  • Output device 520 is a computer 5 monitor or any other known computer output device.
  • Communication interface 522 may be a modem, a network interface, or ether connection to external electronic devices, such as a serial or parallel port

Abstract

The present invention presents a method for partitioning that provides both a relevant metric and a set of clusters through an evolutionary learning process. The present invention further presents a method for determining consumer demand (304) that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base. The present invention further includes a framework for the marketing and introduction of novel products. The framework has means to model customers and derive an optimal set of goods (308) to produce alone or in the face of a coevolving competitive environment where other firms are introducing and modifying their own goods.

Description

A METHOD FOR PERFORMING MARKET SEGMENTATION AND FOR PREDICTING CONSUMER DEMAND
FIELD OP THE INVENTION
5 The present invention relates generally to methods for performing market segmentation and to methods predicting consumer demand. More specifically, the present invention performs market segmentation by determining dissimilarity measures and predicts consumer demand by constructing a
1° landscape of consumer demand through focused sampling.
BACKGROUND
The problem of determining what combination of factors in a given product (from toothpastes to cookies or
*5 cars) will atcract customers is a difficult one because the relationship between -he factors may be highly nonlinear and because the racings of factors by cus omers may be biased for various reasons (formulation of he questions, rating scale, customer answers do not reflect accual preferences, etc.).
20 For marketing purposes, a company would like to be able to find clusters composed of a sufficient number of customers i^h similar preferences in order to either launch a new produc-, or adjust an existing product, adapted to such preferences. Of critical importance is that customers with
25 similar sets of preferences be assigned to the same cluster and that customers with significantly different sets of preferences be assigned to different clusters.
Clustering algorithms exist that can generate clusters that satisfy either one or both of these 0 constraints. Multidimensional scaling methods go one step further to allow visualization of high-dimensional data clusters in a low-dimensional embedding space. But clustering algorithms and multidimensional scaling methods always assume the existence of a well-defined metric or 5 dissimilarity measure in attribute space, here the space of factors that contribute to a product. Accordingly, there exists a need for a method for partitioning that provides both a relevant metric and a set of clusters.
Next, a large body of mathematical and statistical work exists concerning means to estimate the optimal composition of a good or service for a given customer, or population of customers. This body of work contains techniques, known in the art, such as CART, and discrete choice providing means for determining utility functions over ig a space of properties of a good or service for a given consumer, as well as means of considering a population of different customers with different preferences over that space of properties and attempting to "segment" the customer population into subgroups which may then be specifically
15 targeted by marketing, or shifting the property mix of each product produced and the vector of products to "match" optimally the customer population. Typically the aim is to maximize profit for the firm.
The means in the art, in general, attempt to fit o the observed data points by building up sketches of the utility surface for a given consumer or class of consumers using, in the simplest case, linear regression of the data points on all the property axes. Different classes of consumers are discriminated by discovering different linear 5 regression patterns for different, e.g., demographic classes. In more sophisticated approaches, attempts are made to model the possibly curved properties of λ isoultility" surfaces in the space of properties for a given consumer, or class of consumers, by fitting higher order polynomials to the sampled 0 data. The generic problem with this approach is that the data sampled must be used to estimate the coefficients of the monomial and polynomial terms, and the finite amount of data is typically used to characterize the lowest order terms, monomial, quadratic, etc, first. The data is typically "used 5 up in obtaining reliable statistical estimates of these low order terms, and little or none is left over for use estimating higher order terms. On the other hand, the higher order terms are precisely the measures of the complex context dependent interactions among properties of a single good or service or a collection of goods or services. A trivial example is
5 breakfast, consisting of ham and eggs. These two are traditionally called "consumption complements" by economists. The utility of ham for many consumers is much higher in the presence of eggs, than alone; so too with eggs. Another case is niche marketing of cellular telephones. Not only are these
* Q phone3 of interest to high volume users with expense accounts, but to low volume users who happen to be women with small children driving in rural areas and worried about an accident and no means of calling for help. The context dependence of the properties: woman, mother, with child in car, accident and safety demonstrates the combinatorial character of one niche occupied by this product.
On a simpler level, a given product, say soap, might be characterized by a number of features: color, shape, smell, saponin content, mass, etc. Or coca-cola packaging may 0 be characterized by a number of properties, number of cans, size of cans, fluid in can, color of package, etc.
Accordingly, there is also a need for a method for determining consumer demand that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
0 SUMMARY OP THE INVENTION
The present invention presents a method for partitioning that provides both a relevant metric and a set of clusters through an evolutionary learning process.
It is an aspect of the present invention to present 5 a method for partitioning a space of data comprising the steps of: choosing a plurality of dissimilarity measures; partitioning the space for each of said plurality of dissimilarity measures; evaluating said partitioning for each of said plurality of dissimilarity measures; and selecting one or more of said dissimilarity measures on the basis of said evaluation.
The present invention further presents a method for determining consumer demand that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
It is an aspect of the present invention to present a method for determining customer demand for products comprising the steps of: defining a space having R dimensions wherein each point in said space corresponds to a vector of properties; constructing a landscape for said space comprising
Figure imgf000006_0001
locating at least one point on said space where a predetermined customer would purchase a product having said corresponding vector of properties at a predetermined price; and sampling a set of points on an R-dimensional sphere surrounding said selected point at a predetermined step length from said selected point to determine a first subset of said set of points where the predetermined customer would make a purchase at said predetermined price and to determine a second subset of said sampled points where the customers would not make the purchase at said predetermined price, said first subset of points and said second subset of points form at least one indifference surface between a buying region and a non-buying region at said predetermined price.
The present invention further includes a framework for the marketing and introduction of novel products. The framework has means to model customers and to derive an optimal set of goods to produce alone or in the face of a coevolving competitive environment where other firms are introducing and modifying their own goods.
It is a further aspect of the present invention to present a method for creating a model of consumer preferences from consumer data comprising the steps of; constructing a plurality of candidate maps form the consumer data to actual consumer preferences; constructing a family of agent-based models; evaluating said plurality of candidate maps and said family of agent-based models with respect to said consumer data; selecting one or more of said plurality of candidate maps and said family of agent based models based on said evaluation; and performing at least one operation on said selected candidate maps and said selected agen -based models to generate a new plurality of candidate maps and a new family of agen -based models,
BRIEF DESCRIPTION OF THS DRAWINGS
FIG. 1 provides a flow diagram of the adaptive dissimilarity partitioning method 100 of the present invention.
FIG. 2 provides a flow diagram of a method for determining consumer demand 200 that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base.
FIG. 3 provides a flow diagram of the framework 300 for the marketing and introduction of novel products.
FIG. 4 provides a flow diagram of the method for creating a model of customer preferences.
FIG. 5 discloses a representative computer system in conjunction with which the embodiments of the present invention may be implemented, DETAILED DESCRIPTION OP THE PREFERRED EMBODIMENT The present invention presents methods for partitioning that provide both a relevant metric and a set of clusters through an evolutionary learning process called an adaptive dissimilarity partitioning method. Without limitation, many of the following embodiments of the adaptive dissimilarity partitioning method are explained in the illustrative context of market segmentation. However, it will be apparent to persons of ordinary skill in the art that the aspects of the embodiments of the invention are also applicable in any context in which the natural metric or dissimilarity measure of attribute space is not precisely know .
Let us define a set of n m-dimensiαnal data vectors t (i=l, .. , , n) . The components x^ (j-1, ... , m) may be real variables, binary variables, or other types of variables. The aim of a typical clustering algorithm is to assign the data points to clusters to minimize some cost function. A prototype vector is usually associated with each cluster; a cluster is defined as the set of data vectors that are closer to the cluster's prototype than to any other prototype. For example, in the k-means clustering algorithm, one has to determine the coordinates of k prototype vectors yfe (h=l, ..., k) to minimize the following cost function;
Figure imgf000008_0001
where mlr=l if x^ is assigned to cluster h and mifl otherwise, and ...| is a distance in the space of data vectors. The k-means clustering algorithm is explained in Some methods for classification and analysis of multi variata observations, McQueen, J., Proc. Fifth Berkeley Symp. on Mathematical Statistics and Probability, Vol. 1 {Le Cam, L, M, & Ney an, J. , eds) , University of California Press, Berkeley, CA, 1965, pp. 281-297. An acceptable clustering solution is given by {mih} , where each data vector is assigned to one and only one cluster. In the k-means algorithm, the cluster prototypes are initialized with the first k data vectors. A new data vector xi( i>k, is assigned to the closest prototype vector y:,t, . The prototype is adjusted in response to x1# or, more precisely, is moved closer to x^
Figure imgf000009_0001
The total adjustment of the prototype is normalized to the number of vectors that have already been assigned to that prototype. A randomized version of this algorithm, supplemented with tαpological constraints on prototypes, is the self-organizing map, an unsupervised neural network. Unsupervised neural networks are explained in The self- Organizing Map, ohonen, T., 1990, the contents of which are herein incorporated by reference. We have assumed the existence of a well-defined distance ...| . Sometimes, only pairwise (or higher-order) relationships among vector components are available. In such cases, the cost function to be minimized is the product of the dissimilarities of data vectors assigned to the same cluster.
Multidimensional scaling (MDS) is used to represent data points in a two-or three-dimensional Euclidian space such that pairwise distances in representation space closely match pairwise dissimilarities as explained in Multidimensional Scaling, Cox, T. F. & Cox, M. A. A., Chapman & Hall, London, 1994 ("Multidimensional Scaling" ) , the contents of which are herein incorporated by reference. A clustering algorithm can be applied to the representation vectors. Let y± be the vector that represents data vector Xj. Let diu be t:he distance between two representation vectors y and yu (dlu = "* " Η |) nc Di tne dissimilarity between Xj and u. The cost function (also called stress) to be minimized is typically given by;
11 u
E=∑∑ i,(diu-Di, r»l u=l
where the weights wlu are introduced to normalize the absolute values of the disparities Diu. A common choice for wlu is
W, n n
3.Σ Σ D«β
Other definitions of stress and algorithms for minimizing stress are surveyed by Mul tidimensional Scaling.
In both clustering and MDS, the initial dissimilarity measure is assumed to be known. Given the dissimilarity, a clustering algorithm provides clusters whereas MDS provides a low-dimensional representation. The obtained clusters or representations critically depend on the choice of the dissimilarity measure. Such a measure is usually defined on the basis of "intuitive" criteria and relies on the "expertise" of the designer. Defining a dissimilarity measure, however, can in principle be automated. Clustering or scaling data, although it is sometimes used for exploratory data analysis, is usually a first "preprocessing" step in a particular task to be performed (compression, understanding, market segmentation, etc) . The performance of clustering or MDS can therefore be measured not only with respect to the cost function or stress to be minimized but also in connection with the task to be performed. The appropriate dissimilarity measure can be learned in a supervised manner on a training set, tested on a validation set, and applied to new data. The proposed learning algorithm is a genetic algorithm. Genetic
5 algorithms are described in Genetic Algorithms in Search, Optimization and Machine Learning, Goldberg, D. E,, Addison- Wesley, Reading, MA., 1989 (Genetic Algori thms in Search, Optimization and Machine Learning) , the contents of which are herein incorporated by reference.
1 FIG. 1 provides a flow diagram of the adaptive dissimilarity partitioning method 100 of the present invention. In step 102, the method 100 chooses a family of of distance functions or dissimilarity measures. In step 104, the method 100 randomly generates a population of
13 dissimilarity measures Dv = JD j or distance functions dv in the chosen family, where v is the index of a given dissimilarity measure in that population. Each "individual" v is encoded into a "genotype".
20 In step 106, the method 100 performs clustering or multidimensional scaling with a given algorithm for each distance function or dissimilarity measure. In step 108, the method 100 evaluates the performance of clustering or multidimensional scaling and assigns fitness to every
2 dissimilarity measure v. In step 110, the method 100 selects individuals on the basis of fitness. In step 112, the method 100 applies operators to selected individuals and pairs of individuals. Preferably, the operations are genetic operators such as mutation and crossover. 0 In step 114, the method 100 determines whether the partitioning results are satisfactory with respect to the fitness computed in step 108. If the partitioning results are not satisfactory, control returns to step 106 to perform clustering or multidimensional scaling for each new distance
55 functions or dissimilarity measure created in steps 110 and 112. If the partitioning results are satisfactory, control proceeds to step 116 where the method 100 terminates. The distance function or dissimilarity measure can be represented by a true function of the vectors' coordinates or by a set of pairwise relationships. When only pairwise relationships between data vectors are available one needs to generalize the dissimilarity measure to data vectors which have not been presented. The simplest generalization procedure is to use a locally linear interpolation, using the k nearest neighbors; the dissimilarity between the new vector V and any other vector 0 is given by the average 0 dissimilarity between the k nearest neighbors of V and 0.
The following examples illustrates the operation of the adaptive dissimilarity partitioning method 100. Let us assume for definiteness that each data vector κ: is two- dimensional. The two components of Xj represent two properties of a cookie, for example, sweetness and chewiyness. A set of n customers is asked to determine the respective levels of sweetness and chewyness they like in a cookie, on a scale of 1 to 10 for each property. In addition, each customer is asked to tell which type of cookie he or she is currently o using. Assume that k different types of cookies are represented. The distance function in the space of customer preferences is unknown, For example, one factor may be more important than another. A simple family of distance functions is ! 5 d„. =
Figure imgf000012_0001
0 where Zx and f- are, for example, second-degree polynomial functions of their variables. Each function is characterized by 15 parameters, the coefficients of the polynomials. The variations of these parameters is assumed to be restricted to [-10,10] . A clustering algorithm, such as k-means, is applied to the data set using this distance function. The fitness of a distance dv is given by Fv =
1+ + M. OUt where Min is the number of customers assigned to the same cluster that do no buy the same cookie type and Mout is the number of customers assigned to different clusters that buy the same cookie type. Depending on the task at hand, these two types of mismatch can be given different weights.
The best individuals obtained after, say, 1000 0 generations of the genetic algorithm, correspond to distance functions that allow to obtain the right clusters of customers in the sense described above .
The adaptive dissimilarity partitioning method 100 of the present invention finds the natural dissimilarity 5 measure or distance function in a space of attributes. This function may be unknown. Instead of resorting to ad hoc functions, the method systematically generates a distance function adapted to the task at hand. The obtained distance function reflects the true structure of the space of o attributes and therefore can be used, in the context of market segmentation, to cluster customers, extract the "natural" clusters in the data using a non parametric clustering algorithm (that is, one in which in the number of clusters is not predefined) , extract the effective dimension 5 of the space of preferences, test product differentiation, improve positioning by product adjustment, and test potential new products, taking into account the cost of moving from one product to another or of launching a new product .
Other significant areas of application include protein data visualization, protein function and structure prediction, dimensionality reduction for virus data sets, general classification and pattern recognition problems, and data visualization, including database visualization and navigation. In another example, two hundred two-dimensional data vectors were randomly generated. Let xL1 and xi3 be the x- and y-coordinates of the ith data vector. xlt and x are drawn from a uniform random distribution on [0,1] . Let us assume that xu and xl2 represent customer preferences for two selected features of a given product type, that two products are on the market, and that a customer i purchases product 1 if and only if xu<0.5 and purchases product 2 if and only if xn≥0.5. In this example, therefore, only xuis relevant in the determination of what product is purchased by a customer whose preference vector is (xu, xl2) . But this information is not known to the analyst, who simply assumes that the relevant distance in preference space is, for example, the Euclidian distance. Using such a distance, the analyst will be unable to correctly segregate customers into two classes. What the algorithm has to find is the relevant distance m preference space that will naturally lead to the correct segregation after application of a simple clustering algorithm. Here we use a modified version of the k-means clustering algorithm with k=2. Two centro ds are initially located at (0.5, 0.25) and (0.5, 0.75). Ideally, after application of the clustering algorithm with the appropriate distance function, the centroids should converge to (0.25, 0.5) and (0.75, 0.5). Remember that with th s clustering algorithm a data vector belongs to the cluster whose centroid is closest to that data vector. Let G.(λ) be the centroid closest to vector xt ( CΛ(I) = ArgMin d Cm )xl j) , where d is the distance function), and C-,(f:j the ]th coordinate (j=l,2) of Cn(1 . The centroid update upon presentation of x4 is given by:
^m)) *" cm(l)j + 7 n σ(Xy - m(l)),
where d iβ the current distance function, σ() is the sign function (σ(u)=+l if u>0, σ(u)--l if u<0, and σ=0 if u=0) , r is a learning rate, and n-200 s the number of data vectors. The family of distance function used in this example has three parameters:
d{χt.,xh) ÷ w\xn - xJX +(2- w) χj2 - Xj2 β a+β
where w, a , and β e[0,2]. When w=l and a= β=2, the usual Euclidian distance is recovered, and when w=l and α=β=l one gets the city-block (or L distance.
This family of distance functions can easily be generalized to higher-dimensional spaces. For example, let us consider a D-dimensional space:
Figure imgf000015_0001
with
,w, = =l
where α?(p=l,.. -,D) and wP (p=l,. . ,D) are 2D parameters (of which only 2D-1 are free parameters) that determine the relative importance of the pth coordinate and the amount of distortion along the pth coordinate. This family of functions assumes no correlation among coordinates, which is certainly a limitation in certain cases. Other distance functions should be used in such cases.
For the simple two-dimensional example, a simple, fitness-proportionate (+elitism) genetic algorithm (GA) was used with the following fitness function for distance dv: Fv =
1+ ,,+ ".
where M is the number cf customers assigned to the same cluster that do no purchase the same cookie type and Moue is the number of customers assigned to different clusters 'that buy the same product. The population size was 40, the mutation rate 0.1, and crossover was replaced with averaging of parameters (that is, two selected individuals produce one offspring the parameters of which are the arithmetic average of its parents' parameters) . After 10 generations, the GA finds values of the parameters that consistently produce a perfect clustering of customers after application of the modified k-means algorithm. During one application (200 iterations) of the k-means algorithm for "bad" values of the parameters (w=0.96, α=1.8l, β=1.77), close to the Euclidian distance; the centroids are unable to move to the optimal locations and remain confined in the vicinity of their initial values. For "good" values of the parameters found by the GA after 10 generations (w=l.98, α-1.67, β=0.03), the centroids move to the optimal locations because the distance function assigns almost all the weight to the x-coordinate. The GA has therefore been able to find a distance function, within the family of distance functions, that reflects the "true" structure of preference space.
Assume now that instead of being uniformly distributed in [0,1] x [0,1] customers form four clusters (with the same "purchase" rule: customer i purchases product 1 if and only if xu<0.5 and purchases product 2 if and only if x £0.5). Two situations can occur; the four clusters may discriminate along the y-axis or along the x-axis. Upon application of a non-parametric (number of clusters undefined) clustering or multidimensional scaling algorithm, the situation where the four clusters may discriminate along the y-axis should lead to the detection of 2 clusters while the situation where the four clusters discriminate along the x-axis should lead to the discovery of 4 clusters if the appropriate distance function is used. If the Euclidian distance function is used both situations lead to the detection of 4 clusters. A non-parametric (ant-based) algorithm leads to 4 clusters in both cases using the Euclidian distance. The same algorithm leads to 2 clusters when applied to the situation where the four clusters discriminate along the y-axis and 4 clusters in the situation where the four clusters discriminate along the x-axis.
In an alternate embodiment, for more complicated problems, general function approximators such as neural networks are used instead of family of distance functions, In the case of neural networks connections weights are evolved using the genetic algorithm,
In another alternate embodiment, GA is interactive: the outcome of the clustering or MDS algorithm is evaluated by a human observer who picks the good solutions.
The adaptive dissimilarity method 100 is also applicable to graph partitioning. Let G=(V,E) be a non- directed graph. V= {ViJi.j. n is the set of n vertices and E, a subset of VxV, the set of edges, of cardinal |E| . E can be represented as a matrix [βti] of edge weights, e^ being the weight of edge (vifVj) , where ei5 ≠O if (v^Vj) e E and e^O if (Vj,v3) e E. The bipartitioning problem consists of finding 2 sets of n/2 vertices each such that the total edge weight between clusters is mimimal . This problem is known to be NP-complete, and many heuristics have been proposed to find reasonably good solutions in polynomial time. The question we may ask is the following: is there a natural distance in connection space (where the coordinate of a vertex v is given by ei;j, j=l, ..., n) such that the application of the k-means clustering algorithm (k=2) generates a good solution of the bipartitioning problem? The adaptive dissimilarity partitioning method 100 has been tested on random graphs G(n, c, pi; Pe) , where n=100 is the total number of vertices, c=2 is the number of clusters, p± is the probability that two vertices within a cluster are connected, and P. is the probability that two vertices belonging to different clusters are connected. Edges are characterized by e±i=l if (v^v..) e E and e^O if (v,vj) e E. Such graphs are convenient to test the algorithm because the optimal solution of bipartitioning is known when c=2 -. the optimal partitioning solution consists of having as many vertices as possible that belong to the same graph cluster allocated to the same partition cluster. These graphs have been introduced and are used as difficult benchmark problems in the context of VLSI design.
A modified version of the k-means algorithm is applied. The two centroids are initially assigned random coordinates. Let C„(i; be the centroid closest to vertex vt (Cra,i; = ArgMin (dCC.., v ) , where d is the current distance a-1,2
function), and Cmii) i the jth coordinate (j=l,..., n) of Cm(t! . The centroid update upon presentation of ± is given by:
C fia <- CnfiJi + η σ(ei3 - CmM.
where d is the current distance function, σ() is the sign function (σ(u)=+l if u>0, σ(u)=-l if u<0, and σ=0 if u=0), η is a learning rate, and n=200 is the number of data vectors.
The family of distance function used in this example has , three parameters:
Figure imgf000019_0001
Figure imgf000019_0002
where w e [0,1], and and β e [0,2] . When w=l, one gets usual distances. The first term contains only zeroth and first-order relationships between the two vertices: this term is small when the two vertices are connected (Oth-order) and are connected to the same set of vertices (first-order) . The second term, which gets activated when w<l, represents second-order relationships between two vertices: this term is small when the neighbors of the two vertices have a lot of adjacent vertices in common. Such relationships may be important for graph partitioning, but the extent to which they improve the partitioning is not known.
The fitness function used in the GA for distance dv is given by;
~-
Figure imgf000019_0003
where Elnt is the total inter-cluster weight , and nx is the n number of vertices assigned to cluster 1. The term is
there to favor well-balanced solutions.
The present invention further presents a method for determining consumer demand that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base. Previous work has developed a general model of rugged fitness landscapes called the N model as explained in The Origins of Order, Stuart A. Kauff an, Oxford University Press, 1993, Chapter 2, the contents of which are herein incorporated by reference. The NK model is also explained in 0 At Home in the Universe, Stuart A. Kauffman, Oxford
University Press, 1995, Chapter 9, the contents of which are herein incorporated by reference.
NK landscapes are members of a still more general class of models in physics, and known in the art as P spin 5 models. A P spin model consists of N spins, each of which can take on a discrete number of values, say -1 and +1, or 1 and 0, or a,b,c,d. Each spin contributes an "energy" to the total energy of a system of N spins . The energy of a given spin con iguration of the N spins is given by the sum of the o energies of the N spins. Each spin's energy contribution is, in general, given by a sum of a monomial term which is a function of its own state, plus quadratic terms which are sums of energies that are functions of the states of all spins that influence it in pairwise interactions, plus a 5 similar sum of cubic terms listing all the contributions of all triples of spins of which that spin is a member, plus higher order terms. In the NK model, K is the highest order coupling.
In such spin-glass models, the discrete system has a rugged "fitness" "cost" "e ficiency" or "utility" landscape over the combinations of states of the N spins. New techniques have been developed to characterize a number of features of such landscapes. And it is these features that allow ready assessment of the importance of higher order, combinatorial properties on landscape structure. These properties include: 1) The number of peaks in the landscape; 2) The expected number of steps to a peak from any given point in the landscape. 3) The dwindling number of directions "uphill" as the peak is climbed. 4) The number of different peaks that can be climbed from a single point on the landscape by adaptive walks which must proceed only uphill. 5) The correlation structure of the landscape which is, roughly, the correlation between fitnesses at two points on the landscape as a function of their distance.
These properties of discrete landscapes, where the spins take on only discrete values, a,b,c,d... can be generalized to the case of continuous dimensions, where each variable is a real number. This continuous case, the lengths of walks uphill, and dwindling directions uphill must be parameterized by a "step length" in the space of reasonably smooth hill sides, any point on the landscape that is on a hillside has the property that, for infinitesimal steps away from that point, half the directions are uphill and half are downhill. Only on ridges, saddles and peaks is that false. However, if a discrete step length, say 100 yards, is specified, then as a walk continues uphill and a ridge or saddle or peak is approached, the "cone" that is still uphill will dwindle. The rate of dwindling is a measure that can be used to characterize the ruggedness of a continuous landscape. Thus, on NK landscapes, with K modestly large, the generic feature is that at every step uphill, the number Of directions uphill falls by a constant fraction. As landscape ruggedness increases, the fraction by which the directions uphill dwindles increases from a few percent to 50% for fully random landscapes in the K - N 1 "random energy" limit. In a similar way, the rate at which the uphill cone decreases as walks uphill continue provides a measure of landscape ruggedness for continuous landscapes.
Consider a product space, without loss of generality taken to be soap. Features of this product were noted above, and in general, include other features of interest, Consider, to be concrete and without loss of generality, discrete choice methods. A customer is presented with different choices of a bundle of properties, or vector of properties. Each bundle is a point in the property space. A price is attached to each such point. The customer is asked to choose which, if any, he/she would buy. Examination of the vector is the property space after a finite number of such choices, reveals a price in the vicinity of those positions in property space at which the customer will just stop buying. Thus, on one side of a point on a surface in property space, at that price, the customer will not buy, on the other side of a point on a surface in property space, at 0 that price, the customer will not buy, on the other side he will buy. The point in question estimates the price for that specific vector of properties. By sampling at many points for one customer, it is possible to build up a set of points that estimates the utility curve, or surface, in property 5 space at one price for that customer, hence an indifference surface, and a set of such surfaces at different prices.
For a population of customers, a population of such data points can be assembled. In principle, much data could be obtained from each customer, but typically it is only o feasible to obtain a limited amount of data from a given customer. Typically, this is obtained over a moderate large region of property space. The data points are then typically each labeled by a vector of demographic traits, and an attempt is made using standard analysis to discriminate both 5 high utility positions in the space of properties, and simultaneously the targeted demographic populations that are well matched to good positions in the space of properties in order to optimize the vector of goods produced, each at a different position in the property space, and targeted to one or more positions in the demographic space, such that a total figure of merit such as total profit after total manufacture and sales.
The application of landscape ideas can improve these standards procedures both by directing the limited sampling that can be done that it helps capture higher order terms, or context dependent features, of these marketscapes, helps build statistical models of the right "equivalence class" of the real market scape, and helps build actual models of the actual marketscape.
FIG. 2 provides a flow diagram of a method for determining consumer demand 200 that finds the context dependent, or combinatorial optimized set of properties, uses, or customer features that optimize the value of a product to the customer base. In step 202, the method for determining consumer demand 200 selects a point in property space that lies on a surface that divides a region where a predetermined customer would buy from a region where the predetermined customer would not buy.
In step 204, the method for predicting consumer demand 200 samples a set of points on an R-dimensional sphere surrounding the point selected in step 202. Step 204 contrasts with previous methods for predicting consumer demand that sample widely over the product space . The radius of the sphere is defined in a well specified way where the radius is defined as the "step length" on the surface. An exemplary distance is the Euclidian distance. With the same customer, or more generally, the same class of customers, step 204 characterizes for many points in the spherical surface surrounding the point whose price has been determined, whether that new point would or would not be purchased by the customer at the given price. Since the true price surface in the space of properties contains the first determined point, that price surface will, in general, pierce the spherical surface surrounding the point whose price is determined, The points on the sphere which are purchased and the points which are not purchased determine, in the simplest case, a curve of points whose price is the transition between buying and not buying at the price. In this way, the neighborhood surrounding that first priced point can be examine .
In step 206, the method for predicting consumer demand 200 determines whether the indifference surface has been substantially completed. If the method for predicting consumer demand 200 determines that the indifference surface has not been substantially completed, control proceeds to step 208. In step 208, the method for predicting consumer demand selects another point on the indifference surface from the transition curve determined in step 204. After step 208, control returns to step 204. Step 204 samples a set of points on an R-dimensional sphere surrounding the point selected in step 208. In this fashion, the method for predicting consumer demand 200 operates to extend the indifference surface at the predetermined price in any 0 direction in the property space.
The ruggedness of the indifference surface at a given price will show up by any of the properties we have discussed. Thus, measured in property space, the indifference surface at a given price may have one or more 5 correlation lengths in the space of properties. These correlation lengths, in the NK model are long, for K small, and short for K large. Thus, short correlation lengths estimate higher order couplings among the properties. The cone "uphill" in property space on an indifference surface at o a given price can be determined. Good combinations of properties will show up as peaks or minima, depending upon direction of definition, in the surface. That is, a very good combination of properties in property space will show up, for example, as a willingness to pay the fixed price for 5 a small "amount" of the given vector of properties. Having defined a local "peak" in the indifference landscape surface, we can define the typical walk length, given step size, the peak, and the number of peaks to which one can walk from any point. In addition, we can examine the similarity of peaks 0 climbed from the same or nearby points on the indifference landscape at a given price. We can ask if high peaks cluster near one another. We can ask whether recombination is a good means to find the high peaks. If so, we can search out the high peaks by focusing our questioning in precise ways, to look "between" the high peaks on the current landscape, and hill climb from those points to still higher peaks. All these properties allow focused sampling of the landscape to estimate the higher order context dependent, combinatorial features of a given market scape.
Statistical models of the sampled market scape can be built by utilizing P spin-like models, where the class of models with all possible values of the coefficients of all the Padic terms in the polynomials constitute the family of landscape models. Maximum entropy Bayesian updating similar techniques can then be used to estimate the most likely 0 landscape parameters to fit the observed data. A major difference between the current approach and usual approaches is that the detailed sampling in specific regions of the indifference surface at a given price yields estimates of the how "high" the higher order terms, (K in the Nk model) 5 actually are. Thus, we can estimate from such focused local measurements at several points on the landscape, that, for example, fifth order interactions, P=5, are critical for determining the local structure of the marketscape. Knowing that, we can use a preponderance of the data to fit or o estimate the 5:h order terms, and only a small amount of the data to estimate the monomial terms that may determine the overall non-isotropiσ features of the marketscape on long length scales across the marketscape. Thus, we can optimize use of the sampled data to discover both long range features 5 of the landscape and local features.
Given this analysis, one can derive a class of statistical models of the landscape, and specific models of the landscape.
The method for predicting consumer demand 200 was explained in the context of computing an indifference surface for a predetermined price in the property space for a predetermined customer. However, as is known by one of ordinary skill in the art, the method for predicting consumer demand 200 could also be used to sample the property space of the product for a given class of customer at a predetermined price or at a set of predetermined prices. Further, the method for predicting consumer demand 200 cculd also be used to arrange the de ographically characterized population of customers into a customer-scape for any given point in the product space. This new approach to market segmentation arises by casting the agents into an M dimensional demographic space. At any given price, we can determine the fraction of customers in any small volume of demographic space who will buy the good at that point in product space at the given price. This determines a "customer-scape" for that good at that price. Once again, the customer-scape is a 0 landscape, and we can define all the properties noticed above; correlation structure, lengths of fixed step length walks to peaks, the dwindling cone uphill as peaks are climbed, the number of peaks accessible from a given point, the similarity of such peaks, and whether high peaks cluster 5 near one another. In the latter case, recombination is a good means to search the landscape. This procedure defines one or more optimal customer features for a given good, or position in product space. The same procedure allows multiple points in product space to be utilized, indeed just o the points normally utilized, to find the best set of positions in product space to match the best targeted populations of customers in customer space. Again, the advantage of our procedure is that it allows the higher order terms, the context dependent features in customer space, to 5 be more readily detected, for it tells us that K order terms are important. Again, we can then construct statistical models of customer-scapes, and models of specific customer scapes.
The present invention further includes a framework for the marketing and introduction of novel products, which is a central function of businesses. FIG. 3 provides a flow diagram of the framework 300 for the marketing and introduction of novel products. The framework 300 concerns means to model customers and derive an optimal set of goods to produce alone or in the face of a coevolving competitive environment where other firms are introducing and modifying their own goods. In step 302, the framework for the marketing and introduction of novel products 300 assembles data on customers from statements of preferences on questionnaires, point of purchase data, neilson data, etc. In step 304, the framework for the marketing and introduction of novel products 300 creates a model of customer preferences. In step 306, the framework 300 uses the models of customer preferences created in step 304 to identify preferred goods and services. In step 308, the framework considers the behavior of other firms in the environment in addition to the models of customer preferences created in step 304 to identify preferred goods and services in a coevolving competitive environment.
FIG. 4 provides a flow diagram of the method for creating a model of customer preferences of step 304. In step 402, the method for creating a model of customer preferences 304 determines whether to perform market segmentation. If step 402 indicates that market segmentation should be performed, control proceeds to step 404 where the method for creating a model of customer preferences executes the adaptive dissimilarity partitioning method 100 shown by the flow diagram of FIG. 1. If step 402 indicates that market segmentation should not be performed, control proceeds to step 406. In step 406, the method for creating a model of customer preferences 304 constructs a family of linear or non-linear models of customers. These models are candidate maps from answers to questions, point of purchase data, etc. to the actual predictive preferences of the customers for the goods in question. Accordingly, an aim of the method for creating a model of customer preferences 304 is to order the goods in a match to actual preferences of customers.
In step 408, the method for creating a model of customer preferences 304 constructs agent based models of customers based on default hierarchies, rules of thumb, etc, in their strategy space. Default hierarchies, etc. do not require that preferences be transitive, which is often true of customers, In contrast, a preference space doe3 require transitivity. Agent based models of customers are described in A System and Method for the Syntheaia of an Economic Web and the Identification of New Market Niches, Attorney docket number 9392-0007-999, filed May 15, 1998, the contents of which are herein incorporated by reference. Agent based models of customers are further described in An Adaptive and Reliable System and Method for Operations Management, Attorney docket number 9392-0004-999, filed July 1, 1999, the 0 contents of which are herein incorporated by reference.
In step 410, the method for creating a model of customer preferences 304 utilizes adaptive algorithms over the space of mappings produced by step 406 and the space of agent strategies produced by step 408 to find a set of models that predicts customer purchasing preferences for a set of goods. In the preferred embodiment, the adaptive algorithms are genetic algorithms. In an alternate embodiment, the adaptive algorithms are genetic programming.
In step 412, the method for creating a model of o customer preferences 304 determines whether the output of step 410 has produced good predictive models of customer purchasing preferences. If step 412 determines that the output of step 410 has not produced good predictive models of customer purchasing preferences, control returns to step 406 5 where processing proceeds with the new set of models produced by the adaptive algorithm of step 410. If step 412 determines that the output of step 410 has produced good predictive models of customer purchasing preferences, control proceeds to step 414 where the processing terminates. As previously discussed, in step 306, the framework
300 uses the models of customer preferences created in step 304 to identify preferred goods and services. If the customers have preferences for may features of a product that add up to a single preference landscape, then step 306 executes the method for predicting consumer demand 200 illustrated by the flow diagram of FIG. 2. In contrast, if the customer preferences are not commensurable, then step 306 executes an optimization tool to find the global pareto optimal points such as Configuration Sherpa, which is described in A System and Method for Coordinating Economic Activi ties Wi thin and Between Economic Agents . In either case, one of ordinary skill in the art would understand that there are a variety of clustering and multi-dimensional scaling algorithms that can seek optimal choices of locations of goods in the product space to attract the most customers. Such algorithms may prespecify the number of goods, or seek optimal numbers and locations of goods based on a firm's budget constraints, and other aspects of firm operations in its competitive environment.
As previously explained, in step 308, the framework considers the behavior of other firms in the environment in addition to the models of customer preferences created in step 304 to identify preferred goods and services in a coevolving competitive environment. Firms compete by introducing or improving products. Hence, there is a revolutionary dynamic. Generically, there are two regimes: a "red queen" regime of persistent coevolution in the space of products and an evolutionary stable strategies regime where all products reach local or global Nash equilibria and stop moving in product space. See At Home in the Universe . If the firm completes the observe, orient, decide and act loop (OODA) faster than the other firms with respect to the introduction, innovation, improvement and wise placement of products, it can systematically win.
Step 308 of the framework for the marketing and introduction of novel products 300 uses models of customers and capacity to predict preferences over the space of products to build agent based or other dynamical models of the coevolution of market shares of products, utilizing data to locate optimal positions for new or improved products in coevσlutionary dynamics subject to constraints on budget, capacity, and time to market for new or improved goods, etc. Agent based modelB that identify new products are described in A System and Method for the Synthesis of an Economic Web and the Identification of New Market Niches ,
FIG. 5 discloses a representative computer system 510 in conjunction with which the embodiments of the present invention may be implemented. Computer system 510 may be a personal computer, workstation, or a larger system such as a minicomputer. However, one skilled in the art of computer systems will understand that the present invention is not 0 limited to a particular class or model of computer.
As shown in FIG. 5, epresentative computer system 510 includes a central processing unit (CPU) 512, a memory unit 514, one or more storage devices 516, an input device 518, an output device 520, and communication interface 2922. A system bus 524 is provided for communications between these elements. Computer system 510 may additionally function through use of an operating system such as Windows, DOS, or UNIX. However, one skilled in the art of computer systems will understand that the present invention is not limited to o a particular con iguration or operating system.
Storage devices 516 may illustratively include one or more floppy or hard disk drives, CD-ROMs, DVDs, or tapes. Input device 518 comprises a keyboard, mouse, microphone, or other similar device. Output device 520 is a computer 5 monitor or any other known computer output device. Communication interface 522 may be a modem, a network interface, or ether connection to external electronic devices, such as a serial or parallel port
While the above invention has been described with reference to certain preferred embodiments, the scope of the present invention is not limited to these embodiments. One skill in the art may find variations of these preferred embodiments which, nevertheless, fall within the spirit of the present invention, whose scope is defined by the claims set forth below.

Claims

Claims
1. A method for partitioning a space of data comprising the steps of: choosing a plurality of dissimilarity measures; partitioning the space for each of said plurality of dissimilarity measures; evaluating said partitioning for each of said plurality of dissimilarity measures,- and selecting one or more of said dissimilarity measures on the basis of said evaluation.
2. A method for partitioning a space as in claim l further comprising the steps of: performing at least one operation of said selected dissimilarity measures to generate a new plurality of dissimilarity measures; and repeating said partitioning the space step and said evaluating said partitioning step for each of said new plurality of dissimilarity measures; and selecting one or more of said new dissimilarity measures on the basis of said evaluation.
3. A method for partitioning a space as in claim
2 further comprising the step of iterating on said performing at least one operation of said selected dissimilarity measures step, said repeating said partitioning the space step and said selecting one or more of said new dissimilarity measures step to achieve an optimal partition.
4. A method for partitioning a space as in claim 2 wherein said at least one operation is a genetic operation.
5. A method for partitioning a space as in claim 4 wherein said genetic operation is selected from the group consisting of a mutation and a crossover.
6. A method for partitioning a space as in claim 1 wherein said choosing a plurality of dissimilarity measures step comprises the steps of: choosing a family of dissimilarity measures; and randomly generating said plurality of dissimilarity measures from said chosen family,
7. A method for partitioning a space as in claim 1 wherein said partitioning for each of said plurality of dissimilarity measures step is performed by at least one clustering algorithm.
8. A method for partitioning a space as in claim 7 wherein said at least one clustering algorithm is a k-ir.sans clustering algorithm.
9. A method for partitioning a space as in claim 6 wherein said dissimilarity measure is a dissimilarity function and said family of dissimilarity measures is a family of dissimilarity functions.
10. A method for partitioning a space as in claim 9 wherein said family of dissimilarity functions for said space having two dimensions i3:
dt
Figure imgf000032_0001
wherein χ. x.., χ uκ and
Figure imgf000032_0002
are said data in said space; f Γûá_ and fj are polynomial functions of their variables; and fx and f3 are characterized by a plurality of parameters,
11. A method for partitioning a space as in claim 10 wherein said polynomial functions are second degree polynomial functions.
12. A method for partitioning a space as in claim 10 wherein said plurality of parameters are coefficients of the polynomials.
5 13. A method for partitioning a space as in claim
12 wherein the variations of said plurality of parameters are restricted to [-10,10].
14. A method for partitioning a space as in claim 0 12 wherein said evaluating said partitioning for each of said plurality of dissimilarity measures step comprises the step of assigning a fitness to said each of said plurality of dissimilarity measures and said fitness is defined by:
15 v* + ΓÇ₧ wherein:
Min is the number of said data that are assigned to the same o partition that do not belong in the same partition; and
Mouc ' is the number of said data that are assigned to different partitions and do belong in the same partition.
15. A method for partitioning a space as in claim 5 6 wherein said family of dissimilarity measures are general function approximators .
16. A method for partitioning a space as in claim 6 wherein said general function approximators are neural 0 networks having connections weights.
17. A method for partitioning a space as in claim 1 wherein said evaluating said partitioning for each of said plurality of dissimilarity measures step is performed by a 5 human observer.
18. A method for partitioning a space as in claim 17 wherein said selecting one or more of said dissimilarity measures on the basis of said evaluation step is performed by a human observer based on said evaluation.
5
19. Computer executable software code stored on a computer readable medium, the code for partitioning a space of data, the code comprising: code to choosing a plurality of dissimilarity !0 measures; code to partition the space for each -of said plurality o£ dissimilarity measures; code to evaluate said partitioning for each of said plurality of dissimilarity measures; and 5 code to select one or more of said dissimilarity measures on the basis of said evaluation.
20. Computer executable software code stored on a computer readable medium, the code for partitioning a space 0 as in claim 19, the code further comprising; code to perform at least one operation of said selected dissimilarity measures to generate a new plurality of dissimilarity measures; code to repeat said partitioning the space step and 5 said evaluating said partitioning step for each of said new plurality of dissimilarity measures; and code to select one or more of said new dissimilarity measures on the basis of said evaluation.
0 21. A programmed computer system for partitioning a space comprising at least one memory having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory, wherein the program code includes: 5 code to choosing a plurality of dissimilarity measures;
52 - code to partition the space for each of said plurality of dissimilarity measures,- code to evaluate said partitioning for each of said plurality of dissimilarity measures; and code to select one or more of said dissimilarity measures on the basis of said evaluation.
22. A programmed computer system for partitioning a space comprising at least one memory having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory as in claim 21, wherein the program code further includes; code to perform at least one operation of said selected dissimilarity measures to generate a new plurality of dissimilarity measures; code to repeat said partitioning the space step and said evaluating said partitioning step for each of said new plurality of dissimilarity measures; and code to select one or more of said new dissimilarity measures on the basis of said evaluation.
23. A method for determining customer demand for products comprising the steps of: defining a space having R dimensions wherein each point in said space corresponds to a vector of properties; constructing a landscape for said space comprising the steps of: locating at least one point on said space where a predetermined customer would purchase a product having said corresponding vector of properties at a predetermined price; and sampling a set of points on an R-dimensional sphere surrounding said selected point at a predetermined step length from said selected point to determine a first subset of said set of points where the predetermined customer would make a purchase at said predetermined price and to determine a second subset of said sampled points where the customers would not make the purchase at said predetermined price, said first subset of points and said second subset of points form at least one indifference surface between a buying region and a non-buying region at said predetermined price .
24. A method for determining customer demand for products as in claim 23 wherein said constructing a landscape 0 for said space further comprises the steps of: selecting at least one point on said indifference surface; and repeating said sampling step from said selected point to extend said at least one indifference surface. 5
25. A method for determining customer demand for products as in claim 24 further comprising the step of iterating on said selecting at least one point on said indifference surface step and said repeating said sampling o step from said selected point step to further extend said indifference surface.
26. A method for determining customer demand for products as in claim 23 further comprising the steps of 5 determining characteristics of said indifference surface from said sampling step.
27. A method for determining customer demand for products as in claim 26 wherein said indifference surface 0 characteristics comprise a degree of ruggedness.
28. A method for determining customer demand for products as in claim 26 wherein said indifference surface characteristics comprise at least one correlation length.
29. A method for determining customer demand for products as in claim 26 further comprising the step of locating one or more points on said indifference surface having a small amount of said corresponding vector of properties to identify peaks on said indifference surface.
30. A method for determining customer demand for products as in claim 29 wherein said indifference surface characteristics further comprise at least one typical walk length to said identified peaks.
31. A method for determining customer demand for products as in claim 29 wherein said indifference surface characteristics further comprise at least one clustering measure of said identified peaks.
5 32. A method for determining customer demand for products as in claim 29 further comprising the steps of: defining a family of possible models to represent the customer demand; and selecting one or more models from said family o of possible models that are compatible with said indifference surface characteristics.
33. A method for determining customer demand for products as in claim 32 wherein said selected models have a 5 plurality of parameters.
34. A method for determining customer demand for products as in claim 33 further comprising the step of determining values of said plurality of parameters for said 0 selected models from said sampling step.
35. A method for determining customer demand for products as in claim 33 wherein said values of said plurality of selected parameters are determined using Bayesian analysis .
36. Computer executable software code stored on a computer readable medium, the code for determining customer demand for products, the code comprising: code to define a space having R dimensions wherein each point in said space corresponds to a vector of properties; code to construct a landscape for said space comprising: code to locate at least one point on said space where a predetermined customer would purchase a product having said corresponding vector of properties at a predetermined price; and code to sample a set of points on an R- dimensional sphere surrounding said selected point at a predetermined step length from said selected point to determine a first subset of said set of points where the predetermined customer would make a purchase at said predetermined price and to determine a second subset of said sampled points where the customers would not make the purchase at said predetermined price, said first subset of points and said second subset of points form at least one indifference surface between a buying region and a non-buying region at said predetermined price.
37. Computer executable software code stored on a computer readable medium, the code for determining customer demand for products as in claim 36, wherein said code to construct a landscape for said space further comprises: code to select at least one point on said indifference surface; and code to repeat said sampling step from said selected point to extend said at least one indifference surface.
38. Computer executable software code stored on a computer readable medium, the code for determining customer demand for products as in claim 37, the code further comprising: code to iterate on said selecting at least one point on said indifference surface step and said repeating _ said sampling step from said selected point step to further extend said indifference surface.
39. A programmed computer system for determining customer demand for products comprising at least one memory 0 having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory, wherein the program code includes ; code to define a space having R dimensions wherein 5 each point in said space corresponds to a vector of properties; code to construct a landscape for said space comprising: code to locate at least one point on said 0 space where a predetermined customer would purchase a product having said corresponding vector of properties at a predetermined price; and code to sample a set of points on an R- dimensional sphere surrounding said selected point at a 5 predetermined step length from said selected point to determine a first subset of said set of points where the predetermined customer would make a purchase at said predetermined price and to determine a second subset of said sampled points where the customers would not make the 0 purchase at said predetermined price, said first subset of points and said second subset of points form at least one indifference surface between a buying region and a non-buying region at said predetermined price.
5 40. A programmed computer system for determining customer demand for products comprising at least one memory having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory as in claim 39, wherein said code to construct a landscape for said space further comprises; code to select at least one point on said indifference surface; and code to repeat said sampling step from said selected point to extend said at least one indifference surface. 0
41. A programmed computer system for determining customer demand for products comprising at least one memory having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory as in claim 40, wherein said code further comprises; code to iterate on said selecting at least one point on said indifference surface step and said repeating said sampling step from said selected point step to further o extend said indifference surface.
42. A method for creating a model of consumer preferences from consumer data comprising the step3 of; constructing a plurality of candidate maps form the 5 consumer data to actual consumer preferences,- constructing a family of agent-based models; evaluating said plurality of candidate maps and said family of agen -based models with respect to said consumer data; selecting one or more of said plurality of candidate maps and said family of agent based models based on said evaluation; and performing at least one operation on said selected candidate map3 and said selected agent-based models to generate a new plurality of candidate maps and a new family of agent-based models.
43. A method for creating a model of consumer preferences from consumer data as in claim 42 further comprising the step of iterating on said evaluating said plurality of candidate maps step, said selecting one or more of said plurality of candidate maps and said family of agent based models step and said performing at least one operation on said selected candidate maps and said selected agent-based models step to achieve an optimal model of consumer preferences . 0
44. A method for creating a model of consumer preferences from consumer data as in claim 42 wherein said at least one operation is a genetic operation.
45. A method for creating a modal of consumer preferences from consumer data as in claim 44 wherein said genetic operation is selected from the group consisting of a mutation and a crossover.
o 46. Computer executable software code stored on a computer readable medium, the code for creating a model of consumer preferences from consumer data, the code comprising; code to construct a plurality cf candidate- maps form the consumer data to actual consumer preferences,- 5 code to construct a family of agent-based models; code to evaluate said plurality of candidate maps and said family of agent-based models with respect to said consumer data; code to select one or more of said plurality of candidate maps and said family of agent based models based on said evaluation; and code to perform at least one operation on said selected candidate maps and said selected agent-based models to generate a new plurality of candidate maps and a new family of agent -based models.
47. A programmed computer system for creating a model of consumer preferences from consumer data, comprising at least one memory having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory, wherein the program code includes ; code to construct a plurality of candidate maps from the consumer data to actual consumer preferences; code to construct a family of agent-based models; code to evaluate said plurality of candidate maps and said family of agent-based models with respect to said consumer data; code to select one or more of said plurality of candidate maps and said family of agent based models based on said evaluation; and code to perform at least one operation on said selected candidate maps and said selected agent -based models to generate a new plurality of candidate maps and a new family of agent-based models.
48. A method for marketing and introducing novel products from consumer data comprising the steps of: creating a model of customer preferences; and identifying novel products using the method for determining customer demand of claim 23.
49. A method for marketing and introducing novel products from consumer data wherein said creating a model of customer preferences step is performing using the method of claim 1.
50. Computer executable software code stored on a computer readable medium, the code for marketing and introducing novel products from consumer data, the code comprising: code to create a model of customer preferences; and code to identify novel products using the method for determining customer demand of claim 23.
51. Computer executable software code stored on a computer readable medium, the code for marketing and introducing novel products from consumer data as in claim 50, wherein said code to create a model of customer preferences is the code of claim 19.
PCT/US1999/015236 1998-07-06 1999-07-06 A method for performing market segmentation and for predicting consumer demand WO2000002138A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU48618/99A AU4861899A (en) 1998-07-06 1999-07-06 A method for performing market segmentation and for predicting consumer demand
CA002337798A CA2337798A1 (en) 1998-07-06 1999-07-06 A method for performing market segmentation and for predicting consumer demand
EP99932278A EP1093617A4 (en) 1998-07-06 1999-07-06 A method for performing market segmentation and for predicting consumer demand

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9175098P 1998-07-06 1998-07-06
US60/091,750 1998-07-06

Publications (1)

Publication Number Publication Date
WO2000002138A1 true WO2000002138A1 (en) 2000-01-13

Family

ID=22229492

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/015236 WO2000002138A1 (en) 1998-07-06 1999-07-06 A method for performing market segmentation and for predicting consumer demand

Country Status (4)

Country Link
EP (1) EP1093617A4 (en)
AU (1) AU4861899A (en)
CA (1) CA2337798A1 (en)
WO (1) WO2000002138A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430539B1 (en) 1999-05-06 2002-08-06 Hnc Software Predictive modeling of consumer financial behavior
US6952678B2 (en) 2000-09-01 2005-10-04 Askme Corporation Method, apparatus, and manufacture for facilitating a self-organizing workforce
US20060004621A1 (en) * 2004-06-30 2006-01-05 Malek Kamal M Real-time selection of survey candidates
US7016882B2 (en) 2000-11-10 2006-03-21 Affinnova, Inc. Method and apparatus for evolutionary design
WO2005116896A3 (en) * 2004-05-24 2007-03-15 Affinnova Inc Determining design preferences of a group
US7333960B2 (en) 2003-08-01 2008-02-19 Icosystem Corporation Methods and systems for applying genetic operators to determine system conditions
US7356518B2 (en) 2003-08-27 2008-04-08 Icosystem Corporation Methods and systems for multi-participant interactive evolutionary computing
US7444309B2 (en) 2001-10-31 2008-10-28 Icosystem Corporation Method and system for implementing evolutionary algorithms
EP2743854A1 (en) * 2011-08-09 2014-06-18 Tencent Technology (Shenzhen) Company Limited Clustering processing method and device for virus files
US8868446B2 (en) 2011-03-08 2014-10-21 Affinnova, Inc. System and method for concept development
US9208132B2 (en) 2011-03-08 2015-12-08 The Nielsen Company (Us), Llc System and method for concept development with content aware text editor
US9311383B1 (en) 2012-01-13 2016-04-12 The Nielsen Company (Us), Llc Optimal solution identification system and method
US9785995B2 (en) 2013-03-15 2017-10-10 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary algorithms with respondent directed breeding
US9799041B2 (en) 2013-03-15 2017-10-24 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary optimization of concepts
US9860268B2 (en) 2016-02-09 2018-01-02 International Business Machines Corporation Detecting and predicting cyber-attack phases in data processing environment regions
US9866580B2 (en) 2016-02-09 2018-01-09 International Business Machines Corporation Forecasting and classifying cyber-attacks using neural embeddings
US9900338B2 (en) 2016-02-09 2018-02-20 International Business Machines Corporation Forecasting and classifying cyber-attacks using neural embeddings based on pattern of life data
US9906551B2 (en) 2016-02-09 2018-02-27 International Business Machines Corporation Forecasting and classifying cyber-attacks using crossover neural embeddings
US9948666B2 (en) 2016-02-09 2018-04-17 International Business Machines Corporation Forecasting and classifying cyber-attacks using analytical data based neural embeddings
US10015189B2 (en) 2016-02-09 2018-07-03 International Business Machine Corporation Detecting and predicting cyber-attack phases in adjacent data processing environment regions
US10230751B2 (en) 2016-02-09 2019-03-12 International Business Machines Corporation Forecasting and classifying cyber attacks using neural embeddings migration
US10354263B2 (en) 2011-04-07 2019-07-16 The Nielsen Company (Us), Llc Methods and apparatus to model consumer choice sourcing
US10438111B2 (en) 2016-01-05 2019-10-08 Evolv Technology Solutions, Inc. Machine learning based webinterface generation and testing system
US10726196B2 (en) 2017-03-03 2020-07-28 Evolv Technology Solutions, Inc. Autonomous configuration of conversion code to control display and functionality of webpage portions
US10755291B1 (en) 2019-10-25 2020-08-25 Isolation Network, Inc. Artificial intelligence automation of marketing campaigns
US11403532B2 (en) 2017-03-02 2022-08-02 Cognizant Technology Solutions U.S. Corporation Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US11574201B2 (en) 2018-02-06 2023-02-07 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11657417B2 (en) 2015-04-02 2023-05-23 Nielsen Consumer Llc Methods and apparatus to identify affinity between segment attributes and product characteristics
US11755979B2 (en) 2018-08-17 2023-09-12 Evolv Technology Solutions, Inc. Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4529228A (en) * 1980-09-02 1985-07-16 Kramer Henry P Method and apparatus for coding pictorial information for efficient storage, transmission and reproduction
US5041972A (en) * 1988-04-15 1991-08-20 Frost W Alan Method of measuring and evaluating consumer response for the development of consumer products
US5461698A (en) * 1991-05-10 1995-10-24 Siemens Corporate Research, Inc. Method for modelling similarity function using neural network
US5724262A (en) * 1994-05-31 1998-03-03 Paradyne Corporation Method for measuring the usability of a system and for task analysis and re-engineering
US5796924A (en) * 1996-03-19 1998-08-18 Motorola, Inc. Method and system for selecting pattern recognition training vectors

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4529228A (en) * 1980-09-02 1985-07-16 Kramer Henry P Method and apparatus for coding pictorial information for efficient storage, transmission and reproduction
US5041972A (en) * 1988-04-15 1991-08-20 Frost W Alan Method of measuring and evaluating consumer response for the development of consumer products
US5461698A (en) * 1991-05-10 1995-10-24 Siemens Corporate Research, Inc. Method for modelling similarity function using neural network
US5724262A (en) * 1994-05-31 1998-03-03 Paradyne Corporation Method for measuring the usability of a system and for task analysis and re-engineering
US5808908A (en) * 1994-05-31 1998-09-15 Lucent Technologies, Inc. Method for measuring the usability of a system
US5796924A (en) * 1996-03-19 1998-08-18 Motorola, Inc. Method and system for selecting pattern recognition training vectors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1093617A4 *

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430539B1 (en) 1999-05-06 2002-08-06 Hnc Software Predictive modeling of consumer financial behavior
US7533038B2 (en) 1999-05-06 2009-05-12 Fair Isaac Corporation Predictive modeling of consumer financial behavior using supervised segmentation and nearest-neighbor matching
USRE42577E1 (en) 1999-05-06 2011-07-26 Kuhuro Investments Ag, L.L.C. Predictive modeling of consumer financial behavior using supervised segmentation and nearest-neighbor matching
US7165037B2 (en) 1999-05-06 2007-01-16 Fair Isaac Corporation Predictive modeling of consumer financial behavior using supervised segmentation and nearest-neighbor matching
USRE42663E1 (en) 1999-05-06 2011-08-30 Kuhuro Investments Ag, L.L.C. Predictive modeling of consumer financial behavior using supervised segmentation and nearest-neighbor matching
US6952678B2 (en) 2000-09-01 2005-10-04 Askme Corporation Method, apparatus, and manufacture for facilitating a self-organizing workforce
US7016882B2 (en) 2000-11-10 2006-03-21 Affinnova, Inc. Method and apparatus for evolutionary design
US7177851B2 (en) 2000-11-10 2007-02-13 Affinnova, Inc. Method and apparatus for dynamic, real-time market segmentation
USRE46178E1 (en) 2000-11-10 2016-10-11 The Nielsen Company (Us), Llc Method and apparatus for evolutionary design
US7610249B2 (en) 2000-11-10 2009-10-27 Affinova, Inc. Method and apparatus for evolutionary design
US7444309B2 (en) 2001-10-31 2008-10-28 Icosystem Corporation Method and system for implementing evolutionary algorithms
US7333960B2 (en) 2003-08-01 2008-02-19 Icosystem Corporation Methods and systems for applying genetic operators to determine system conditions
US7356518B2 (en) 2003-08-27 2008-04-08 Icosystem Corporation Methods and systems for multi-participant interactive evolutionary computing
WO2005116896A3 (en) * 2004-05-24 2007-03-15 Affinnova Inc Determining design preferences of a group
US7308418B2 (en) * 2004-05-24 2007-12-11 Affinova, Inc. Determining design preferences of a group
US20060004621A1 (en) * 2004-06-30 2006-01-05 Malek Kamal M Real-time selection of survey candidates
US9262776B2 (en) 2011-03-08 2016-02-16 The Nielsen Company (Us), Llc System and method for concept development
US8868446B2 (en) 2011-03-08 2014-10-21 Affinnova, Inc. System and method for concept development
US9111298B2 (en) 2011-03-08 2015-08-18 Affinova, Inc. System and method for concept development
US9208515B2 (en) 2011-03-08 2015-12-08 Affinnova, Inc. System and method for concept development
US9208132B2 (en) 2011-03-08 2015-12-08 The Nielsen Company (Us), Llc System and method for concept development with content aware text editor
US9218614B2 (en) 2011-03-08 2015-12-22 The Nielsen Company (Us), Llc System and method for concept development
US10354263B2 (en) 2011-04-07 2019-07-16 The Nielsen Company (Us), Llc Methods and apparatus to model consumer choice sourcing
US11842358B2 (en) 2011-04-07 2023-12-12 Nielsen Consumer Llc Methods and apparatus to model consumer choice sourcing
US11037179B2 (en) 2011-04-07 2021-06-15 Nielsen Consumer Llc Methods and apparatus to model consumer choice sourcing
EP2743854A4 (en) * 2011-08-09 2015-03-25 Tencent Tech Shenzhen Co Ltd Clustering processing method and device for virus files
EP2743854A1 (en) * 2011-08-09 2014-06-18 Tencent Technology (Shenzhen) Company Limited Clustering processing method and device for virus files
US9311383B1 (en) 2012-01-13 2016-04-12 The Nielsen Company (Us), Llc Optimal solution identification system and method
US10839445B2 (en) 2013-03-15 2020-11-17 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary algorithms with respondent directed breeding
US9785995B2 (en) 2013-03-15 2017-10-10 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary algorithms with respondent directed breeding
US11574354B2 (en) 2013-03-15 2023-02-07 Nielsen Consumer Llc Methods and apparatus for interactive evolutionary algorithms with respondent directed breeding
US11195223B2 (en) 2013-03-15 2021-12-07 Nielsen Consumer Llc Methods and apparatus for interactive evolutionary algorithms with respondent directed breeding
US9799041B2 (en) 2013-03-15 2017-10-24 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary optimization of concepts
US11657417B2 (en) 2015-04-02 2023-05-23 Nielsen Consumer Llc Methods and apparatus to identify affinity between segment attributes and product characteristics
US11386318B2 (en) 2016-01-05 2022-07-12 Evolv Technology Solutions, Inc. Machine learning based webinterface production and deployment system
US11062196B2 (en) 2016-01-05 2021-07-13 Evolv Technology Solutions, Inc. Webinterface generation and testing using artificial neural networks
US11803730B2 (en) 2016-01-05 2023-10-31 Evolv Technology Solutions, Inc. Webinterface presentation using artificial neural networks
US10438111B2 (en) 2016-01-05 2019-10-08 Evolv Technology Solutions, Inc. Machine learning based webinterface generation and testing system
US10783429B2 (en) 2016-01-05 2020-09-22 Evolv Technology Solutions, Inc. Webinterface production and deployment using artificial neural networks
US9866580B2 (en) 2016-02-09 2018-01-09 International Business Machines Corporation Forecasting and classifying cyber-attacks using neural embeddings
US10230751B2 (en) 2016-02-09 2019-03-12 International Business Machines Corporation Forecasting and classifying cyber attacks using neural embeddings migration
US9860268B2 (en) 2016-02-09 2018-01-02 International Business Machines Corporation Detecting and predicting cyber-attack phases in data processing environment regions
US10015189B2 (en) 2016-02-09 2018-07-03 International Business Machine Corporation Detecting and predicting cyber-attack phases in adjacent data processing environment regions
US9948666B2 (en) 2016-02-09 2018-04-17 International Business Machines Corporation Forecasting and classifying cyber-attacks using analytical data based neural embeddings
US9906551B2 (en) 2016-02-09 2018-02-27 International Business Machines Corporation Forecasting and classifying cyber-attacks using crossover neural embeddings
US9900338B2 (en) 2016-02-09 2018-02-20 International Business Machines Corporation Forecasting and classifying cyber-attacks using neural embeddings based on pattern of life data
US11403532B2 (en) 2017-03-02 2022-08-02 Cognizant Technology Solutions U.S. Corporation Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US10726196B2 (en) 2017-03-03 2020-07-28 Evolv Technology Solutions, Inc. Autonomous configuration of conversion code to control display and functionality of webpage portions
US11574201B2 (en) 2018-02-06 2023-02-07 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11755979B2 (en) 2018-08-17 2023-09-12 Evolv Technology Solutions, Inc. Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization
US10755291B1 (en) 2019-10-25 2020-08-25 Isolation Network, Inc. Artificial intelligence automation of marketing campaigns

Also Published As

Publication number Publication date
AU4861899A (en) 2000-01-24
CA2337798A1 (en) 2000-01-13
EP1093617A1 (en) 2001-04-25
EP1093617A4 (en) 2002-01-30

Similar Documents

Publication Publication Date Title
WO2000002138A1 (en) A method for performing market segmentation and for predicting consumer demand
Cohen et al. Feature-based dynamic pricing
Liu et al. A unified framework for market segmentation and its applications
US6636862B2 (en) Method and system for the dynamic analysis of data
Bechikh et al. Many-objective optimization using evolutionary algorithms: A survey
Holý et al. Clustering retail products based on customer behaviour
Olafsson et al. Operations research and data mining
Mersmann et al. A novel feature-based approach to characterize algorithm performance for the traveling salesperson problem
Hadden et al. Computer assisted customer churn management: State-of-the-art and future trends
Phelps et al. An interactive evolutionary metaheuristic for multiobjective combinatorial optimization
US7139739B2 (en) Method, system, and computer program product for representing object relationships in a multidimensional space
US8117138B2 (en) Method and apparatus for location evaluation and site selection
Bhattacharyya Evolutionary algorithms in data mining: Multi-objective performance modeling for direct marketing
US9727653B2 (en) System and method for identifying and ranking user preferences
Bhattacharyya Direct marketing performance modeling using genetic algorithms
Steenburgh et al. Massively categorical variables: Revealing the information in zip codes
Hu Nonadditive similarity-based single-layer perceptron for multi-criteria collaborative filtering
Kosyakova et al. Exact mcmc for choices from menus—measuring substitution and complementarity among menu items
Redondo et al. A robust and efficient algorithm for planar competitive location problems
Akçakuş et al. Exact logit-based product design
Zhang et al. Combination classification method for customer relationship management
Ben Ncir et al. Evolutionary multi-objective customer segmentation approach based on descriptive and predictive behaviour of customers: application to the banking sector
Bichler et al. A comparison of logistic regression, k-nearest neighbor, and decision tree induction for campaign management
Li et al. A hybrid multi-objective genetic algorithm for bi-objective time window assignment vehicle routing problem
Behret et al. A multi‐period newsvendor problem with pre‐season extension under fuzzy demand

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2337798

Country of ref document: CA

Ref country code: CA

Ref document number: 2337798

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1999932278

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999932278

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 1999932278

Country of ref document: EP