WO2010135342A1 - System and method for targeting content based on filter activity - Google Patents

System and method for targeting content based on filter activity Download PDF

Info

Publication number
WO2010135342A1
WO2010135342A1 PCT/US2010/035283 US2010035283W WO2010135342A1 WO 2010135342 A1 WO2010135342 A1 WO 2010135342A1 US 2010035283 W US2010035283 W US 2010035283W WO 2010135342 A1 WO2010135342 A1 WO 2010135342A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
filter parameters
catalog
module
attributes
Prior art date
Application number
PCT/US2010/035283
Other languages
French (fr)
Inventor
Daniel F. Schmidt
Original Assignee
Cbs Interactive, Inc.
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
Priority claimed from US12/467,414 external-priority patent/US20100293234A1/en
Priority claimed from US12/467,384 external-priority patent/US9141671B2/en
Priority claimed from US12/467,394 external-priority patent/US20100293074A1/en
Priority claimed from US12/467,368 external-priority patent/US20100293494A1/en
Application filed by Cbs Interactive, Inc. filed Critical Cbs Interactive, Inc.
Publication of WO2010135342A1 publication Critical patent/WO2010135342A1/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

  • An embodiment of the present invention relates to a system and method for recommending content based on filter parameters that user specifies while navigating an online catalog of products. Another embodiment relates to a system and method for managing the options that are available to a user when selecting filter parameters to navigate an online catalog of items, technology, and products. Another embodiment relates to a system and method for providing information to the user of an online catalog about patterns in filter parameter selections based on the filter parameters that a group of previous users specified while navigating the catalog. Still another embodiment relates to a system and method for providing a community of users with a means of sharing user-constructed filters to navigate an online catalog of products.
  • Such electronic catalogs generally store, in a database, information about a number of products which may be anything from electronics to housewares to apparel, or any other type of item which may be depicted and/or described electronically.
  • Such items may be described by a taxonomy, which describes the set of products with a set of information that consists of a set of attributes that assume values. That is, each product might be associated with a price, brand, or other attribute.
  • Some attributes would only be stored for some classes of product. For example, weight might be a attribute with respect to laptops, but not desktop computers, while both might have a processor speed attribute.
  • filters are composed of individual filter parameters, which are rules which narrow the selection of products in a taxonomy according to some criterion. Such filters constrain the allowable values of the attributes, and thereby generate a more manageable subset of the products that the user may use, manipulate, and digest. Together, a set of filter parameters forms a filter parameter set, which represents a progressively narrowed selection of filter parameters.
  • a filter parameter set would be that if a user were searching for digital cameras, the user might want cameras from CanonTM, which are 6 megapixels or greater, and which are under $300 in price.
  • a filter parameter set further consists of the individual, discrete filter parameters, which limit the user's search in a progressive manner. Each filter parameter imposes a constraint on one or more product attributes at a time.
  • Filters allow the users to reduce the potentially huge numbers of products which otherwise occupy catalogs and reduce them to a manageable numbers. They also allow users to focus their searches to meet their individualized needs, as well as incorporating factors such as ability to pay or brand requirements due to purchasing contracts.
  • the present invention enables data about past filter parameter selection to be collected and used to draw inferences about approaches to marketing with respect to present filter data. This is accomplished with respect to the products in a catalog that are organized in a taxonomy. By monitoring filter parameter selections, patterns emerge in the distribution of filter parameter selections which when compared to the present filter data, allow embodiments to provide information about how information about a present user, as reflected in their filter parameter selections, should be the target of marketing efforts.
  • a computer system comprising: a database module that stores an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, a query module configured to receive the current filter parameters, query the catalog, and present information in the catalog corresponding to the filter parameters to said user interface module for display to users, a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and a user activity data analysis module, configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
  • An apparatus designed to perform computing functions which transform data monitoring results, wherein at least part of the apparatus's functionality is performed by hardware comprising: means for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, means for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, means for receiving with a query module configured to receive the current filter parameters, means for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, means for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and means for comparing with user activity data analysis module, that is configured to compare said user activity data with the current
  • Computer readable media having instructions stored thereon, wherein the instructions, when executed by a processor, perform computing functions which transform data monitoring results, comprising: instructions for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, instructions for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, instructions for receiving with a query module configured to receive the current filter parameters, instructions for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, instructions for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and instructions for comparing with user activity data analysis module, that is configured to compare said user activity data
  • FIG. 1 is a diagram illustrating the interactions between the components of a system embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a taxonomy in accordance with system in which the present invention may be implemented.
  • FIG. 3 is a screenshot of an catalog in accordance with the invention depicting a front-page for category selection.
  • FIG. 4 is a screenshot of an catalog in accordance with the invention depicting a page where the cell phone category has been selected.
  • FIG. 5 is a screenshot of an catalog in accordance with the invention depicting a page where AT&TTM cell phones have been selected.
  • FIG. 6 is a screenshot of an catalog in accordance with the invention depicting a
  • AT&TTM cell phones selling for between $50-$ 100 have been selected.
  • FIG. 7 is a screenshot of an catalog in accordance depicting a AT&TTM cell phones selling for between $50-$100 made by Sony EricssonTM have been selected.
  • FIG. 8 is a flowchart illustrating the method according to one embodiment of the invention.
  • FIG. 9 is a mock display of recorded filter parameter logs and conclusions reached by an embodiment.
  • FIG. 10 is a block diagram illustrating the components of another system embodiment of the present invention.
  • FIG. 11 is a mock display of recorded filter parameter logs and what actions an embodiment takes based on the logs.
  • FIG. 12A is a mock display of an embodiment of the invention displaying Digital
  • FIG. 12B is a mock display of an embodiment of the invention displaying Digital
  • FIG. 13 is a diagram illustrating the interactions between the components of another system embodiment of the present invention.
  • FIG. 14 is a mock display of recorded filter parameter logs and conclusions reached by an embodiment.
  • FIG. 15 is a sample set of line graphs produced by an embodiment.
  • FIG. 16 is a diagram illustrating the interactions between the components of another system embodiment of the present invention.
  • FIG. 17 is a display of information stored in the Community User Constructed Filter
  • FIG. 18 is a mock display of a mechanism for entering a new user constructed filter according to an embodiment.
  • Embodiments are described herein that involve catalog data to which is stored and organized in an efficient manner through the use of a taxonomy.
  • the taxonomy categorizes the products by using attributes, where products are associated with one or more values of the attributes. Such attributes describe and organize the products in the catalog for retrieval.
  • the configuration of the content targeting system 100 is characterized in FIG. 1.
  • the catalog is ideally stored in a database module 102.
  • the database may preferably employ a relational model, though it may alternatively employ a flat model, hierarchical model, network model, dimensional model, object model, object-relational model or any combination of the above or other database formats.
  • the database may use a querying language such as SQL to retrieve data internally.
  • the catalog may be stored in another file or collection of files such as a word processing document, or spreadsheet.
  • the catalog information may be stored on a single machine or on multiple machines over a network.
  • the catalog is accessible over the Web though a web browser or over another network, but embodiments exist where the catalog is accessible directly from a dedicated program where the catalog is stored locally.
  • the contents of the catalog may be stored upon any tangible medium, such as, but not limited to: magnetic media, optical media, magneto-optical media, solid-state memory, and/or flash memory.
  • the catalog may be stored locally or distributed over a network.
  • the database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices such as a keyboard and mouse providing a Web page, or other GUI interface, but may also involve alternative forms of interaction such as a command line, audio input/output or printed output, or assorted I/O peripherals such as a joystick, gamepad, trackpad, trackball, or other forms of I/O such as those used by persons with disabilities, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters.
  • This information flows to and from the user interface module 106 to the analysis module 108, where the computation performed by the device with respect to the information in the catalog.
  • the analysis module 108 presents the results of its computation to the users 110 via the user interface module 106.
  • the taxonomy allows the products to be divided into categories, each of which has subcategories with their own particular set of subcategories. This categorization exists based on the structure of the attributes that are each associated with a given category of product.
  • the products could be computers, which are divided into subcategories of laptops and desktops.
  • the laptops can be further subdivided into subcategories, which might include "netbook”, "thin-and-light”, “mainstream”, and "desktop replacement”. Attributes in these subcategories can be weight, price (which might be divided by ranges), and type of processor.
  • the desktops might also be have the attributes of price and type of processor, but might have other attributes associated with them, like “form factor” and “number of drive bays". Moreover, certain attributes might have multi-leveled answers. For example, a processor might be have a processor brand of IntelTM, which would then lead to an attribute to differentiate that it was a "Core 2TM", then “Core 2 DuoTM” as opposed to "Core 2 QuadTM”.
  • FIG. 2 An example taxonomy is presented in FIG. 2, for Desktop PCs.
  • the category of PCs 200 branches into the subcategories of Desktop PCs 203 and Laptop PCs 205.
  • Desktop PCs 203 contain 3 examples of Desktop PCs, Dell Optiplex 960DTM (202) Acer Veriton M261- UC4300PTM (204), and the Gateway FX8040TM (206). Each of these has a value for attributes such as price 210, manufacturer 212, processor 214, RAM size 216, and hard drive size 218.
  • the implementation of such a taxonomy will differ by the database model or alternative schema used to store the database in the database module 102.
  • such a taxonomy can be stored in one embodiment by associating the products with unique product IDs, then creating tables that associate the IDs with attributes, then creating tables that associate the IDs within the attributes with various values within the taxonomy, in a manner well known in the art to associate pieces of data with information that describes them through relational tables.
  • many alternative embodiments are possible and this merely represents a preferred method of storing the catalog if the RDBMS approach is chosen.
  • the catalog need not represent a set of tangible products represented by nodes within the taxonomy.
  • the catalog may also operate on a digital level, and contain items of digital content.
  • These items may contain digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies, TV episodes, digital documents, animations, software, web content, multimedia, any form of encoded or archived data, and/or any other type of file or group of files which may be use to store useful computer data.
  • These files may be stored locally or remotely from the web site or other interface shell which is used to allow the user to access the catalog.
  • a catalog which is an embodiment of the invention which incorporates one or more of these data types will operate as described below, except that attributes of the one or more data types will reflect characteristics of the type of data involved when using filters instead of characteristics of merchandise.
  • a catalog which contains video might have attributes such as "length” (which might be various ranges of minutes), "type” (which might be “black-and-white” or “color”, or alternatively might include different levels of color quality), or might involve more qualitative attributes such as "genre” (i.e. action, comedy, drama, science- fiction, western) or "rating” (i.e., some sort of scale such as a star system or a points system).
  • “genre” i.e. action, comedy, drama, science- fiction, western
  • “rating” i.e., some sort of scale such as a star system or a points system.
  • some catalogs will have items in the taxonomy which may reflect pieces of merchandise which are linked to "virtual merchandise", that is pieces of digital media... for example, pieces of digital music might be linked to real-world CD albums on which the songs are located. This may allow the embodiments to make intelligent ad recommendations.
  • the embodiment may suggest advertising to the user find inexpensive digital media from that artist that the user would be likely to purchase.
  • filters consist of combinations of filter parameters which limit the values.
  • These filter parameters include a set of parameters requiring one or more of: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given category value is less than or equal to a specific value; a given attribute falls within a specific interval; a given category value falls outside of a specific interval, or other variables.
  • the order in which filter parameters are selected may be significant, because, for example, if the user selects cameras such that they are 10 MP or greater as his or her first constraint, this may lead to available lens types that would not have been available had, for example, the user selected a camera that is $50 or less. Also, some heuristics used by certain embodiments may give weight to the first filters and assume that they are more important to the user.
  • FIG. 3-7 Screenshots illustrating an example of a catalog interface which would contain an assortment of technology products and then progressively use filter parameters to narrow the selection of products which are under consideration and which are displayed in FIG. 3-7. Furthermore, the embodiments record and monitor one or more users' choice of filters over time, providing a pool of data which can then been used as a basis, in combination with a new filter selection, for recommendations of content.
  • FIG. 3 shows a home page of a shopping website, CNET.COMTM, which offers access to a catalog of technology products, each of which has multiple attributes associated with it, each of which has a corresponding value.
  • CNET.COMTM a shopping website
  • some of the categories of technology which are in the catalog include "Appliances”, “Cell Phones”, “GPS”, “Laptops”, and many others.
  • the catalog then allows the user to navigate from among the many cell phones in the catalog by progressively choosing filter parameters which narrow the selection of cell phones under consideration.
  • the user might choose that his or her preference was to see cell phones whose service provider was AT&TTM. This would restrict consideration by the catalog to the 241 cell phones whose associated service provider is AT&TTM.
  • FIG. 5 shows the first two phones in an extended list of phones whose service provider is AT&TTM.
  • the set of criteria displays further narrowing filter parameters for selection by the user, such as price, manufacturer, wireless interface, and others. It is to be noted, of course, that this filtration is progressive, i.e. additive.
  • the catalog is designed to reflect, as in FIG. 6, after the appropriate filter parameter selection, only those $50-$100 phones that are also designed to have AT&TTM as a service provider. Proceeding onwards, the user may select the additional filter given these two constraints that the manufacturer of the phone is Sony Ericsson MobileTM communications, as in FIG. 7. Thus, by adding these progressive filters, the search set narrows from hundreds of potential cell phones to 241 AT&TTM cell phones to 27 AT&TTM/$50- $100 cell phones to 7 AT&TTM/$50-$100/Sony Ericsson MobileTM cell phones.
  • a system accepts filter input while users search the catalog, it is possible to monitor the set of filter parameters that users of a catalog system enter over a period of time.
  • This data can be used to draw inferences about the behavior of the overall group of users who have contributed to a set of filter parameters.
  • this data may be used for other applications, such as by using text or graphics to summarize or depict the data, so that users may draw their own conclusions about what the data represents.
  • the data from monitoring the set of filter parameters may allow the system to adopt a more intelligent approach to the filter interface with the users, in that it may allow the catalog interface to be able to be more or less selective about which filters or how many filters should become displayed to the user for their potential selection at any given time.
  • a monitoring log 901 may consist of a flat file of entries indicating filters selected by users. Each filter is a sequence of selected filter parameters.
  • the filter parameter selections in monitoring log 901 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas.
  • the user is presumed to express a preference about what he or she is interested in.
  • a set of potentially useful data is generated.
  • the user' s actions may be captured, for example, if the catalog is accessed via a web page, where the web page consists of an HTML or XHTML document, by incorporating a facility which maintains a set of variables which change based on the user clicking on various filters.
  • An alternative embodiment further acquires additional information about the selections made of the various filters with the catalog system with respect to the hierarchy, storing, instead of a mere tally of selections, a tally of selections along with level information. For example, if the product were MP3 players, the embodiment would be capable of storing how many users selected SonyTM MP3 players as their first choice of filter parameter, as opposed to second, third, etc. Alternatively, this tallying can be done on the fly to analyze the filter selections from a monitoring log 901.
  • the embodiments make their content recommendations by comparing the information stored in the monitoring log 901 with the filter selections of a new user. By making these comparisons, an unmet need exists for an invention that will identify favorable marketing opportunities based on the relationship between past, monitored filter settings and the prospective potential interests of a new set of filter settings.
  • the analysis module 106 may employ any relevant heuristic or rule which takes the raw data from the monitoring log 901 and, based on the new input 902, yields a rational conclusion as to which content the embodiment should recommend.
  • the following are examples which illustrate how embodiments might take various types of data and make recommendations.
  • a user activity data analysis module 108 generates content recommendations based upon patterns in the data. These patterns may be both general patterns, as well as patterns that depend upon the specific nature of the attributes involved. They may be recognized by algorithms, heuristics, mathematical analysis, statistical analysis, and/or user inspection of the data. In one embodiment, they may involve analysis of data that only incorporates the number of selections of a given filter. In another embodiment, the analysis may incorporate level information, as described above. In yet another embodiment, the user may restrict the time interval over which system input is to be considered for purposed of the analysis.
  • the user may also restrict the population of users whose actions are considered for the analysis, by factors such as, but not limited to, geographic location, IP address, demographics such as age, gender, groupings (such as MacintoshTM users, gamers, business professionals, IT professionals, etc.).
  • an embodiment may include a facility to gather such information from the user to aid in the later analysis of the user's filter selections.
  • a facility to gather information about the user may be integrated into the web page as a form, or it may take the form of a pop-up box.
  • the embodiment may automatically gather information about the user by associating his or her IP address with information gained by associating that IP address with information in a database.
  • the embodiments may include a method 800 involving steps to be performing on a computing system, consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, which is portrayed in FIG.
  • the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes 801, accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user 802, receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with the query module information in the catalog corresponding to the filter parameters to said user interface module for display to users 803, and monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and comparing with a user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations 804.
  • FIG. 9 provides two specific examples of how content recommendations are based off of specific datasets in the analysis module (106). Given the data set in 90 IA, and the input that the user is about to view SonyTM laptops in 902A, the embodiment would conclude 903A that Sony should target its ads towards the upper price range, its primary competitor is Apple, and it needs to emphasize its laptops in that price range that have Blu-RayTM drives and 2GB or more RAM. It would base this conclusion on a combination of algorithms and heuristics implemented as software encoded on a computer-readable medium designed to be executed by a processor and/or hardware modules running as part of the analysis module 106.
  • the analysis module would process the dataset and conclude 903B CreativeTM may want to market its inexpensive flash drive MP3 Players, or market hard-drive MP3 players with smaller sized hard drives than those of ArchosTM at a better price point. Also, flash-based MP3 players with FM Radio capabilities fulfill an unmet need, so CreativeTM could target players of this type. Finally, to compete against AppleTM' sTM players, CreativeTM' s players may need to be touch-screen.
  • the heuristics mathematically and statistically analyze the pool of filter parameter selections, looking for situations such as correlations, contrasts, and frequent and infrequent occurrences of types of data, or any other type of relationship which leads to a rational content recommendation.
  • Some further examples of how content recommendations are generated are herein provided with respect to an electronic catalog of consumer electronics products. For example, suppose, hypothetically, that the system has tracked searches by users for cell phones. An analysis of which attribute was selected first may show that 53% of the users select Service provider as their first attribute, and only 6% select Price. Moreover, this analysis may be done at multiple levels. For example, a check could be done to see that in the course of a user's overall search for cell phones, 85% select Service provider at some point (i.e. first selection or any subsequent selection), whereas only 27% select Manufacturer at all during their search.
  • An embodiment may be preconfigured for either of these options, or may be configured by the user, either to recommend that a company (who may be related to a product with a attribute such as manufacturer, service provider, or the like) that it sell products of the type where users have shown the most interest, or the least interest.
  • Another approach to the data would be to examine category data, and look for categories where no single company or where small groups of companies monopolize the interest of users. For example, the data might indicate that printers would be a good category to target, but MP3 players might be harder to break into if a company like AppleTM has a "lock" on the market due to intense user interest.
  • An embodiment may also provide for the simple case where a company simply has low market penetration for a specific class of products, but the class in general is faring well. If HPTM observes that their desktop machines are selected by users below a preset or user-set threshold of the time, an embodiment may recommend that HPTM target ads to promote these machines because they may want to increase market share. Alternatively, if the selection occurs below a certain threshold of the time, the embodiment may recommend that the user not target ads for these products, because they are in a weak position in the market.
  • Another factor which allows the embodiments to aid in targeting is price. If users search for a specific price range frequently, an embodiment recommends targeting ads for products by a given company that correspond to that price range. Likewise, if a given price range is not selected frequently, the embodiment would not recommend targeting products within the infrequently selected price range.
  • the catalog structure of products represents an efficient and effective way to store and manipulate a group of products.
  • the products are a set of generalized products, a category of products such as consumer electronics or apparel, or a niche set of products such as antique coins, using a taxonomy and filters as described above allows efficient display and navigation of the products.
  • the lists may be sorted according to various attributes, or alternatively according to other metrics to allow easy access to the most relevant items.
  • the lists may be sorted according to factors related to the review and product characteristics including, but not limited to: Review date, Editor's Rating, and User's Rating and Lowest Price.
  • the monitored filter data further leads to the ability to target content, which is desirable for several reasons, as set forth above. First, it allows advertisers to pick and choose more carefully how they will spend their money advertising on the catalog website and elsewhere. Moreover, this is an unexpected result because filter selection data has not heretofore been monitored to draw conclusions about what content would represent a good investment based on patterns in said filter data.
  • Another advantage of the embodiments is that they allow the advertisers to target smaller niches. MotorolaTM may discover that BluetoothTM enabled phones are an area where it is most competitive, for example. Also, as previously discussed, ads can be targeted to change brand loyalty. If a specific brand has a large market share, ads can be placed to target that market.
  • the ads based on the recommendations may be displayed in the same window, or in a separate window, such as via a pop-up ad. If they are displayed in the same window of a list of products which obey a set of filter parameters, for example, they may be placed above or below the list, or to the left or right of the list, or somewhere in the middle of the list, possibly dividing the list into two parts in a strategic manner.
  • Alternative embodiments may provide multiple recommendations at the same time. For example, suppose that there is data, based on filter selection, that there is a lot of interest in AppleTM MP3 players, costing $200-$300. (Suppose that AppleTM receives 87% of the clicks in this category.
  • An embodiment could observe that MicrosoftTM might have a product that competes directly in this price range with similar features, and CreativeTM has products that have slightly fewer features, but might cost less. The embodiment could suggest to both MicrosoftTM and CreativeTM that they should target ads for their products when the user makes the filter selection of AppleTM MP3 players costing $200-$300.
  • An example dataset should clarify the operation of the embodiments.
  • the category being analyzed is desktops. Further suppose that there have been 20 sets of filter parameters who selected AppleTM, then $1000-$ 1200, 20 sets of filter parameters where the user selected SonyTM, then all-in-one desktop system, and 50 sets of filter parameters where the user selected HPTM, 20 of which where the user further selected $1400-$1600, and 30 of which where the user selected all-in-one desktop system.
  • the user has selected HPTM as their initial filter parameter.
  • An embodiment would be able to make the following recommendations, among others.
  • these embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to determine how the relationship between these trends and the user's present interests indicate ways of effectively marketing to the user.
  • these embodiments represent a powerful and sophisticated e-commerce tool which brings unexpected advantages to the field of marketing by monitoring the filter data.
  • FIG. 10 illustrates a configuration of a filter parameter choice management system 1000 according to another embodiment.
  • filter options are presented to a user based on ongoing monitoring of filter selections to navigate an online catalog of items, technology, and products.
  • the catalog is ideally stored in a database module 102.
  • the database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices providing a Web page, or other GUI interface, in order to interact with the users 1100 and inform them about the operation of the system and obtain their desired filter parameters.
  • This information flows to and from the user interface module 106 to the monitoring module 1080, which records selections of filter parameters by users in the course of retrieving products from the catalog.
  • the information retrieved and recorded by the monitoring module may relate to information about products, or the purchasing of products.
  • the monitoring module 1080 is in communication with the filter refinement module 1120, which analyzes and manages the data from the monitoring data and controls which and how many options the user interface module 106 and query module 104 display when presenting the catalog and filter parameters to the user.
  • the monitoring module 1080 receives more and more information from the query module 104' s input in conjunction with the user interface module 106, and can transmit it to the filter refinement module 1120 for progressively better handling of the interface presented by the user interface module 106.
  • the invention may also be carried out with embodiments such as an apparatus which provides means for carrying out the steps provided for by the method embodiment or by using computer readable medium with executable instructions stored thereon, the instructions performing the method of the invention when executed by a suitable computing apparatus.
  • FIG. 11 presents a log of the results of the monitoring module 1080 which has been transformed by the filter refinement module 1120.
  • Monitoring log data 9011 is counted to become a monitoring log summary 9021.
  • Users 110 can then select "echelons" which are predefined and represent levels which the users 110 can select between which control which options are displayed for selection.
  • the echelon configuration may also be intelligently selected by the embodiments based on information about the user which the embodiments have available to them, such as information which the user have provided by responding to surveys, by personal information about the user such as age, gender, profession, interests, or other information, or by feedback which other users have provided about which echelon settings are most effective and helpful.
  • This data can then be used to set up echelons in at least 3 ways, though many more are of course possible and the scope of the embodiments should not be limited to the samples presented here. It is also to be noted that any number of echelons is possible; in the case of one echelon, there is only one echelon and the system always applies one set of conditions to control values of an attribute or category in question. However, there may be as many echelons as there are values of the attribute or category in question. Echelons essentially represents ways of interpreting the monitoring log summary 9081 to affect which and how many filter parameter options the query module 104 presents to the user.
  • Echelons IA 9021 and 2A 9031 illustrate how only Canon USATM, SonyTM, and NikonTM are displayed given the criterion, "Show Brands Covering 80% of Filter Parameter Selections", but OlympusTM and PanasonicTM are added under the criterion, “Show Brands Covering 95% of Filter Parameter Selections”. Under the criterion “Show Brands Covering X% of Filter Parameter Selections”, the most frequently selected brand is included first, then the second most frequently selected brand, until X% is reached.
  • Echelons IB 9041 and 2B 9051 illustrate how only Canon USATM, SonyTM, and NikonTM are displayed given the criterion, "Only Show Brands with 10% or more of Filter Parameter Selections", but OlympusTM and PanasonicTM are added under the criterion, "Only Show Brands with 5% or more of Filter Parameter Selections”. Under the criterion "Only Show Brands with X% or more of Filter Parameter Selections", all brands that meet the minimum threshold are included, however many that involves.
  • Echelons 1C 9061 and 2C 9071 illustrate how only Canon USATM, SonyTM, and NikonTM are displayed given the criterion, "Show 3 Brands with the Most Clicks", but OlympusTM and PanasonicTM are added under the criterion, "Show 5 Brands with the Most Clicks”. The operation of these echelon criteria is self-explanatory.
  • each attribute or category may ideally have its own system of echelons, or all attributes and categories may share a system of echelon settings.
  • all attributes could have a three-tiered setting of echelons for only show values of an attributes with 20% or more of filter parameter selections, only show values of an attributes with 10% or more of filter parameter selections, and only show values of an attributes with 5% or more of filter parameter selections, or categories and brands could have that system, and price might have a setup with show 2 price levels, show 3 price levels, show 5 price levels, and show 6 price levels.
  • the user interface module may be configured to give an option to display the hidden choices, or leave them concealed. There may also be constraints placed on the timing of filter parameter entry, such that only new filter parameters are considered or only old filter parameters are considered (with new and old being predefined or user-selectable or user-definable concepts, such as by allowing the user to select a range of time to consider in making the determinations about which choices to offer).
  • the filter refinement module 1120 may possess an option that they may allow the user to override the automatic regulation of which attributes or categories are displayed by the filter refinement module 1120.
  • This may take the form of either a facility which allows the user to change the criteria which define the echelons, or it may take the form of allowing the user 110 to manually specify which options will be visible to him or her when browsing the catalog.
  • There may also be a "reset" button which may cause the user interface module 106 to display all or a preselected set of values of one or more attributes or categories if it has been restricted too much by the operation of an echelon's criteria.
  • filter data is amassed to provide valuable insights through analysis and visualizations.
  • grouped data sets are available that can be turned into visualizations such as line graphs, bar graphs, histograms, and other visual representations that represent how the number of selections of various filter parameter selections changes over time.
  • visual representations of other aspects of the parameters such as pie charts which represent proportions of filter parameter selections can provide valuable information to the user.
  • Embodiments which present valuable available information to the user by presenting information about filter selection trends meet many unmet needs and offer many unexpected advantages. Such embodiments serve the need of understanding trends in buying preferences as well as interest in products in electronic catalogs. First, no known products or services mine filter parameter selection data in the manner provided for by these embodiments and offer such useful information about the catalog. Second, by incorporating information known about the users, as well as the order in which they make their selections into an analysis of filter selections, higher-level inferences are possible which can potentially add richer levels of meaning which can be depicted visually. Third, the visual approach adopted in some of these embodiments complements the Web-based or GUI interface which is preferably used to access the catalog.
  • the embodiments facilitate careful control and inspection of given time periods to determine how trends in filter parameter selection change over time and focus on specific time intervals.
  • the embodiments allow users to isolate specific values associates with filter attributes under consideration so as to obtain more detailed information about how filter activity has changed over time.
  • the embodiments presents the user with a variety of tools which help mine value from monitoring the stream of filter selections which occurs as a natural part of operating an electronic catalog based on a taxonomy.
  • the information provided by the filter selections can provide useful and unique insights into user's priorities and interests in using the catalog. At a superficial level, of course, it indicates what users are searching for. However, that information can be used for marketing, to improve the design of the system, to provide suggestions to the users, to improve various aspects or to improve parts of the system interface.
  • the filter parameter information system 1003 as shown in FIG. 13 comprises database module 102, query module 104, user interface module 106, user 110, monitoring module 1083 and user activity data output module 1123.
  • the database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices providing a Web Page, or other GUI interface, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters.
  • this information flows to and from the user interface module 106 to the monitoring module 1083 and user activity data output module 1123, where the computation performed by the device with respect to the information in the catalog.
  • the user activity data output module 1123 then presents the results of its computation to the users 110 via the user interface module 106.
  • filter parameter information system 1003 accepts filter input while users search the catalog, it is possible to monitor the set of filter parameters that users of a catalog system enter over a period of time.
  • This data can be used to draw inferences about the behavior of the overall group of users who have contributed to a set of filter parameters.
  • this data may be used for other applications, such as by using text or graphics to summarize or depict the data, so that users may draw their own conclusions about what the data represents.
  • the data from monitoring the set of filter parameters may allow the system to adopt a more intelligent approach to the filter interface with the users, in that it may allow the catalog interface to be able to be more or less selective about which filters or how many filters should become displayed to the user for their potential selection at any given time.
  • a mixed monitoring log 9013 may consist of a flat file of entries indicating filters selected by users.
  • the mixed monitoring log consists of a variety of filters, entered by users. Each filter is a sequence of selected filter parameters by individual users on one search.
  • the mixed monitoring log 9013 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas.
  • the mixed monitoring log 9013 stores the complete filters. In the embodiments, at each stage of this narrowing process, the user is presumed to express a preference about what he or she is interested in.
  • a set of potentially useful data is generated.
  • the user's actions may be captured, for example, if the catalog is accessed via a web page, where the web page consists of an HTML or XHTML document, by incorporating a facility which maintains a set of variables which change based on the user clicking on various filters.
  • the monitoring module 1083 processes the information in a mixed monitoring log 9013 to yield filtered input 9023 A and 9023B, breaking the overall mixed monitoring log into groups based on time intervals, such as hours that the system is in operation.
  • the individual filter entries are manipulated so that only the entries for the individual categories are present. That is, in the case of 9023A, an individual entry 9043, Laptops :DellTM, Turion 64TM, 4 GB RAM (904), becomes simply Laptops: DellTM.
  • An alternative embodiment further acquires additional information about the selections made of the various filters with the catalog system with respect to the hierarchy, storing, instead of a mere tally of selections, a tally of selections along with level information. For example, if the product were MP3 players, the embodiment would be capable of storing how many users selected SonyTM MP3 players as their first choice of filter parameter, as opposed to second, third, etc.
  • the information is processed by the user activity data output module 1123, it may graph or otherwise the data based on this information. Tallying can be also done on the fly to analyze the filter selections from a monitoring log 9013. It is to be noted that an actual mixed monitoring log will probably include different filters from multiple categories; FIG. 14 has been simplified for clarity's sake.
  • This aggregation of filter data is an ongoing process, with the embodiments creating a stream of data which is stored in the mixed monitoring log 9013, either continuously or at discrete, batched intervals.
  • the data aggregates into the mixed monitoring log it will also generate sets of filtered input, such as 9023 A and 9023B. These sets of filtered input may be generated such that they are generated for every attribute within the category being analyzed, or they may be generated for a select subset of the categories, or even only one.
  • the filtered input sets, 9023A and 9023B Once the filtered input sets, 9023A and 9023B, have been generated, they can be tallied to generate tallies of filter selections over time intervals.
  • filter selections may be tracked by individual user selections, in that they are derived from progressive construction of the filter by the addition of filter parameters to the complete filters, and then added to the tallies of the filter parameters in the time intervals.
  • the filter parameters may also be tracked by session, such that totals of the filter selections are generated which compound the totals of how many filter parameters corresponding with each value of each attribute over the course of one login session by a given user.
  • the embodiments can begin to manipulate and process them so as to provide feedback to the user using the user activity data output module 1123.
  • the monitoring module 1083 either transmits the data or allows access by the user activity data output module 1123 so that it can provide representations of the data, as well as patterns in the data.
  • These patterns may be both general patterns, as well as patterns that depend upon the specific nature of the attributes involved. They may be recognized by algorithms, heuristics, mathematical analysis, statistical analysis, and/or user inspection of the data.
  • the goal of this manipulation of the data is to generate information by transforming the filter data to yield data that may consist of summary data, such as text, or alternative graphical depictions of the filter data analysis. This may be performed by the user interface module either on a video monitor, or alternatively it may be provided to the user on a printout.
  • FIG. 10 illustrates a sample of graphical depictions of the filter data.
  • line graphs are used to illustrate the data, which consists of set of data points which is illustrative of tallies of filter parameters.
  • any other form of graphical depiction which provides a representation of the data may be used to provide the user 110 with insight into the data. More specifically a line graph, a bar graph, or a pie chart may be used.
  • the graphical depiction may illustrate information about the data how the frequency of certain values of the attributes changes over time, or what the total frequencies are over specific time intervals.
  • the user 110's ability to manipulate and control the representations which the embodiments present may be facilitated by various features of the embodiments.
  • the user interface module 106 which presents the graphical depiction may include controls which change the time range depicted.
  • the graphical depiction may be presented to the user in a pop-up window and/or in a subpart of a window in which a list of products which results from determining the subset of products in the catalog which correspond with said filter parameters are displayed for the user.
  • this embodiment concurrently displays both the list of products which naturally results from the user' s selection of filter parameters through the user's use of the catalog, along with the graphical depiction referred to above which reflects some aspect of overall filter parameter use.
  • the embodiments may also allow flexible control over the graphical display, such that the user activity data output module possesses control which allow the user to selectively exclude and include one or more user-determined values of said categories and/or attributes from the graphical depiction. This can be done by simply processing through the data, using a Boolean test to filter out the extraneous data, and then graphing the remaining data.
  • the graphical depiction may include hyperlinks to filter parameters with categories or attribute values depicted in the graphical depiction which can be used to search the catalog.
  • a search page could be generated which reflects a selection of one of the brands, as if it were an ordinary filter parameter selection in the ordinary course of operating the catalog.
  • the attributes used to categorize the products or items in the catalog may be of any type that is appropriate for a given set of products. However, if the products are pieces of technology, the attributes may include one or more of brands, prices, and technologies. [0098] Of course, one of the most valuable capabilities and features of the embodiments is its ability to analyze the filter parameter information.
  • One way in which this can be done is to have the filter parameter selections relevant to a given attribute received over a given time interval be decomposed to yield a set of proportions for each value of the attribute, determined over the set of possible values, received over said time interval.
  • This capability essentially describes the analysis which occurs when the embodiments construct a pie chart of activity, in that, for example, the category might be televisions, and the embodiment would take the information about which brands of television had been selected for use as filter parameters, and for example might find that there were, over a 3-month period, 12% SonyTM, 35% PanasonicTM, 13% SharpTM, and 40% SamsungTM brand selections associated with televisions.
  • An additional way in which the embodiments may obtain useful information from these proportions is to allow the user to request and receive mathematical and/or statistical analyses of information about said proportions. That is, the user may obtain information through any technique which uses any algorithm, formula, heuristic, or other technique that takes the raw data and draws the information in the data together to summarize the data or draw conclusions from it. For example, as noted previously, the proportions may be graphed versus time to show how different specific attribute values have different frequencies. Some basic mathematical techniques that the embodiments may employ may be derivatives to establish rates of change for the data (coupled with curve fitting techniques), integrals to establish overall total popularity over a period of time (coupled with approximation techniques), as well as identification of maximums, minimums, and averages.
  • the embodiments may also restrict the group the data of users whose actions are considered for the analysis, by factors such as, but not limited to, geographic location, IP address, demographics such as age, gender, groupings (such as MacintoshTM users, gamers, business professionals, IT professionals, etc.).
  • the embodiments thus may be designed to gather user profile data through a user profile data gathering module, wherein the user profile data gathering module gathers personal information about users, as just outlined, and stores data including a link between said personal information with said user activity data and the user activity data output reflects the personal information of at least one user store in the user profile data gathering module.
  • an embodiment may include a facility to gather such information from the user to aid in the later analysis of the user's filter selections.
  • Such a facility to gather information about the user may be integrated into the web page as a form, or it may take the form of a pop-up box.
  • the embodiment may automatically gather information about the user by associating his or her IP address with information gained by associating that IP address with information in a database.
  • This data may be further used by the embodiments such that the embodiments may be designed to recommend that a user buy a product from a given category when user profile data and/or user activity data fall within predefined or user-configurable parameters, depending on how a particular embodiment is designed.
  • the embodiments may make a similar recommendation, but it may be that the user not buy products from a given category.
  • the filter parameters are tracked on the basis of individual user selections. That is, each time a filter parameter is selected, regardless of whether how many filter parameters are involved in the whole filter being built, it counts towards tallies of the various values of the attributes.
  • An alternative approach which may be used is that only filter parameters up to a certain depth are to be counted. For example, only the first three levels of filter parameters could be counted, and the others could be deemed to be so unimportant to the user's search that they should not be counted.
  • the embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to allow the user into analyses of that information as well as various approaches to mining the information and relating it to other real- world factors.
  • the combination of access to this information with the types of visualizations and manipulations outlined here provide a powerful and sophisticated e-commerce tool which brings unexpected advantages to the operation of a catalog by providing visual feedback about an unusual source of data and providing the opportunity to manipulate it to obtain insight into an aspect of user behavior that has not been exploited in this way before, with the particular advantage that it offers specific ongoing information about a facet of user preferences that the user could not otherwise access.
  • the embodiments represent a solution where the filters are stored for communal use, so that individual users can create filters for the benefit of other users.
  • the benefit of the filters is enhanced greatly, because other users can have collaborative access to the filters.
  • Some embodiments additionally offer messaging capabilities, where an e-mail, TXT message, or instant message (IM) is used to inform the user about the existence of a user constructed filter.
  • IM instant message
  • the user constructed filter management system 1004 as shown in FIG. 16 comprises database module 102, computer processor 1044, user interface module 106, users 110, community user constructed filter repository privilege control module 1204, and community user constructed filter repository module 1084.
  • the database receives requests to access the contents of the catalog under the control of the computer processor 1044, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices providing a Web Page or other GUI interface, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters.
  • This information flows to and from the user interface module 106 to the community user constructed filter repository module 1084, where the access to the user constructed filters is managed.
  • the community user constructed filter repository module 108 then presents the results of its computation to the users 110 via the user interface module 106.
  • the community user constructed filter repository module 1084 should have several capabilities. It should be capable of forming the union, intersection, and set difference of two filters. Additionally, it should be capable of storing and managing at least one title for each user constructed filter in the community user constructed filter repository module 1084 at the time of creation of the user constructed filter, or alternatively titles may be added to user constructed filters subsequently.
  • the community user constructed filter repository module 1084 should also be capable of ranking the filters in the repository, and displaying them according to popularity, or with the most recently constructed user constructed filter first. It should also have the additional management features for the user constructed filters that the community user constructed filter repository module 1084 is configured to allow a user to do one or more of: sending an e-mail, sending a TXT message, or sending an IM message with information about how to access a user created filter to another user of the system.
  • the community user constructed filter repository module 1084 is configured to automatically do one or more of: sending an e-mail, sending a TXT message, or sending an IM message to alert a user 110 when the subset of products in the catalog that the user created filter corresponds with changes.
  • the embodiments present a way for users to generate and store their own filters for their own subsequent use and for use by members of the community of users that shares use of the embodiments with them.
  • a record of user constructed filters 1200 may consist of a flat file of entries which indicate filters selected by users. Each filter is a sequence of selected filter parameters.
  • the filter parameter selections in the user constructed filters 1200 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas. Examples are Cheap Travel Notebooks 1202, which encompasses the filter parameters of Laptops, which are less than $500, netbooks, 12-10 in. and 3 lbs.
  • embodiments may exist which store the results of applying a filter to the catalog so as to determine what the results of using the user constructed filters was like in the past. By maintaining a record in this embodiment, the user is able to track which products have been recently produced by the user constructed filter.
  • the user constructed filters are constructed by the user in one embodiment in a very simple way, thought of course many interfaces are possible by which the user may select filters, including keyboard input, check boxes, drop down controls, radio button controls, and drag-and- drop selection. Essentially, the user may select filter parameters in a manner analogous to that used in FIG. 3-7, where filter parameters are progressively selected, and except as in FIG. 18, a button 1300 which allows the user to Store Filter 1300. The filter information is then stored as above in the community user constructed filter repository module 1084 for later use by other users. The user interface module 106 subsequently moderates the interaction between the users 110 and the community user constructed filter repository module 1084.
  • the user interface module will allow users 110 to navigate said electronic catalog of products to select products which correspond with the filter parameters in a given user constructed filter. Such navigation may take place via a GUI (Graphical User Interface), which may take the form of a web browser or other graphical Internet navigation tool.
  • GUI Graphic User Interface
  • these embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to determine how the relationship between these trends and the user's present interests indicate ways of effectively marketing to the user.
  • these embodiments represent a powerful and sophisticated e-commerce tool which brings unexpected advantages to the field of marketing by monitoring the filter data.
  • the content targeting system 100, the filter parameter choice management system 1000, the filter parameter information system 1003, and the user constructed filter management system 1004 are illustrated and discussed herein as having various modules which perform particular functions and interact with one another. It should be understood that these modules are merely segregated based on their function for the sake of description. In this regard, these modules, units and other components may be hardware and/or software stored on a computer-readable medium for execution on appropriate computing hardware such as a processor may be thus implemented to substantially perform their particular functions explained herein. The various functions of the different modules and units can be combined or segregated as hardware and/or software stored on a computer-readable medium as above as modules in any manner, and can be used separately or in combination.

Abstract

Various embodiments are presented which comprise an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, wherein various users input filter parameters and these are monitored, whereupon a new set of filter parameters are accepted and compared to the past set of filter parameters to generate content recommendations.

Description

SYSTEM AND METHOD FOR TARGETING CONTENT BASED ON FILTER
ACTIVITY
Cross-Reference To Related Applications
[0001] This application claims the benefit of U.S. Patent Application No. 12/467,368, filed
May 18, 2009; U.S. Patent Application No. 12/467,384, filed May 18, 2009; U.S. Patent
Application No. 12/467,394, filed May 18, 2009; and U.S. Patent Application No. 12/467,414, filed May 18, 2009, the disclosures of which are hereby incorporated by reference in their entireties.
Field of the Invention
[0002] An embodiment of the present invention relates to a system and method for recommending content based on filter parameters that user specifies while navigating an online catalog of products. Another embodiment relates to a system and method for managing the options that are available to a user when selecting filter parameters to navigate an online catalog of items, technology, and products. Another embodiment relates to a system and method for providing information to the user of an online catalog about patterns in filter parameter selections based on the filter parameters that a group of previous users specified while navigating the catalog. Still another embodiment relates to a system and method for providing a community of users with a means of sharing user-constructed filters to navigate an online catalog of products.
Description of the Related Art
[0003] Many websites are configured as online catalogs. These catalogs act as alternatives to traditional paper catalogs and offer enhanced navigational features when compared to their paper counterparts, as well as the advantages of broad, easy distribution. With the advent and increasing popularity of the Internet, suppliers have access to a much larger customer base. Through the Internet, the market base of manufacturers and resellers may be maximized while the associated overhead may potentially be drastically reduced. If an electronic catalog is well- organized and presented, it can help consumers to make good purchasing decisions by providing extensive information about the products they contain in an easy-to-navigate manner. Such a catalog either allows the consumers to gain information about products they will purchase elsewhere or to make purchases within the site itself. Additionally, such a catalog serves as a site where companies may purchase advertising to market their products.
[0004] Such electronic catalogs generally store, in a database, information about a number of products which may be anything from electronics to housewares to apparel, or any other type of item which may be depicted and/or described electronically. Such items may be described by a taxonomy, which describes the set of products with a set of information that consists of a set of attributes that assume values. That is, each product might be associated with a price, brand, or other attribute. Some attributes would only be stored for some classes of product. For example, weight might be a attribute with respect to laptops, but not desktop computers, while both might have a processor speed attribute.
[0005] Once a retailer or other content provider has provided a taxonomy for its products, it remains for the users of the catalog system to retrieve the products using the taxonomy system. One way to do this is by performing searches using filters. These filters are composed of individual filter parameters, which are rules which narrow the selection of products in a taxonomy according to some criterion. Such filters constrain the allowable values of the attributes, and thereby generate a more manageable subset of the products that the user may use, manipulate, and digest. Together, a set of filter parameters forms a filter parameter set, which represents a progressively narrowed selection of filter parameters. An example filter parameter set would be that if a user were searching for digital cameras, the user might want cameras from Canon™, which are 6 megapixels or greater, and which are under $300 in price. A filter parameter set further consists of the individual, discrete filter parameters, which limit the user's search in a progressive manner. Each filter parameter imposes a constraint on one or more product attributes at a time.
[0006] Filters allow the users to reduce the potentially huge numbers of products which otherwise occupy catalogs and reduce them to a manageable numbers. They also allow users to focus their searches to meet their individualized needs, as well as incorporating factors such as ability to pay or brand requirements due to purchasing contracts. SUMMARY OF THE INVENTION
[0007] Applicant has discovered that one can identify favorable marketing opportunities through analysis of filter parameter selection. By using information which is incidental to the browsing operation of the catalog, valuable conclusions about how advertisers associated with the catalog may market their products can be ascertained in conjunction with the normal operation of the catalog. Alternatively, recommendations about how to market products can be used in external settings.
[0008] The present invention enables data about past filter parameter selection to be collected and used to draw inferences about approaches to marketing with respect to present filter data. This is accomplished with respect to the products in a catalog that are organized in a taxonomy. By monitoring filter parameter selections, patterns emerge in the distribution of filter parameter selections which when compared to the present filter data, allow embodiments to provide information about how information about a present user, as reflected in their filter parameter selections, should be the target of marketing efforts.
[0009] According to one embodiment of the invention, there is provided: A computer system, comprising: a database module that stores an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, a query module configured to receive the current filter parameters, query the catalog, and present information in the catalog corresponding to the filter parameters to said user interface module for display to users, a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and a user activity data analysis module, configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
[0010] According to one embodiment of the invention, there is provided: A method involving steps to be performing on a computing system consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, comprising: storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations. [0011] According to one embodiment of the invention, there is provided: An apparatus designed to perform computing functions which transform data monitoring results, wherein at least part of the apparatus's functionality is performed by hardware, comprising: means for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, means for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, means for receiving with a query module configured to receive the current filter parameters, means for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, means for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and means for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
[0012] According to one embodiment of the invention, there is provided: Computer readable media, having instructions stored thereon, wherein the instructions, when executed by a processor, perform computing functions which transform data monitoring results, comprising: instructions for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, instructions for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, instructions for receiving with a query module configured to receive the current filter parameters, instructions for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, instructions for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and instructions for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations .
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is a diagram illustrating the interactions between the components of a system embodiment of the present invention.
[0014] FIG. 2 is a diagram illustrating a taxonomy in accordance with system in which the present invention may be implemented.
[0015] FIG. 3 is a screenshot of an catalog in accordance with the invention depicting a front-page for category selection.
[0016] FIG. 4 is a screenshot of an catalog in accordance with the invention depicting a page where the cell phone category has been selected.
[0017] FIG. 5 is a screenshot of an catalog in accordance with the invention depicting a page where AT&T™ cell phones have been selected.
[0018] FIG. 6 is a screenshot of an catalog in accordance with the invention depicting a
AT&T™ cell phones selling for between $50-$ 100 have been selected.
[0019] FIG. 7 is a screenshot of an catalog in accordance depicting a AT&T™ cell phones selling for between $50-$100 made by Sony Ericsson™ have been selected. [0020] FIG. 8 is a flowchart illustrating the method according to one embodiment of the invention.
[0021] FIG. 9 is a mock display of recorded filter parameter logs and conclusions reached by an embodiment.
[0022] FIG. 10 is a block diagram illustrating the components of another system embodiment of the present invention.
[0023] FIG. 11 is a mock display of recorded filter parameter logs and what actions an embodiment takes based on the logs.
[0024] FIG. 12A is a mock display of an embodiment of the invention displaying Digital
Camera Brand options when Echelon 1 is selected, in conjunction with the data from FIG. 11.
[0025] FIG. 12B is a mock display of an embodiment of the invention displaying Digital
Camera Brand options when Echelon 2 is selected, in conjunction with the data from FIG. 11.
[0026] FIG. 13 is a diagram illustrating the interactions between the components of another system embodiment of the present invention.
[0027] FIG. 14 is a mock display of recorded filter parameter logs and conclusions reached by an embodiment.
[0028] FIG. 15 is a sample set of line graphs produced by an embodiment.
[0029] FIG. 16 is a diagram illustrating the interactions between the components of another system embodiment of the present invention.
[0030] FIG. 17 is a display of information stored in the Community User Constructed Filter
Repository Module according to an embodiment.
[0031] FIG. 18 is a mock display of a mechanism for entering a new user constructed filter according to an embodiment.
DETAILED DESCRIPTION OF THE INVENTION
[0032] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order not to unnecessarily obscure the present invention.
[0033] Embodiments are described herein that involve catalog data to which is stored and organized in an efficient manner through the use of a taxonomy. The taxonomy categorizes the products by using attributes, where products are associated with one or more values of the attributes. Such attributes describe and organize the products in the catalog for retrieval. [0034] The configuration of the content targeting system 100 is characterized in FIG. 1. The catalog is ideally stored in a database module 102. The database may preferably employ a relational model, though it may alternatively employ a flat model, hierarchical model, network model, dimensional model, object model, object-relational model or any combination of the above or other database formats. The database may use a querying language such as SQL to retrieve data internally. Alternatively, the catalog may be stored in another file or collection of files such as a word processing document, or spreadsheet. The catalog information may be stored on a single machine or on multiple machines over a network. Ideally the catalog is accessible over the Web though a web browser or over another network, but embodiments exist where the catalog is accessible directly from a dedicated program where the catalog is stored locally. The contents of the catalog may be stored upon any tangible medium, such as, but not limited to: magnetic media, optical media, magneto-optical media, solid-state memory, and/or flash memory. The catalog may be stored locally or distributed over a network. [0035] The database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices such as a keyboard and mouse providing a Web page, or other GUI interface, but may also involve alternative forms of interaction such as a command line, audio input/output or printed output, or assorted I/O peripherals such as a joystick, gamepad, trackpad, trackball, or other forms of I/O such as those used by persons with disabilities, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters. This information flows to and from the user interface module 106 to the analysis module 108, where the computation performed by the device with respect to the information in the catalog. The analysis module 108 then presents the results of its computation to the users 110 via the user interface module 106. [0036] Within the catalog, the taxonomy allows the products to be divided into categories, each of which has subcategories with their own particular set of subcategories. This categorization exists based on the structure of the attributes that are each associated with a given category of product. As an example, in one embodiment, the products could be computers, which are divided into subcategories of laptops and desktops. The laptops can be further subdivided into subcategories, which might include "netbook", "thin-and-light", "mainstream", and "desktop replacement". Attributes in these subcategories can be weight, price (which might be divided by ranges), and type of processor. On the other hand the desktops might also be have the attributes of price and type of processor, but might have other attributes associated with them, like "form factor" and "number of drive bays". Moreover, certain attributes might have multi-leveled answers. For example, a processor might be have a processor brand of Intel™, which would then lead to an attribute to differentiate that it was a "Core 2™", then "Core 2 Duo™" as opposed to "Core 2 Quad™".
[0037] An example taxonomy is presented in FIG. 2, for Desktop PCs. The category of PCs 200 branches into the subcategories of Desktop PCs 203 and Laptop PCs 205. Desktop PCs 203 contain 3 examples of Desktop PCs, Dell Optiplex 960D™ (202) Acer Veriton M261- UC4300P™ (204), and the Gateway FX8040™ (206). Each of these has a value for attributes such as price 210, manufacturer 212, processor 214, RAM size 216, and hard drive size 218. Clearly, the implementation of such a taxonomy will differ by the database model or alternative schema used to store the database in the database module 102. However, given a relational model, such a taxonomy can be stored in one embodiment by associating the products with unique product IDs, then creating tables that associate the IDs with attributes, then creating tables that associate the IDs within the attributes with various values within the taxonomy, in a manner well known in the art to associate pieces of data with information that describes them through relational tables. However, many alternative embodiments are possible and this merely represents a preferred method of storing the catalog if the RDBMS approach is chosen. [0038] It is to be noted that the catalog need not represent a set of tangible products represented by nodes within the taxonomy. The catalog may also operate on a digital level, and contain items of digital content. These items may contain digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies, TV episodes, digital documents, animations, software, web content, multimedia, any form of encoded or archived data, and/or any other type of file or group of files which may be use to store useful computer data. These files may be stored locally or remotely from the web site or other interface shell which is used to allow the user to access the catalog. [0039] Ideally, a catalog which is an embodiment of the invention which incorporates one or more of these data types will operate as described below, except that attributes of the one or more data types will reflect characteristics of the type of data involved when using filters instead of characteristics of merchandise. For example, a catalog which contains video might have attributes such as "length" (which might be various ranges of minutes), "type" (which might be "black-and-white" or "color", or alternatively might include different levels of color quality), or might involve more qualitative attributes such as "genre" (i.e. action, comedy, drama, science- fiction, western) or "rating" (i.e., some sort of scale such as a star system or a points system). Note that some catalogs will have items in the taxonomy which may reflect pieces of merchandise which are linked to "virtual merchandise", that is pieces of digital media... for example, pieces of digital music might be linked to real-world CD albums on which the songs are located. This may allow the embodiments to make intelligent ad recommendations. For example, if the filter selections (as described below) frequently involve songs from a specific artist, as well as albums that are inexpensive, if the user selects an album or a song from that artist, the embodiment may suggest advertising to the user find inexpensive digital media from that artist that the user would be likely to purchase.
[0040] Building upon the catalog, the embodiments allow the products to be accessed through the use of filters. These filters consist of combinations of filter parameters which limit the values. These filter parameters include a set of parameters requiring one or more of: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given category value is less than or equal to a specific value; a given attribute falls within a specific interval; a given category value falls outside of a specific interval, or other variables.
[0041] The order in which filter parameters are selected may be significant, because, for example, if the user selects cameras such that they are 10 MP or greater as his or her first constraint, this may lead to available lens types that would not have been available had, for example, the user selected a camera that is $50 or less. Also, some heuristics used by certain embodiments may give weight to the first filters and assume that they are more important to the user.
[0042] Screenshots illustrating an example of a catalog interface which would contain an assortment of technology products and then progressively use filter parameters to narrow the selection of products which are under consideration and which are displayed in FIG. 3-7. Furthermore, the embodiments record and monitor one or more users' choice of filters over time, providing a pool of data which can then been used as a basis, in combination with a new filter selection, for recommendations of content.
[0043] The information shown by the screenshots in FIG. 3-7 is now explained in more detail, as an example of how the user selects filter parameters. FIG. 3 shows a home page of a shopping website, CNET.COM™, which offers access to a catalog of technology products, each of which has multiple attributes associated with it, each of which has a corresponding value. As can be seen in FIG. 3, some of the categories of technology which are in the catalog include "Appliances", "Cell Phones", "GPS", "Laptops", and many others. When a user clicks on one of these hyperlinks, he or she is brought, for example, to a page as shown in FIG. 4, which would result if the user had chosen the "Cell Phones" category from the homepage in FIG. 3. The catalog then allows the user to navigate from among the many cell phones in the catalog by progressively choosing filter parameters which narrow the selection of cell phones under consideration. Continuing our example, the user might choose that his or her preference was to see cell phones whose service provider was AT&T™. This would restrict consideration by the catalog to the 241 cell phones whose associated service provider is AT&T™. This leads to the resulting display of FIG. 5, which shows the first two phones in an extended list of phones whose service provider is AT&T™. At this point, the set of criteria displays further narrowing filter parameters for selection by the user, such as price, manufacturer, wireless interface, and others. It is to be noted, of course, that this filtration is progressive, i.e. additive. That is, once it has been selected that the service provider is AT&T™, the catalog is designed to reflect, as in FIG. 6, after the appropriate filter parameter selection, only those $50-$100 phones that are also designed to have AT&T™ as a service provider. Proceeding onwards, the user may select the additional filter given these two constraints that the manufacturer of the phone is Sony Ericsson Mobile™ communications, as in FIG. 7. Thus, by adding these progressive filters, the search set narrows from hundreds of potential cell phones to 241 AT&T™ cell phones to 27 AT&T™/$50- $100 cell phones to 7 AT&T™/$50-$100/Sony Ericsson Mobile™ cell phones. [0044] As a system accepts filter input while users search the catalog, it is possible to monitor the set of filter parameters that users of a catalog system enter over a period of time. This data can be used to draw inferences about the behavior of the overall group of users who have contributed to a set of filter parameters. Alternatively, this data may be used for other applications, such as by using text or graphics to summarize or depict the data, so that users may draw their own conclusions about what the data represents. Furthermore, the data from monitoring the set of filter parameters may allow the system to adopt a more intelligent approach to the filter interface with the users, in that it may allow the catalog interface to be able to be more or less selective about which filters or how many filters should become displayed to the user for their potential selection at any given time.
[0045] Some examples of this record of the filter selections are portrayed as being stored in one embodiment in FIG. 9 in the analysis module 106. A monitoring log 901 may consist of a flat file of entries indicating filters selected by users. Each filter is a sequence of selected filter parameters. The filter parameter selections in monitoring log 901 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas. In the embodiments, at each stage of this narrowing process, the user is presumed to express a preference about what he or she is interested in. By adding a facility to the website which tracks the user's clicks by which he or she progressively selects the filter parameters, and thereby narrows the set of available products to produce a smaller set of products with characteristics that the user is looking for, a set of potentially useful data is generated. The user' s actions may be captured, for example, if the catalog is accessed via a web page, where the web page consists of an HTML or XHTML document, by incorporating a facility which maintains a set of variables which change based on the user clicking on various filters. Technologies such as JavaScript scripts, Perl scripts, Java applets, JSP, ASP, as well as any other technology known in the art that allows the web page to register a click in a variable may be used by the various embodiments to maintain a tally of filter parameter selections within the taxonomy for further analysis and/or manipulation. In the preferred embodiment, they are stored as noted above in a monitoring log 901 as monitoring log entries 904, but any record of filter parameter selection which allows the analysis module to make inferences based on the filter parameters will be sufficient. The analysis module processes the information in a monitoring log 901 in combination with a new input 902 to yield a conclusion 903. The processing techniques used are discussed in more detail below, for example scenarios 901A and 902A yielding 903A, as well as 901B and 902B yielding 903B. [0046] An alternative embodiment further acquires additional information about the selections made of the various filters with the catalog system with respect to the hierarchy, storing, instead of a mere tally of selections, a tally of selections along with level information. For example, if the product were MP3 players, the embodiment would be capable of storing how many users selected Sony™ MP3 players as their first choice of filter parameter, as opposed to second, third, etc. Alternatively, this tallying can be done on the fly to analyze the filter selections from a monitoring log 901.
[0047] The embodiments make their content recommendations by comparing the information stored in the monitoring log 901 with the filter selections of a new user. By making these comparisons, an unmet need exists for an invention that will identify favorable marketing opportunities based on the relationship between past, monitored filter settings and the prospective potential interests of a new set of filter settings. In general, the analysis module 106 may employ any relevant heuristic or rule which takes the raw data from the monitoring log 901 and, based on the new input 902, yields a rational conclusion as to which content the embodiment should recommend. The following are examples which illustrate how embodiments might take various types of data and make recommendations.
[0048] Once the filter parameters have been acquired by the user interface module 106, a user activity data analysis module 108 generates content recommendations based upon patterns in the data. These patterns may be both general patterns, as well as patterns that depend upon the specific nature of the attributes involved. They may be recognized by algorithms, heuristics, mathematical analysis, statistical analysis, and/or user inspection of the data. In one embodiment, they may involve analysis of data that only incorporates the number of selections of a given filter. In another embodiment, the analysis may incorporate level information, as described above. In yet another embodiment, the user may restrict the time interval over which system input is to be considered for purposed of the analysis. The user may also restrict the population of users whose actions are considered for the analysis, by factors such as, but not limited to, geographic location, IP address, demographics such as age, gender, groupings (such as Macintosh™ users, gamers, business professionals, IT professionals, etc.). Optionally, an embodiment may include a facility to gather such information from the user to aid in the later analysis of the user's filter selections. Such a facility to gather information about the user may be integrated into the web page as a form, or it may take the form of a pop-up box. Alternatively, the embodiment may automatically gather information about the user by associating his or her IP address with information gained by associating that IP address with information in a database.
[0049] Thus, overall, the embodiments may include a method 800 involving steps to be performing on a computing system, consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, which is portrayed in FIG. 8, comprising: storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes 801, accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user 802, receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with the query module information in the catalog corresponding to the filter parameters to said user interface module for display to users 803, and monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and comparing with a user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations 804.
[0050] FIG. 9 provides two specific examples of how content recommendations are based off of specific datasets in the analysis module (106). Given the data set in 90 IA, and the input that the user is about to view Sony™ laptops in 902A, the embodiment would conclude 903A that Sony should target its ads towards the upper price range, its primary competitor is Apple, and it needs to emphasize its laptops in that price range that have Blu-Ray™ drives and 2GB or more RAM. It would base this conclusion on a combination of algorithms and heuristics implemented as software encoded on a computer-readable medium designed to be executed by a processor and/or hardware modules running as part of the analysis module 106. These heuristics would include rules which would identify that Blu-Ray™ drives and 2 GB or more RAM appear to be frequently correlated with the purchase of expensive laptops, there does not appear to be much interest in inexpensive laptops by Sony™, and hence Sony™ should target content which advertises its expensive laptops with these high-end features.
[0051] Given the data set in 901B, and the input that the user is about to view Creative™ MP3 players in 902B, the analysis module would process the dataset and conclude 903B Creative™ may want to market its inexpensive flash drive MP3 Players, or market hard-drive MP3 players with smaller sized hard drives than those of Archos™ at a better price point. Also, flash-based MP3 players with FM Radio capabilities fulfill an unmet need, so Creative™ could target players of this type. Finally, to compete against Apple™' s™ players, Creative™' s players may need to be touch-screen. These conclusions would be based upon the fact that there appears to be demand for hard drive players of moderate size, but there is only interest in Archos™' s high-end product, and the bulk of the interest in the flash-memory market appears to be in Apple™' s products, but offering FM Radio could be a competitive advantage, and because customers who show interest in Apple also show interest in touch screens, it could help Creative™ to compete if their players also had a touch-screen.
[0052] In general, the heuristics mathematically and statistically analyze the pool of filter parameter selections, looking for situations such as correlations, contrasts, and frequent and infrequent occurrences of types of data, or any other type of relationship which leads to a rational content recommendation. Some further examples of how content recommendations are generated are herein provided with respect to an electronic catalog of consumer electronics products. For example, suppose, hypothetically, that the system has tracked searches by users for cell phones. An analysis of which attribute was selected first may show that 53% of the users select Service provider as their first attribute, and only 6% select Price. Moreover, this analysis may be done at multiple levels. For example, a check could be done to see that in the course of a user's overall search for cell phones, 85% select Service provider at some point (i.e. first selection or any subsequent selection), whereas only 27% select Manufacturer at all during their search.
[0053] Taking this example, analyzing the information can lead to valuable conclusions, which can be used to target content. First, manufacturers can observe which categories within their brand receive more attention. For example, suppose that 85% of users search for Apple™ MP3 players, but only 46% search for Apple™ laptops. Armed with this information, Apple™ could decide whether it wants to advertise to try to increase penetration in the laptop market, where it is relatively weak, or whether it wants to advertise to try to maintain its market dominance in the MP3 player market. An embodiment may be preconfigured for either of these options, or may be configured by the user, either to recommend that a company (who may be related to a product with a attribute such as manufacturer, service provider, or the like) that it sell products of the type where users have shown the most interest, or the least interest. [0054] Another approach to the data would be to examine category data, and look for categories where no single company or where small groups of companies monopolize the interest of users. For example, the data might indicate that printers would be a good category to target, but MP3 players might be harder to break into if a company like Apple™ has a "lock" on the market due to intense user interest.
[0055] Alternatively, in the case where Apple™ has considerable loyalty within the MP3 player market, a competing MP3 player like Creative™ or Sony™ may decide that it would be desirable to place ads in this situation to attempt to break the dominance in the marketplace. Also, even when there is no dominance in a market, there may be a specific rivalry within a niche market. For example, if the data indicates an incident of interest in Epson™ inkjet printers above a certain threshold, Brother™ may decide to advertise so as to try to convert users away from Epson™.
[0056] An embodiment may also provide for the simple case where a company simply has low market penetration for a specific class of products, but the class in general is faring well. If HP™ observes that their desktop machines are selected by users below a preset or user-set threshold of the time, an embodiment may recommend that HP™ target ads to promote these machines because they may want to increase market share. Alternatively, if the selection occurs below a certain threshold of the time, the embodiment may recommend that the user not target ads for these products, because they are in a weak position in the market.
[0057] Another factor which allows the embodiments to aid in targeting is price. If users search for a specific price range frequently, an embodiment recommends targeting ads for products by a given company that correspond to that price range. Likewise, if a given price range is not selected frequently, the embodiment would not recommend targeting products within the infrequently selected price range.
[0058] However, beyond recommendations that stem from past buying patterns various embodiments can make dynamic recommendations for ad placement based on a user's present choice of filters. For example, suppose that the user chooses laptops by Toshiba™ for over $1500. Then, the embodiment may offer an ad placement to Lenovo™ or Sony™ or another manufacturer, who wishes to compete with its own expensive laptops. Alternatively, the embodiment could offer an ad placement to a company like Asus™ or Acer™, who may wish to compete by selling a similar, less expensive product.
[0059] This principle can operate in reverse of course. If the user selects LCD TVs for $1000 from Vizio™, Sony™ may wish to buy an ad which extols the virtue of the features of its own, more expensive televisions, which it may believe to be of higher quality or possess a better reputation. In general, various embodiments allow targeting based on the most and least popular values of attributes, as well as threshold numbers of selections of the attributes, both at the first- selection level and the overall-selection level, though finer tuning (first-and- second selection, first-though-third selections, for example) is of course possible on a predetermined or user-set basis. It is also to be noted that selecting the filters need not require progressively selecting and redisplaying lists as has been described heretofore. Embodiments may also implement filter selection by methods which include drop-down boxes and controls which allow the user to drill down through selection of filters on a single screen in advance, without redisplaying the list of relevant products each time a selection is made.
[0060] The content recommendation technique provided by these embodiments offers many advantages. First, the catalog structure of products, accompanied by a taxonomy, represents an efficient and effective way to store and manipulate a group of products. Whether the products are a set of generalized products, a category of products such as consumer electronics or apparel, or a niche set of products such as antique coins, using a taxonomy and filters as described above allows efficient display and navigation of the products. While various interface features may vary in the various embodiments, the lists may be sorted according to various attributes, or alternatively according to other metrics to allow easy access to the most relevant items. That is, continuing the example of consumer electronics, the lists may be sorted according to factors related to the review and product characteristics including, but not limited to: Review date, Editor's Rating, and User's Rating and Lowest Price. The monitored filter data further leads to the ability to target content, which is desirable for several reasons, as set forth above. First, it allows advertisers to pick and choose more carefully how they will spend their money advertising on the catalog website and elsewhere. Moreover, this is an unexpected result because filter selection data has not heretofore been monitored to draw conclusions about what content would represent a good investment based on patterns in said filter data.
[0061] Another advantage of the embodiments is that they allow the advertisers to target smaller niches. Motorola™ may discover that Bluetooth™ enabled phones are an area where it is most competitive, for example. Also, as previously discussed, ads can be targeted to change brand loyalty. If a specific brand has a large market share, ads can be placed to target that market.
[0062] Furthermore, if users show great interest in a type of product, but there is not much specification of a given brand of product, companies seeking to enter the market will know to target users with ads for that type of product because users may be open to new brands. For example, if there are a lot of searches for desktops with hard drive capacity of 500 GB or greater and no brands accompany those searches, embodiments will be able to recommend that advertisers that sell that type of machine target ads at this relatively unexploited market. [0063] Finally, the embodiments would be potentially capable of following up on correlations between ad placements and filter selection. For example, those who filtered for Apple™ cell phones might be more likely to subsequently click on ads for hybrid cars, or purchasers of Sony™ laptops might be likely to click on ads for Ralph Lauren™ apparel. This cross-selling aspect of the embodiments enhance their functionality by allowing cross-selling across industries. Furthermore, because the owners of the embodiments will be able to offer highly targeted ads within their catalog and valuable information about how to target ads externally. This will allow the catalog owner to charge more, because the ads will be worth more.
[0064] In various embodiments the ads based on the recommendations may be displayed in the same window, or in a separate window, such as via a pop-up ad. If they are displayed in the same window of a list of products which obey a set of filter parameters, for example, they may be placed above or below the list, or to the left or right of the list, or somewhere in the middle of the list, possibly dividing the list into two parts in a strategic manner. [0065] Alternative embodiments may provide multiple recommendations at the same time. For example, suppose that there is data, based on filter selection, that there is a lot of interest in Apple™ MP3 players, costing $200-$300. (Suppose that Apple™ receives 87% of the clicks in this category. An embodiment could observe that Microsoft™ might have a product that competes directly in this price range with similar features, and Creative™ has products that have slightly fewer features, but might cost less. The embodiment could suggest to both Microsoft™ and Creative™ that they should target ads for their products when the user makes the filter selection of Apple™ MP3 players costing $200-$300.
[0066] An example dataset should clarify the operation of the embodiments. Suppose that the category being analyzed is desktops. Further suppose that there have been 20 sets of filter parameters who selected Apple™, then $1000-$ 1200, 20 sets of filter parameters where the user selected Sony™, then all-in-one desktop system, and 50 sets of filter parameters where the user selected HP™, 20 of which where the user further selected $1400-$1600, and 30 of which where the user selected all-in-one desktop system. Suppose further that the user has selected HP™ as their initial filter parameter.
[0067] An embodiment would be able to make the following recommendations, among others. First, it could suggest to Apple™ or Sony™ that they advertise their machines to the user, because they have apparently achieved relatively low market penetration based on the fact that users are apparently seeking out their products less. Second, it could suggest to Sony™ that it should advertise its all-in-one desktop systems especially, because there is interest in this type of desktop, but not as much as for the HP™. Third, it could suggest to Apple™ that it advertise its cheaper machines to the user, because there is interest in them, and that it might be able to show that it can offer comparable products to HP™'s at a lower price.
[0068] As an alternative example, take a situation in the realm of MP3 players where there were 90 filter selections for Apple™, 80 of which were accompanied by a selection that the MP3 player be flash memory, 5 accompanied by a selection that it be hard-drive based, along with 5 selections for Microsoft™, 4 of which were accompanied by a selection that the MP3 player be hard-drive based and 1 flash memory based. In this situation, if Creative™ used the embodiments to procure a recommendation, the embodiment might suggest that the market is dominated by Apple™ in the flash memory MP3 player market, but there is a more level playing field in the hard-drive based players so Creative™ might have a good opportunity to market if it attempted to market its hard-drive players. Moreover, if the user does click that he or she is interested in buying a flash memory based player, the embodiments would make it clear that the significant market opponent is Apple's™ products such as the iPod™, and hence advertisements should be targeted to counter Apple's™ marketing rather than Microsoft's™. [0069] Thus, these embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to determine how the relationship between these trends and the user's present interests indicate ways of effectively marketing to the user. Thus, these embodiments represent a powerful and sophisticated e-commerce tool which brings unexpected advantages to the field of marketing by monitoring the filter data.
[0070] FIG. 10 illustrates a configuration of a filter parameter choice management system 1000 according to another embodiment. In this embodiment, filter options are presented to a user based on ongoing monitoring of filter selections to navigate an online catalog of items, technology, and products. As with content targeting system 100, the catalog is ideally stored in a database module 102. The database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices providing a Web page, or other GUI interface, in order to interact with the users 1100 and inform them about the operation of the system and obtain their desired filter parameters. This information flows to and from the user interface module 106 to the monitoring module 1080, which records selections of filter parameters by users in the course of retrieving products from the catalog. The information retrieved and recorded by the monitoring module may relate to information about products, or the purchasing of products. The monitoring module 1080 is in communication with the filter refinement module 1120, which analyzes and manages the data from the monitoring data and controls which and how many options the user interface module 106 and query module 104 display when presenting the catalog and filter parameters to the user. In turn, as users 110 continue to interact with the embodiments, the monitoring module 1080 receives more and more information from the query module 104' s input in conjunction with the user interface module 106, and can transmit it to the filter refinement module 1120 for progressively better handling of the interface presented by the user interface module 106. [0071] In FIG. 11, an example of how this method embodiment might operate on a system embodiment is provided. It is to be noted that the invention may also be carried out with embodiments such as an apparatus which provides means for carrying out the steps provided for by the method embodiment or by using computer readable medium with executable instructions stored thereon, the instructions performing the method of the invention when executed by a suitable computing apparatus.
[0072] FIG. 11 presents a log of the results of the monitoring module 1080 which has been transformed by the filter refinement module 1120. Monitoring log data 9011 is counted to become a monitoring log summary 9021. Users 110 can then select "echelons" which are predefined and represent levels which the users 110 can select between which control which options are displayed for selection. The echelon configuration may also be intelligently selected by the embodiments based on information about the user which the embodiments have available to them, such as information which the user have provided by responding to surveys, by personal information about the user such as age, gender, profession, interests, or other information, or by feedback which other users have provided about which echelon settings are most effective and helpful. For example, consider the case where there have been 100 filter parameter selections in the monitoring log data 9011 for brands of digital camera selected by previous users, of which 47 were Canon USA™ (47%), 25 were Sony™ (25%), 15 were Nikon™ (15%), 5 were Olympus™ (5%), 5 were Panasonic™ (5%), and 3 were Other Brands (3%).
[0073] This data can then be used to set up echelons in at least 3 ways, though many more are of course possible and the scope of the embodiments should not be limited to the samples presented here. It is also to be noted that any number of echelons is possible; in the case of one echelon, there is only one echelon and the system always applies one set of conditions to control values of an attribute or category in question. However, there may be as many echelons as there are values of the attribute or category in question. Echelons essentially represents ways of interpreting the monitoring log summary 9081 to affect which and how many filter parameter options the query module 104 presents to the user.
[0074] Echelons IA 9021 and 2A 9031 illustrate how only Canon USA™, Sony™, and Nikon™ are displayed given the criterion, "Show Brands Covering 80% of Filter Parameter Selections", but Olympus™ and Panasonic™ are added under the criterion, "Show Brands Covering 95% of Filter Parameter Selections". Under the criterion "Show Brands Covering X% of Filter Parameter Selections", the most frequently selected brand is included first, then the second most frequently selected brand, until X% is reached.
[0075] Echelons IB 9041 and 2B 9051 illustrate how only Canon USA™, Sony™, and Nikon™ are displayed given the criterion, "Only Show Brands with 10% or more of Filter Parameter Selections", but Olympus™ and Panasonic™ are added under the criterion, "Only Show Brands with 5% or more of Filter Parameter Selections". Under the criterion "Only Show Brands with X% or more of Filter Parameter Selections", all brands that meet the minimum threshold are included, however many that involves.
[0076] Also, Echelons 1C 9061 and 2C 9071 illustrate how only Canon USA™, Sony™, and Nikon™ are displayed given the criterion, "Show 3 Brands with the Most Clicks", but Olympus™ and Panasonic™ are added under the criterion, "Show 5 Brands with the Most Clicks". The operation of these echelon criteria is self-explanatory.
[0077] Thus, applying these echelon criteria at the levels indicated in Echelons IA-C 9021 9041 9061 and 2A-C 9031 9051 9071 yields the corresponding sample results in FIG. 12A-B. Naturally, given a different monitoring log summary, these options would change appropriately. [0078] Thus, generally most criteria for which Brands (or whatever other attribute or category values are under consideration) will follow one of these three forms: Selecting whatever attribute or category values (however many they may be) that satisfy the criterion that a given percentage or proportion of filter parameter selections have been represented, satisfying the criterion that a value must meet a threshold percent or proportion of the set of selections before it is included, or arbitrarily an echelon will attempt to include a set number of values that are most popular.
[0079] It is noted that all of these approaches can be inverted, such that least popular values will be included, all values which are less than a threshold will be included, and all values which would have remained after a proportion was included instead become the set which is displayed. If there is a question about which values to include, such as a tie, the value to include may be selected randomly, both values may be included, or neither value may be included. Which approach to use may be preset in an embodiment, or user- set. The user interface module 106 may operate on a command-line or a GUI (Graphical User Interface), but ideally a GUI will reflect the preferred embodiment and a web browser or other graphical Internet access tool may reflect a preferred embodiment of the invention. [0080] It is to be noted that each attribute or category may ideally have its own system of echelons, or all attributes and categories may share a system of echelon settings. For example, all attributes could have a three-tiered setting of echelons for only show values of an attributes with 20% or more of filter parameter selections, only show values of an attributes with 10% or more of filter parameter selections, and only show values of an attributes with 5% or more of filter parameter selections, or categories and brands could have that system, and price might have a setup with show 2 price levels, show 3 price levels, show 5 price levels, and show 6 price levels.
[0081] In an embodiment of the invention, the user interface module may be configured to give an option to display the hidden choices, or leave them concealed. There may also be constraints placed on the timing of filter parameter entry, such that only new filter parameters are considered or only old filter parameters are considered (with new and old being predefined or user-selectable or user-definable concepts, such as by allowing the user to select a range of time to consider in making the determinations about which choices to offer).
[0082] It is also a characteristic of some embodiments of the invention that they may possess an option that they may allow the user to override the automatic regulation of which attributes or categories are displayed by the filter refinement module 1120. This may take the form of either a facility which allows the user to change the criteria which define the echelons, or it may take the form of allowing the user 110 to manually specify which options will be visible to him or her when browsing the catalog. There may also be a "reset" button which may cause the user interface module 106 to display all or a preselected set of values of one or more attributes or categories if it has been restricted too much by the operation of an echelon's criteria. [0083] These embodiments allow collection of information about the users' filter selection which can adaptively reflect trends in filter selection, and glean from those trends valuable information which can improve the experience of catalog users by helping to avoid wasted time and prevent confusion. Thus, these embodiments represent a powerful and sophisticated e- commerce tool which can significantly streamline and regulate the interface of a catalog of a type described herein with minimal additional computation.
[0084] In another embodiment, filter data is amassed to provide valuable insights through analysis and visualizations. By performing mathematical and statistical transformations upon the amassed filter data, grouped data sets are available that can be turned into visualizations such as line graphs, bar graphs, histograms, and other visual representations that represent how the number of selections of various filter parameter selections changes over time. Moreover, visual representations of other aspects of the parameters, such as pie charts which represent proportions of filter parameter selections can provide valuable information to the user.
[0085] Embodiments which present valuable available information to the user by presenting information about filter selection trends meet many unmet needs and offer many unexpected advantages. Such embodiments serve the need of understanding trends in buying preferences as well as interest in products in electronic catalogs. First, no known products or services mine filter parameter selection data in the manner provided for by these embodiments and offer such useful information about the catalog. Second, by incorporating information known about the users, as well as the order in which they make their selections into an analysis of filter selections, higher-level inferences are possible which can potentially add richer levels of meaning which can be depicted visually. Third, the visual approach adopted in some of these embodiments complements the Web-based or GUI interface which is preferably used to access the catalog. Fourth, the embodiments facilitate careful control and inspection of given time periods to determine how trends in filter parameter selection change over time and focus on specific time intervals. Fifth, the embodiments allow users to isolate specific values associates with filter attributes under consideration so as to obtain more detailed information about how filter activity has changed over time. Thus, the embodiments presents the user with a variety of tools which help mine value from monitoring the stream of filter selections which occurs as a natural part of operating an electronic catalog based on a taxonomy.
[0086] The information provided by the filter selections can provide useful and unique insights into user's priorities and interests in using the catalog. At a superficial level, of course, it indicates what users are searching for. However, that information can be used for marketing, to improve the design of the system, to provide suggestions to the users, to improve various aspects or to improve parts of the system interface.
[0087] In this embodiment, the filter parameter information system 1003 as shown in FIG. 13 comprises database module 102, query module 104, user interface module 106, user 110, monitoring module 1083 and user activity data output module 1123. As with content targeting system 100, the database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices providing a Web Page, or other GUI interface, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters. In this embodiment, this information flows to and from the user interface module 106 to the monitoring module 1083 and user activity data output module 1123, where the computation performed by the device with respect to the information in the catalog. The user activity data output module 1123 then presents the results of its computation to the users 110 via the user interface module 106.
[0088] As filter parameter information system 1003 accepts filter input while users search the catalog, it is possible to monitor the set of filter parameters that users of a catalog system enter over a period of time. This data can be used to draw inferences about the behavior of the overall group of users who have contributed to a set of filter parameters. Alternatively, this data may be used for other applications, such as by using text or graphics to summarize or depict the data, so that users may draw their own conclusions about what the data represents. Furthermore, the data from monitoring the set of filter parameters may allow the system to adopt a more intelligent approach to the filter interface with the users, in that it may allow the catalog interface to be able to be more or less selective about which filters or how many filters should become displayed to the user for their potential selection at any given time.
[0089] Some examples of this record of the filter selections are portrayed as being stored in one embodiment in FIG. 14 in the monitoring module 1083. A mixed monitoring log 9013 may consist of a flat file of entries indicating filters selected by users. The mixed monitoring log consists of a variety of filters, entered by users. Each filter is a sequence of selected filter parameters by individual users on one search. The mixed monitoring log 9013 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas. The mixed monitoring log 9013 stores the complete filters. In the embodiments, at each stage of this narrowing process, the user is presumed to express a preference about what he or she is interested in. By adding a facility to the website which tracks the user's clicks by which he or she progressively selects the filter parameters, and thereby narrows the set of available products to produce a smaller set of products with characteristics that the user is looking for, a set of potentially useful data is generated. The user's actions may be captured, for example, if the catalog is accessed via a web page, where the web page consists of an HTML or XHTML document, by incorporating a facility which maintains a set of variables which change based on the user clicking on various filters. Technologies such as JavaScript scripts, Perl scripts, Java applets, JSP, ASP, as well as any other technology known in the art that allows the web page to register a click in a variable may be used by the various embodiments to maintain a tally of filter parameter selections within the taxonomy for further analysis and/or manipulation. In the preferred embodiment, they are stored as noted above in a monitoring log 9013 as monitoring log entries 9043, but any record of filter parameter selection which allows the analysis module to make inferences based on the filter parameters will be sufficient. The monitoring module 1083 processes the information in a mixed monitoring log 9013 to yield filtered input 9023 A and 9023B, breaking the overall mixed monitoring log into groups based on time intervals, such as hours that the system is in operation. At this stage of the processing, the individual filter entries are manipulated so that only the entries for the individual categories are present. That is, in the case of 9023A, an individual entry 9043, Laptops :Dell™, Turion 64™, 4 GB RAM (904), becomes simply Laptops: Dell™.
[0090] An alternative embodiment further acquires additional information about the selections made of the various filters with the catalog system with respect to the hierarchy, storing, instead of a mere tally of selections, a tally of selections along with level information. For example, if the product were MP3 players, the embodiment would be capable of storing how many users selected Sony™ MP3 players as their first choice of filter parameter, as opposed to second, third, etc. When the information is processed by the user activity data output module 1123, it may graph or otherwise the data based on this information. Tallying can be also done on the fly to analyze the filter selections from a monitoring log 9013. It is to be noted that an actual mixed monitoring log will probably include different filters from multiple categories; FIG. 14 has been simplified for clarity's sake.
[0091] This aggregation of filter data is an ongoing process, with the embodiments creating a stream of data which is stored in the mixed monitoring log 9013, either continuously or at discrete, batched intervals. As the data aggregates into the mixed monitoring log, it will also generate sets of filtered input, such as 9023 A and 9023B. These sets of filtered input may be generated such that they are generated for every attribute within the category being analyzed, or they may be generated for a select subset of the categories, or even only one. [0092] Once the filtered input sets, 9023A and 9023B, have been generated, they can be tallied to generate tallies of filter selections over time intervals. These filter selections may be tracked by individual user selections, in that they are derived from progressive construction of the filter by the addition of filter parameters to the complete filters, and then added to the tallies of the filter parameters in the time intervals. The filter parameters may also be tracked by session, such that totals of the filter selections are generated which compound the totals of how many filter parameters corresponding with each value of each attribute over the course of one login session by a given user.
[0093] Once the filter parameters have been tallied, then the embodiments can begin to manipulate and process them so as to provide feedback to the user using the user activity data output module 1123. To begin this process, the monitoring module 1083 either transmits the data or allows access by the user activity data output module 1123 so that it can provide representations of the data, as well as patterns in the data. These patterns may be both general patterns, as well as patterns that depend upon the specific nature of the attributes involved. They may be recognized by algorithms, heuristics, mathematical analysis, statistical analysis, and/or user inspection of the data. The goal of this manipulation of the data is to generate information by transforming the filter data to yield data that may consist of summary data, such as text, or alternative graphical depictions of the filter data analysis. This may be performed by the user interface module either on a video monitor, or alternatively it may be provided to the user on a printout.
[0094] FIG. 10 illustrates a sample of graphical depictions of the filter data. In this figure, line graphs are used to illustrate the data, which consists of set of data points which is illustrative of tallies of filter parameters. However, any other form of graphical depiction which provides a representation of the data may be used to provide the user 110 with insight into the data. More specifically a line graph, a bar graph, or a pie chart may be used. The graphical depiction may illustrate information about the data how the frequency of certain values of the attributes changes over time, or what the total frequencies are over specific time intervals. [0095] The user 110's ability to manipulate and control the representations which the embodiments present may be facilitated by various features of the embodiments. For example, the user interface module 106 which presents the graphical depiction may include controls which change the time range depicted. Also, the graphical depiction may be presented to the user in a pop-up window and/or in a subpart of a window in which a list of products which results from determining the subset of products in the catalog which correspond with said filter parameters are displayed for the user. Alternatively stated, this embodiment concurrently displays both the list of products which naturally results from the user' s selection of filter parameters through the user's use of the catalog, along with the graphical depiction referred to above which reflects some aspect of overall filter parameter use.
[0096] The embodiments may also allow flexible control over the graphical display, such that the user activity data output module possesses control which allow the user to selectively exclude and include one or more user-determined values of said categories and/or attributes from the graphical depiction. This can be done by simply processing through the data, using a Boolean test to filter out the extraneous data, and then graphing the remaining data. [0097] Another potential feature of the embodiments is that the graphical depiction may include hyperlinks to filter parameters with categories or attribute values depicted in the graphical depiction which can be used to search the catalog. That is, if a graphical depiction includes lists of specific attribute values, such as "Dell™", "HP™", and "Lenovo™" for the Brand attribute as in FIG. 10, a search page could be generated which reflects a selection of one of the brands, as if it were an ordinary filter parameter selection in the ordinary course of operating the catalog. The attributes used to categorize the products or items in the catalog may be of any type that is appropriate for a given set of products. However, if the products are pieces of technology, the attributes may include one or more of brands, prices, and technologies. [0098] Of course, one of the most valuable capabilities and features of the embodiments is its ability to analyze the filter parameter information. One way in which this can be done is to have the filter parameter selections relevant to a given attribute received over a given time interval be decomposed to yield a set of proportions for each value of the attribute, determined over the set of possible values, received over said time interval. This capability essentially describes the analysis which occurs when the embodiments construct a pie chart of activity, in that, for example, the category might be televisions, and the embodiment would take the information about which brands of television had been selected for use as filter parameters, and for example might find that there were, over a 3-month period, 12% Sony™, 35% Panasonic™, 13% Sharp™, and 40% Samsung™ brand selections associated with televisions. This of course, could be portrayed as a pie chart or analyzed and manipulated in other ways, for example by comparing Sony™'s percentage in this category to another category, like laptops. Of course, these proportions may be expressed as a percent, a decimal fraction, a standard fraction (for example, 234/452 selections) or any other means of expressing a proportion. It may also be desirable to change the time interval which the fractions reflect, and by obtaining a sequence of data points with proportions of this type, it is possible to observe how input has been changing in the system over time. It is noted that the proportion, rather than the absolute number, of filter parameter selections, can vary widely on a daily basis (an embodiment might be more widely used at 2 PM than 2 AM) but we have found that the proportions of various values relative to the total usage is a more consistent barometer of usage patterns because it reflects popularity of choices.
[0099] An additional way in which the embodiments may obtain useful information from these proportions is to allow the user to request and receive mathematical and/or statistical analyses of information about said proportions. That is, the user may obtain information through any technique which uses any algorithm, formula, heuristic, or other technique that takes the raw data and draws the information in the data together to summarize the data or draw conclusions from it. For example, as noted previously, the proportions may be graphed versus time to show how different specific attribute values have different frequencies. Some basic mathematical techniques that the embodiments may employ may be derivatives to establish rates of change for the data (coupled with curve fitting techniques), integrals to establish overall total popularity over a period of time (coupled with approximation techniques), as well as identification of maximums, minimums, and averages.
[00100] The embodiments may also restrict the group the data of users whose actions are considered for the analysis, by factors such as, but not limited to, geographic location, IP address, demographics such as age, gender, groupings (such as Macintosh™ users, gamers, business professionals, IT professionals, etc.). The embodiments thus may be designed to gather user profile data through a user profile data gathering module, wherein the user profile data gathering module gathers personal information about users, as just outlined, and stores data including a link between said personal information with said user activity data and the user activity data output reflects the personal information of at least one user store in the user profile data gathering module. Optionally, an embodiment may include a facility to gather such information from the user to aid in the later analysis of the user's filter selections. Such a facility to gather information about the user may be integrated into the web page as a form, or it may take the form of a pop-up box. Alternatively, the embodiment may automatically gather information about the user by associating his or her IP address with information gained by associating that IP address with information in a database. This data may be further used by the embodiments such that the embodiments may be designed to recommend that a user buy a product from a given category when user profile data and/or user activity data fall within predefined or user-configurable parameters, depending on how a particular embodiment is designed. Alternatively, the embodiments may make a similar recommendation, but it may be that the user not buy products from a given category. The way in which these recommendations are derived may vary, but one simple way in which they may be derived is to make recommendations for the most popular (or alternatively, top 3, top 5, etc.) choices in terms of filter parameter selection proportion, and not to recommend the least popular (least 3 unpopular, least 5 unpopular, etc.)
[00101] It is to be noted that the filter parameters are tracked on the basis of individual user selections. That is, each time a filter parameter is selected, regardless of whether how many filter parameters are involved in the whole filter being built, it counts towards tallies of the various values of the attributes. An alternative approach which may be used is that only filter parameters up to a certain depth are to be counted. For example, only the first three levels of filter parameters could be counted, and the others could be deemed to be so unimportant to the user's search that they should not be counted.
[00102] Thus, the embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to allow the user into analyses of that information as well as various approaches to mining the information and relating it to other real- world factors. In addition to merely allowing the user access to this information, which is novel in itself, the combination of access to this information with the types of visualizations and manipulations outlined here provide a powerful and sophisticated e-commerce tool which brings unexpected advantages to the operation of a catalog by providing visual feedback about an unusual source of data and providing the opportunity to manipulate it to obtain insight into an aspect of user behavior that has not been exploited in this way before, with the particular advantage that it offers specific ongoing information about a facet of user preferences that the user could not otherwise access. [00103] Other embodiments of the invention propose a solution to the problem that lists, which are composed of a static, predetermined set of products, do not reflect changing conditions within a catalog when reflecting customized subsets of the catalog's product which reflect special interests or individual preferences. Instead, the embodiments suggest the approach that by utilizing filters, which consist of one or more filter parameters, each of which specifies at least one of a product category and an attribute, various embodiments may be implemented which automatically narrow the products in the catalog to produce a customized list which is dynamic because the filter parameters may be applied to select the products in the catalog which correspond with the constraints they represent to yield a subset of the catalog that reflects preferences but adapts to changes in the composition of the catalog by reapplying the filters as the combination of products in the catalog changes
[00104] Moreover, the embodiments represent a solution where the filters are stored for communal use, so that individual users can create filters for the benefit of other users. By managing access to filters that users create on a communal basis, the benefit of the filters is enhanced greatly, because other users can have collaborative access to the filters. This allows users to create filters which have special meaning for groups of friends, co-workers and family, or to potentially create filters for customers to expedite customers' use of the catalog. Some embodiments additionally offer messaging capabilities, where an e-mail, TXT message, or instant message (IM) is used to inform the user about the existence of a user constructed filter. More importantly, the dynamic nature of the lists can be leveraged by using messaging technologies to alert a user of the various embodiments when the results of applying the user constructed filter to the catalog have changed.
[00105] In these embodiments, the user constructed filter management system 1004 as shown in FIG. 16 comprises database module 102, computer processor 1044, user interface module 106, users 110, community user constructed filter repository privilege control module 1204, and community user constructed filter repository module 1084. In this embodiment, the database receives requests to access the contents of the catalog under the control of the computer processor 1044, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices providing a Web Page or other GUI interface, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters. This information flows to and from the user interface module 106 to the community user constructed filter repository module 1084, where the access to the user constructed filters is managed. The community user constructed filter repository module 108 then presents the results of its computation to the users 110 via the user interface module 106.
[0001] The community user constructed filter repository module 1084 should have several capabilities. It should be capable of forming the union, intersection, and set difference of two filters. Additionally, it should be capable of storing and managing at least one title for each user constructed filter in the community user constructed filter repository module 1084 at the time of creation of the user constructed filter, or alternatively titles may be added to user constructed filters subsequently.
[00106] The community user constructed filter repository module 1084 should also be capable of ranking the filters in the repository, and displaying them according to popularity, or with the most recently constructed user constructed filter first. It should also have the additional management features for the user constructed filters that the community user constructed filter repository module 1084 is configured to allow a user to do one or more of: sending an e-mail, sending a TXT message, or sending an IM message with information about how to access a user created filter to another user of the system. Another feature which some embodiments possess is that the community user constructed filter repository module 1084 is configured to automatically do one or more of: sending an e-mail, sending a TXT message, or sending an IM message to alert a user 110 when the subset of products in the catalog that the user created filter corresponds with changes.
[00107] In order to make it easier for users to access products in a catalog of the type that has been described, the embodiments present a way for users to generate and store their own filters for their own subsequent use and for use by members of the community of users that shares use of the embodiments with them.
[00108] The embodiments involve a record of the filter selections which is portrayed as being stored in one embodiment in FIG. 17 in the community user constructed filter repository module 1084. A record of user constructed filters 1200 may consist of a flat file of entries which indicate filters selected by users. Each filter is a sequence of selected filter parameters. The filter parameter selections in the user constructed filters 1200 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas. Examples are Cheap Travel Notebooks 1202, which encompasses the filter parameters of Laptops, which are less than $500, netbooks, 12-10 in. and 3 lbs. or less, or Desktop Powerhouses 1205, which are more than $3000, desktop replacements, and use an Intel Core 2 Extreme Quad-Core™ processor. However, due to the dynamic nature of the filters, these results pages would be generated every time a user 110 accessed a set of products using a filter. This dynamic property gives the approach of selecting a group of products using custom-filters a major advantages over products such as Amazon's List-Mania™, in that the lists associated with filters do not grow "stale". While the results of executing the user constructed filters display the relevant results of applying the filters at one point in time, they will be updated the next time the filter is run. Alternatively, embodiments may exist which store the results of applying a filter to the catalog so as to determine what the results of using the user constructed filters was like in the past. By maintaining a record in this embodiment, the user is able to track which products have been recently produced by the user constructed filter.
[00109] The user constructed filters are constructed by the user in one embodiment in a very simple way, thought of course many interfaces are possible by which the user may select filters, including keyboard input, check boxes, drop down controls, radio button controls, and drag-and- drop selection. Essentially, the user may select filter parameters in a manner analogous to that used in FIG. 3-7, where filter parameters are progressively selected, and except as in FIG. 18, a button 1300 which allows the user to Store Filter 1300. The filter information is then stored as above in the community user constructed filter repository module 1084 for later use by other users. The user interface module 106 subsequently moderates the interaction between the users 110 and the community user constructed filter repository module 1084. Ideally, the user interface module will allow users 110 to navigate said electronic catalog of products to select products which correspond with the filter parameters in a given user constructed filter. Such navigation may take place via a GUI (Graphical User Interface), which may take the form of a web browser or other graphical Internet navigation tool.
[00110] Thus, these embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to determine how the relationship between these trends and the user's present interests indicate ways of effectively marketing to the user. Thus, these embodiments represent a powerful and sophisticated e-commerce tool which brings unexpected advantages to the field of marketing by monitoring the filter data.
[00111] It should be noted that the content targeting system 100, the filter parameter choice management system 1000, the filter parameter information system 1003, and the user constructed filter management system 1004 are illustrated and discussed herein as having various modules which perform particular functions and interact with one another. It should be understood that these modules are merely segregated based on their function for the sake of description. In this regard, these modules, units and other components may be hardware and/or software stored on a computer-readable medium for execution on appropriate computing hardware such as a processor may be thus implemented to substantially perform their particular functions explained herein. The various functions of the different modules and units can be combined or segregated as hardware and/or software stored on a computer-readable medium as above as modules in any manner, and can be used separately or in combination.
[00112] While various embodiments in accordance with the present invention have been shown and described, it is understood that the invention is not limited thereto. The present invention may be changed, modified and further applied by those skilled in the art. Therefore, this invention is not limited to the detail shown and described previously, but also includes all such changes and modifications.

Claims

What is claimed is:
1. A computer system, comprising: a database module that stores an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user; a query module configured to receive the current filter parameters, query the catalog, and present information in the catalog corresponding to the filter parameters to said user interface module for display to users; a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; a user activity data analysis module, configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
2. The system of claim 1, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
3. The system of claim 1, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user- input value within the set of user activity data.
4. The system of claim 1, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
5. The system of claim 1, wherein said products are digital media.
6. A method involving steps to be performing on a computing system consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, comprising: storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user; receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users; monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and comparing with a user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations .
7. The method of claim 6, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
8. The method of claim 6, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user- input value within the set of user activity data.
9. The method of claim 6, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
10. The method of claim 6, wherein said products are digital media.
11. An apparatus designed to perform computing functions which transform data monitoring results, wherein at least part of the apparatus's functionality is performed by hardware, comprising: means for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; means for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user; means for receiving with a query module configured to receive the current filter parameters, means for querying with said query module the catalog and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users; means for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and means for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations .
12. The apparatus of claim 11, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
13. The apparatus of claim 11, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user-input value within the set of user activity data.
14. The apparatus of claim 11, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
15. The apparatus of claim 11, wherein said products are digital media.
16. Computer readable media, having instructions stored thereon, wherein the instructions, when executed by a processor, perform computing functions which transform data monitoring results, comprising: instructions for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; instructions for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, instructions for receiving with a query module configured to receive the current filter parameters; instructions for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users; instructions for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and instructions for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
17. The computer readable media of claim 16, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
18. The computer readable media of claim 16, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user-input value within the set of user activity data.
19. The computer readable media of claim 16, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
20. The computer readable media of claim 16, wherein said products are digital media.
PCT/US2010/035283 2009-05-18 2010-05-18 System and method for targeting content based on filter activity WO2010135342A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US12/467,414 US20100293234A1 (en) 2009-05-18 2009-05-18 System and method for incorporating user input into filter-based navigation of an electronic catalog
US12/467,384 US9141671B2 (en) 2009-05-18 2009-05-18 System and method for presenting filter options to a user based on ongoing monitoring of filter selections
US12/467,384 2009-05-18
US12/467,394 US20100293074A1 (en) 2009-05-18 2009-05-18 System and method for tracking filter activity and monitoring trends associated with said activity
US12/467,394 2009-05-18
US12/467,368 US20100293494A1 (en) 2009-05-18 2009-05-18 System and method for targeting content based on filter activity
US12/467,414 2009-05-18
US12/467,368 2009-05-18

Publications (1)

Publication Number Publication Date
WO2010135342A1 true WO2010135342A1 (en) 2010-11-25

Family

ID=43126473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/035283 WO2010135342A1 (en) 2009-05-18 2010-05-18 System and method for targeting content based on filter activity

Country Status (1)

Country Link
WO (1) WO2010135342A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665271B2 (en) 2013-01-30 2017-05-30 International Business Machines Corporation Adjusting values of a plurality of conditions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071251A1 (en) * 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog
US20060265290A1 (en) * 2005-04-29 2006-11-23 Sprn Licensing Srl Systems and methods for managing user information over a network
US20070192294A1 (en) * 2005-09-14 2007-08-16 Jorey Ramer Mobile comparison shopping
US20080140577A1 (en) * 2006-12-07 2008-06-12 Shahriar Rahman search and comparison shopping engine
US20080270398A1 (en) * 2007-04-30 2008-10-30 Landau Matthew J Product affinity engine and method
US20090019488A1 (en) * 2007-07-10 2009-01-15 Verizon Data Services, Inc. System and method for providing personal content recommendations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071251A1 (en) * 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog
US20080040239A1 (en) * 1998-09-18 2008-02-14 Jacobi Jennifer A Computer processes for identifying related items and generating personalized item recommendations
US20060265290A1 (en) * 2005-04-29 2006-11-23 Sprn Licensing Srl Systems and methods for managing user information over a network
US20070192294A1 (en) * 2005-09-14 2007-08-16 Jorey Ramer Mobile comparison shopping
US20080140577A1 (en) * 2006-12-07 2008-06-12 Shahriar Rahman search and comparison shopping engine
US20080270398A1 (en) * 2007-04-30 2008-10-30 Landau Matthew J Product affinity engine and method
US20090019488A1 (en) * 2007-07-10 2009-01-15 Verizon Data Services, Inc. System and method for providing personal content recommendations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665271B2 (en) 2013-01-30 2017-05-30 International Business Machines Corporation Adjusting values of a plurality of conditions
US10678414B2 (en) 2013-01-30 2020-06-09 International Business Machines Corporation Adjusting values of a plurality of conditions

Similar Documents

Publication Publication Date Title
US10304116B2 (en) System and method for targeting content based on filter activity
US20120005044A1 (en) System And Method To Provide A Table Of Products Based On Ranked User Specified Product Attributes
US8234183B2 (en) Behavioral data mining processes for generating pairwise item comparisons
US9141671B2 (en) System and method for presenting filter options to a user based on ongoing monitoring of filter selections
US8301623B2 (en) Probabilistic recommendation system
US7979462B2 (en) Head-to-head comparisons
US7680703B1 (en) Data mining system capable of generating pairwise comparisons of user-selectable items based on user event histories
US8326658B1 (en) Generation and contextual presentation of statistical data reflective of user selections from an electronic catalog
US8438052B1 (en) Automated selection of three of more items to recommend as a bundle
US20120158516A1 (en) System and method for context, community and user based determinatiion, targeting and display of relevant sales channel content
US8401924B1 (en) System for enabling electronic catalog users to create and share research data
US10423999B1 (en) Performing personalized category-based product sorting
US20160196593A1 (en) System and method for tracking filter activity and monitoring trends associated with said activity
US20150073931A1 (en) Feature selection for recommender systems
JP5303606B2 (en) ADVERTISING SYSTEM, ADVERTISING SYSTEM CONTROL METHOD, PROGRAM, AND INFORMATION STORAGE MEDIUM
CN109447713A (en) A kind of recommended method and device of knowledge based map
JP2007505422A (en) Catalog classification device for storing product information, system and method using the catalog classification device
US20100306198A1 (en) System and method for determining categories associated with searches of electronic catalogs and displaying category information with search results
US20100293234A1 (en) System and method for incorporating user input into filter-based navigation of an electronic catalog
US20130166406A1 (en) System and method for generating user recommendations
US8577754B1 (en) Identifying low utility item-to-item association mappings
JP5293970B2 (en) Product recommendation method and product recommendation system
WO2014144348A2 (en) Using entity repository to enhance advertisement display
JP6060800B2 (en) Information selection device, information selection method, and information selection program
Kagie et al. A graphical shopping interface based on product attributes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10778265

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10778265

Country of ref document: EP

Kind code of ref document: A1