Product Knowledge comes in various forms - a product's features for its intended purpose, what goes with what - a product's associations, and how a product works. A sales representative would be expected to know the product's features and sufficient of how it is used to convince the customer of its worth. When a sales contact is made, there is usually already understanding on the buyer's side of what the product broadly does, the sales rep only needing to fill in the holes - anticipate the customer's requirements, suggest support products and services, show how product features relate to the buyer's use of the product. Online selling cuts out the human representative, so some other means must be found to deliver the product knowledge.
Products usually come in families or categories - attempting to hold information about many products in an undifferentiated mass is too wasteful, as a few products may have a particular association, while thousands of others do not. Within a product family, there will usually be ordering on some dimensions and commonality on many others. This is the motivation for using a Product Map, a multi-dimensional container which captures the properties of the family of products. Some dimensions are well ordered - length or capacity, others more loosely ordered, such as color or material or "quality". Quality might be a loose function relating size, material, thickness and price. The values for "Quality" may be predetermined, or evaluated when required. By allowing each dimension to have multiple orderings, and an active ordering to control whether other orderings are active, a great deal of product information can be compressed into an efficient memory structure. The Product Map has cells which relate to particular values on the dimensions. A particular cell may contain no products, one product or many products, accessible as a list, and the same product may appear in several different cells. Each product is a linkable object, so knowledge about the product is expressed by linking logic representing the appropriate analytic or experiential knowledge to the product object.
The ProductMap is an invertible operator - attributes give objects, and objects give attributes. The set of objects coming from the ProductMap is constrainable - that is, it is a set of alternatives which can be reduced by other logic (which in turn, would constrain the attributes that produced it).
A link from one cell to another handles finding a replacement for a product no longer held. The replacement may require several products, or a product may replace several products used together (and living in separate product maps).
The "near enough" for a product out of stock is handled by searching for products in the vicinity of the desired product. Multiple orderings, including structured orderings, on the dimensions allow many products to be "near", yet far away in the Product Map - a wooden window frame can be seen to be near a metal frame, either aluminum or steel, while an aluminum frame is nearer to steel than it is to wood. Orderings can be overridden by a "nearness" value, calculated from the dimensional values of the products.
Links among product maps allow the creation of assemblies of products - a ventilation duct and a grille, for example.
Choosing one item causes its attributes to be set (or constrained to a reduced range). Choosing another item from a linked productmap causes the attributes of the second item to be constrained to match the first item, and so on.
Only part of product knowledge resides in printed catalogs, and almost none except a few values in a product database. Often the database will have information about each product crammed into a string. Much more knowledge about the product can be stored and delivered in the form of an XML message, but there being a human at the other end to read the message is problematic.
Free form information about the product is often held in a description or string of keywords. This information can be "mined" to produce dimensions for the Product Map. Information that would not conflict dimensionally can be held as a string in one dimension, while information that would conflict can be teased out into separate dimensions - ride quality and rugged suspension, for example. A lexical analyzer primed with rules that relate to the particular product family can be used to automate most of the deconstruction of the free form information. The logic handling the segmentation of products into product families controls both the rules and the information the lexer sees, allowing a nominally context-free lexer using regular expressions to function in a context-aware manner.
If the supplier sells more than a single product range, associations with other products can be found from what customers buy. These can be stripped from transaction data and used to build links between products. For example, the customer buys some wooden wall studs. They are of a size for internal walls, so if the customer asks about cladding, we have used associative links to already identify plaster as probable, with timber sheeting as less probable. If the customer opts for plaster, we have already identified and can suggest a quantity of trumpet head woodscrews and suitable gap fillers.
Much product knowledge will not have been formalized before. The product objects, or classes of objects, can be linked to models of behavior, using textual or graphical or data mining means to build the logic of the models. The models can include analytic and experiential knowledge and automatically employ many forms of reasoning. Simulation or constraint models can be delivered electronically to sophisticated customers for fitting into models of their technical requirements.
The combination of linkable objects in a multi-dimensional container with multiple orderings allows dense and complex product knowledge about specific products and between products to be efficiently represented and deployed. The product knowledge is in a form that allows translation of much of it into an XML message which can be read and understood by a human or automated recipient. The form of the knowledge is also suitable for automatic optimisation.