Patent ID: 7328201

Claim:
A method for automatically generating a relational Bayesian network to model and predict user web-behavior events in an e-commerce environment using synthetic variables, comprising the acts of: providing a language to represent and create a plurality of synthetic variables; providing an inference using the plurality of synthetic variables; providing a discovery of the plurality of synthetic variables; and wherein: each synthetic variable in the plurality of synthetic variables comprises an expression comprising a chain of one or more elements mapping input data to output data, wherein: each of the one or more elements is selected from the group consisting of fields, selectors, functions, variables, and constants; a first element in the chain of one or more elements is a root element that is a name of a database table in a schema; each element in the chain of elements following the first element accepts output data from a previous element and produces input data for a subsequent element; a value of the expression is an output of a last element in the chain: such input data to a field element in a synthetic variable includes a table on which the field is defined, such as user sessions or user mouse clicks; such input data to a selector element in a synthetic variable includes the values of fields in a database table or output of other elements of the synthetic variable; such input data to a function element of a synthetic variable includes the values of fields in a database table, output of other elements of the synthetic variable, or a subexpression of the synthetic variable; such output data of each field element in a synthetic variable includes data containing the reference or primitive values contained in an appropriate field on the incoming data; such output data of each selector element in a synthetic variable includes a subset of input data to the selector element for which an associated boolean expression evaluates to true; such output data of each function element in a synthetic variable is a value based on arguments to the function; and such input data, such output data, and such synthetic variables are stored in a computer-readable medium.