System 10 also includes a business rules engine 20 which is configured to run a selected business rule against at least portions of the business data in database(s) 105 to identify one or more target offerings 22 of products or services. The business rule can be selected by a user from a set of business rules 21. An offering is defined as any item or service that is offered by the business. After running the selected business rule(s) against the business data, business rules engine 20 then provides information related to the identified target offering candidates at its output. This information can be provided (e.g., via a display device) directly to a user in some embodiments. However, in other embodiments such as the one described below with reference to
In operation, business rules engine 20 mines data from the one or more databases 105 for information which is useful in identifying products or services that should be targeted as offerings in the online advertising campaign. Useful data in this regard can be, for example, based on past sales and other data like Standard Industrial Classification (SIC) codes to determine the right broad parameters to use while targeting various online advertising (search) engines. Past data can be actual sales data or ROI data from past advertising campaigns. The heuristics implemented by business rules engine 20 can also propose new campaigns based on declining effectiveness of past campaigns (like suggesting that local advertising be used if sales across channels is largely local). As will be described below in greater detail with reference to
In various embodiments, business rules engine 20 is configured to run any of a number of various business rules and heuristics (collectively referred to as business rules 21) against data contained in the business database 105 (e.g., data from a business application) to determine the right targets for online advertising. Some examples of these rules include: profit margin maximization rules; inventory management rules such as inventory level minimization rules, excessive inventory reduction rules, or inventory seasonality/perishability rules; sales trend analyzing rules; and past online advertising and marketing campaign analysis rules such as rules which analyze past ROIs of previous campaigns.
For example, the profit margin maximizing rule can determine the offerings that generate the maximum profit for the business. Then, based or target thresholds which can be set by the user or which can be preset into the system, these rules determine all of the offerings that could be targets for online advertising and marketing. The profit margin thresholds can be specified on an absolute or percentage basis.
Also for example, the inventory level minimizing rules or excess inventory reduction rules can be used to determine offerings that have higher than desired inventory. The online marketing campaign can then be designed to reduce excessive inventory. Sales trend analysis rules can be used to identify decreasing sales trends, and then the campaign can be designed to increase sales to change the direction of the trend. Sales trend analysis rules can also be used to identify increasing sales trends if desired.
As a further example, the business rules which analyze ROI of past campaigns can be used to identify campaigns that are effective, and to optimize the current ad campaign around these prior campaigns. This allows businesses to reduce investments in campaigns that are not working and to re-target these to new campaigns.
In yet another example, the business rules which manage inventory seasonality/perishability can be used to determine targets based on the seasonality (e.g., summer garments at the end of summer which should be sold by the end of the season before demand stops or drops off sharply) or perishability (e.g., products with high rates of price decay) of inventory. In other words, these business rules can be used to identify the seasonal or perishable product offerings, and to focus the advertising campaign on these offerings. Also, target offerings can be determined based on pricing strength or weakness.
The use of these business rules and heuristics to determine the offerings 22 that are targeted for online advertising or marketing reduces the guesswork which is often used in making such business decisions. Once one or more of these rules have been run on the inventory offerings, the list of target offering candidates form a result set that can then be run through statistical, linguistic and other analysis to come up with keywords and keyword phrases as described further with reference to
In system 100, business rules engine 20 functions as described with reference to
System 100 includes a statistical analysis engine 110 which is configured or programmed to perform the statistical analysis on the business data to determine keywords 111. For example, the statistical analysis engine 110 can be configured to determine keywords 111 by identifying words in database(s) 105 having highest occurrence frequencies in the business data. In some embodiments, the keywords 111 identified by engine 110 can be provided to a GUI component 115 for displaying to a user as keyword suggestions. The user can then approve, modify or reject the keyword suggestions.
In exemplary embodiments, while the keyword suggestions are based upon the keywords identified by the statistical analysis engine, the actual keyword suggestions are generated in the form of keywords or keyword phrases by a linguistic analysis engine 120. A keyword phrase is defined here as a combination of at least two keywords. Linguistic analysis engine is configured or programmed to perform linguistic analysis on the keywords 111 determined by the statistical analysis engine 110 in order to identify one or more keywords or keyword phrases 121. The linguistic analysis engine utilizes past searching behavior, e.g., in the form of prior search data 122 (e.g., prior search logs) from search engines, in the process of identifying the alternate keywords or keyword phrases. The GUI component 115 can then display the keyword phrases as the keyword suggestions.
In various embodiments, linguistic analysis engine 120 uses various types of linguistic analysis in the identification of keyword phrases 121. For example, in some embodiments, engine 120 eliminates keywords 111 which are determined to have a low likelihood of being relevant to offerings to be targeted. The relevance can be determined using conventional linguistic techniques and prior search data 122 indicative of previous search behavior.
Also, in some embodiments, system 100 includes a thesaurus or synonym database 125 and/or a dictionary database 130 which are used by the linguistic analysis engine 120. In these embodiments, the linguistics engine 120 can be configured to use one or both of the databases 125 and 130 to identify other words which are similar to the keywords determined by the statistical analysis, but more commonly used by consumers. For example, for the keyword 111 of “shoes”, using database 125 and/or database 130, linguistic analysis engine 120 might offer keywords or keyword phrases 121 such as “slippers”, “boots”, “hiking boots”, “running shoes”, etc. Determination of how likely these similar keywords or keyword phrases are used by consumers can be determined using prior search data 122. These other words can then be provided in keyword phrases 121. As a more specific example, if the original keyword 111 was “shoes”, and linguistic analysis engine identifies “boots” and “sandals” as alternative keywords, an analysis of consumer use of these terms is conducted. If, based on prior search data 122 or on other criteria, linguistic analysis engine 120 determines that consumers are searching on “boots” more often than on “sandals”, the keyword “boots” will be pushed up in the rankings of recommended keywords relative to the keyword “sandals”.
Linguistic analysis engine 120 is also configured, in some embodiments, to apply a variety of linguistic rules in determining keywords or keyword phrases 121. For example, engine 120 can apply rules based on parts of speech of keywords or keyword phrases, collocation rules for multiple words of a keyword phrase, occurrence frequency statistics for keywords or keyword phrases, etc.
In some embodiments, system 100 includes a basket analysis component 113 (e.g., a module or engine). Basket analysis component 113 performs an analysis on the business data in database(s) 105 and/or on the prior search data 122, based on the keywords or keyword phrases (e.g., 111/121), to recommend other keywords or keyword phrases. The basket analysis can identify other product offerings which online shoppers purchased when clicking on the business' link following a search using the keywords or keyword phrases. For example, if the keyword “bicycle” is being recommended by system 100, basket analysis component 113 can identify, from past search data and/or from business data, that previously people who clicked on the business' link using that keyword in their search actually purchased bicycle jerseys, bicycle helmets, etc. After such a basket analysis, component 113 suggests other keywords or keyword phrases to target these other purchased offerings.
In some embodiments, system 100 includes an advertising portal communication component 140 which is used to communicate with advertising portals 185 of online advertising systems 180. These online advertising systems offer the search engines which consumers use to conduct online searches. In
In some embodiments, system 100 includes a cost analysis engine 160 which uses communication component 140 to communicate with multiple online advertising systems 180 in order to determine costs keyword phrases at each system. Cost analysis engine 160 can then use market share/search share metrics 161 to identify one or more of the most effective online marketing engines (online advertisement systems 180) for the keyword phrase. The advertising campaign can then target the identified marketing engines which are most effective. The targeted marketing engine suggestions, as well as keyword phrase suggestions, are then provided to a user via GUI component 115, and/or sent to the relevant online systems 180 to initiate purchase of keyword phrases.
In some embodiments, system 100 includes a evaluation engine 150 which uses communication component 140 to query bid costs from one or more online advertisement systems 180. Engine 150 then analyzes bid cost and position within listing or rank for each of multiple candidate keyword phrases to determine optimal bid-to-position tradeoffs. The optimal bid-to-position tradeoffs are then compared for each candidate keyword phrase to identify least expensive keywords for a particular position within listing or rank. These aspects of evaluation engine 150 are described further below in accordance with example embodiments.
As noted above, system 100 can also make keyword phrase suggestions based on previous search data, advertising engine data, and/or other aggregate data 132. This data can be used to expand the range of keywords. Examples of other such aggregate data include data indicative of: (1) people who searched for X (product or service) also searched for Y (e.g., a form of basket analysis); (2) the number of searches performed for given keywords or keyword phrases; (3) the number of listings for a given keyword or keyword phrase. Other search data can be used as well by linguistic analysis engine 120 or by other components of system 100 to both expand the keywords and to determine the most effective keywords.
In some embodiments, system 100 is configured to utilize the concept of a search tail to identify keyword phrases that might be cheaper than broader terms, yet just as likely to be searched on. For example, evaluation engine 150 and/or cost analysis engine 160 can be configured to provide such functionality. Generally, broad keywords such as “lawyer” or “bicycle” tend to cost more than narrower keyword phrases. Yet, consumers searching for a specific item to buy tend to use more specific keyword combinations or phrases. For example, someone involved in an automobile accident may be more likely to search using the keyword phrase “auto accident lawyer” than they are to search using the broader keyword “lawyer”. Since the narrower keyword phrase is also frequently less expensive, system 100 capitalizes on this fact and targets the search tail of a search power curve.
Referring to
In some disclosed embodiments, system 100 in configured, for example via configuration of either of engines 150 and 160, to analyze the search tail 189 for words related to an identified target offering. The words can be synonyms related to the target offering, multiple word phrases related to the target offering, etc. System 100 identifies keywords or keyword phrases which have a reduction in cost relative to most expensive keywords (e.g., keyword corresponding to 187) which outpaces the reduction in clicks or CTR relative to the most expensive keywords. For example, consider the case where a target offering is a type of shoes. Using a power curve or chart 186, or a function describing the power curve or chart, system 100 might identify that keyword “shoes” receives twice as many clicks in response to search engine queries as the keyword “boots”, but that the cost of purchasing the keyword “shoes” is four times higher than the cost of purchasing the keyword “boots”. In another example, the cost of purchasing the keyword “shoes” might be eight times higher than the cost of purchasing keyword phrases such as “running shoes” or “hiking boots”, with these phrases or keywords having been identified or generated by linguistic analysis engine 120 in response to the keywords generated by statistical analysis engine 110.
System 100 analyzes the power curve 186, and particularly the search tail 189, to identify these more cost effective words or phrases, and recommends them to the user. With the reduction in cost of purchasing some keywords or keyword phrases, additional keywords or keyword phrases can be purchased for the same advertising budget as would have been required to purchase the more expensive keywords 111. In addition to reducing the cost of purchasing keywords, as has been noted the use of the less expensive keyword phrases is often in accordance with users actual search habits—e.g., searching using phrases instead of individual keywords. This can in turn result in a more effective search, for much less cost. Further, in some instances, users searching under more specific keyword phrases (e.g., “Trek mountain bikes”) are more likely to ultimately purchase items than are those who conduct more general searches (e.g., “bicycle”). This further aids in the marketing optimization process.
As a more particular example of one embodiment of the process of identifying keywords, consider that for a targeted offering such as bicycles, the corpus of business data 105 is used to identify keywords via a statistical analysis. For sake of illustration, assume that the targeted offering was based on the largest numbers of inventory items, for example 100 bicycles, and “trail bikes” and “mountain bikes” were the most common classifying words used to describe this portion of the inventory. The statistical analysis might find that the terms “bicycle”, “mountain” and “trail” would be the most common (in terms of frequency) terms.
Using these keyword candidates 111 based on frequency in the corpus, the linguistic analysis on those terms is used to identify terms that better describe the inventory. This linguistic analysis can be conducted using database 125 and/or database 130, as well as prior search data 122 indicative of consumer search behavior. For this example, where the statistical analysis might have ended up with the terms “bicycle”, “mountain” and “trail”, the logical combinations based on linguistic analysis might be “trail bicycles” and “mountain bicycles”, as they better describe the bicycle. As can be determined using the above described techniques, engines such as cost analysis engine 160 can identify (for example using the search keyword power curve or chart 186 to target tail 189) whether these keyword phrases are less expensive than the broader, but sometimes less (or no more) effective keywords such as “bicycle”. Some disclosed embodiments take advantage of this inversion between the most expensive words, and the actual search phrases used by searchers. Even in the broader keywords are more effective, system 100 takes advantage of the fact that the pricing for the broadest keywords is often disproportionately higher than the pricing of keywords or keyword phrases in the search tail, relative to the proportional effectiveness of the keywords.
Referring now to
Generally speaking, the more an online merchant pays for particular keywords or keyword phrases, the higher the merchants link will appear in the ranked list of sponsored links. However, it has been found that users of search engines often don't click on the links at the top of the list, but rather they frequently click on links more toward the center of the list 195. Therefore, in many instances, the premium keyword prices paid in order to be at the top of the ranked list 195 are not justified.
As discussed above, evaluation engine 150 queries bid costs from one or more online advertisement systems 180. Engine 150 then analyzes bid cost and position within listing or rank for each of multiple candidate keyword phrases to determine optimal bid-to-position tradeoffs. The optimal bid-to-position tradeoffs are then compared for each candidate keyword phrase to identify least expensive keywords for a particular position within listing or rank. In identifying or determining bid optimization, the merchant's historical online marketing or sales data 151 is used to determine if there has been, for this particular user, a proportional increase in clicks or CTR for increases in bids (placing the merchant's sponsored link higher in list 195). For example, the past marketing data, which can be obtained from business accounting systems or other business applications or systems 152, can identify whether the twenty-five percent increase in keyword costs purchased in a past month resulted in a proportionately increased number of clicks or CTR. Engine 150 can then optimize the keyword bid process. If proportionally higher CTRs or higher numbers of clicks are achieved through a higher bid (cost) for keywords or keyword phrases, then engine 150 can recommend such higher bids as recommended course of action. If not, then engine 150 recommends, in some embodiments, lower bids which would secure placement of the merchant's link in list 195, but not at the top of the list. For example, if engine 150 determines that the difference in costs (costs provided by online ad systems 180) between the first bid for the keyword or keyword phrase and the fifth bid for the same keyword or keyword phrase is sixty percent lower, but the click through between the two positions is less than sixty percent, engine 150 can select the fifth bid position of sponsored links to recommend to the merchant.
Referring now to
Referring now to
Referring to
Referring next to
Referring next to
Referring now to
Referring next to
Referring now to
Referring now to
Referring now to
An advanced options input button 538 is also provided on screen 530. Selection of advance options input button 538 results in an advanced options dialog box 540 being displayed as shown in
Referring now to
In addition to the examples herein provided, other well known computing systems, environments, and/or configurations may be suitable for use with concepts herein described. Such systems include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The concepts herein described may be embodied in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Those skilled in the art can implement the description and/or figures herein as computer-executable instructions, which can be embodied on any form of computer readable media discussed below.
The concepts herein described may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both locale and remote computer storage media including memory storage devices.
With reference to
Computer 610 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 610 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 600.
The system memory 630 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 631 and random access memory (RAM) 632. A basic input/output system 633 (BIOS), containing the basic routines that help to transfer information between elements within computer 610, such as during start-up, is typically stored in ROM 631. RAM 632 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 620. By way o example, and not limitation,
The computer 610 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 610 through input devices such as a keyboard 662, a microphone 663, and a pointing device 661, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a scanner or the like. These and other input devices are often connected to the processing unit 620 through a user input interface 660 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port or a universal serial bus (USB). A monitor 691 or other type of display device is also connected to the system bus 621 via an interface, such as a video interface 690.
The computer 610 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 680. The remote computer 680 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 610. The logical connections depicted in
When used in a LAN networking environment, the computer 610 is connected to the LAN 671 through a network interface or adapter 670. When used in a WAN networking environment, the computer 610 typically includes a modem 672 or other means for establishing communications over the WAN 673, such as the Internet. The modem 672, which may be internal or external, may be connected to the system bus 621 via the user-input interface 660, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 610, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
It should be noted that the concepts herein described can be carried out on a computer system such as that described with respect to
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.