CUSTOMER LEAD MANAGEMENT SYSTEM

Abstract: An automated system for accepting, prioritizing, and routing customer leads. (fig 1, item 105). The system allows tracking of the routing and ultimate outcome of any lead, thereby providing a way or reporting various performance measurements. The invention can feature a hierarchical delegation approach in which users specify rules according to which leads routed to them are processed, for example, by routing the lead to other users. The invention can also feature a distributed architecture in which several servers are coupled, for example, over the Internet (fig 2, items 210, 270). Leads are provided from one server to another, and feedback regarding the disposition of the lead is provided in return.

Description: CUSTOMER LEAD MANAGEMENT SYSTEM Background This invention relates to a system for processing customer leads. Today, lead management is largely a paper-based manual process in which customer leads are received as a result of various types of marketing activities, and distributed to particular sales organizations For example, names and other information about customer leads may be obtained at a trade show A subset of these leads may then be selected and passed to sales groups based on the geographic region of the lead, the product or service involved, or other lead-related criteria In general, there is little or no automated feedback regarding the outcome of the lead, such as whether a sale actually occurred or if the lead was not properly routed As the number of "touch points" with customers increases, leads become available from more sources and their coordination becomes more complicated Furthermore, multiple functional areas within or related to an organization often pursue leads without necessarily being aware of the others' activities For example, various sales and marketing groups within a company may be pursuing overlapping sets of leads When sales are made though associated companies, such as distributors and channel partners, coordinating and tracking leads becomes even more complicated. When a company uses multiple concurrent marketing campaigns, it is often difficult to track separately the outcomes of leads generated by each of the campaigns If the outcomes of leads are not associated with particular campaigns, it is difficult to success the utility of individual campaigns. Summary In a general aspect, the invention provides an automated system for accepting, prioritizing, and routing customer leads. The system allows tracking of the routing and ultimate outcome of any lead, thereby providing a way or reporting vaπous performance measurements. The invention can feature a hierarchical delegation approach in which users specify rules according to which leads routed to them are processed, for example, by routing the lead to other users. The invention can also feature a distributed architecture m which several servers are coupled, for example, over the Internet. Leads are provided from one server to another, and feedback regarding the disposition of the lead is provided in return. In one aspect, in general, the invention is a method for processing customer leads. The method includes configuring a lead processing system and routing leads through the system. Configuring the lead processing system includes accepting a specification of a number of users of the system and accepting specifications of a number of rules that includes a set of global rules and, for at least some of the users of the system, distinct sets of rules associated with each of said users. Routing leads through the system includes accepting a first lead at the lead processing system, including accepting values for each of a number of data fields associated with said lead and automatically applying one or more of the set of global rules to said lead, including applying a routing rule to said lead such that a first user is selected to receive said lead using the values of the data fields associated with said lead. Routing leads through the system also includes automatically applying one of more of a first set of rules which are associated with the selected first user to the first lead, including applying a routing rule to said lead such that a second user is selected to receive said lead, and notifying the selected second user of said lead, including providing values of one or more of the data fields. The method can include one or more of the following features. Routing the leads through the system further includes receiving a response from the second user related to the disposition of said lead, such as receiving an acceptance of said lead. Notifying the second user of said lead includes withholding values of one or more data fields associated with said lead from the second user, and routing the leads further includes, after receiving the acceptance of said lead, providing said withheld values. Receiving a response from the second user includes receiving a rejection of said lead, and routing the leads through the system further includes automatically re-routing said lead to another of the users of the system. Routing the leads through the system further includes, after expiration of a time interval after notifying the second user of said lead during which neither an acceptance nor a rejection of said lead was received from the second user, automatically re-routing said lead to another of said users. Routing leads through the system further includes routing each of a series of leads through the system resulting in different users being notified of different of the leads. Accepting the specifications of the rules includes accepting a specification of the set of global rules from an administrator of the system and accepting a specification of a set of rules associated with a first user from said first user who is different than the administrator of the system, whereby configuring the system is decentralized. Accepting the lead includes accepting an electronic communication initiated by a potential customer, wherein the electronic communication includes at least some of the values of data fields associated with the lead. Accepting the electronic communication includes accepting an electronic mail message. Routing the first lead further includes applying a prioritization rule including deriving a priority value for the lead from values of one or more data fields associated with said lead. Deriving the priority value can include computing a weighted combination of the values of the one or more data fields, or matching the values of the one or more data fields with a record in a data value and retrieving the priority value from said record. Routing the leads further includes augmenting the lead including identifying information related to the lead. Identifying information related to the lead includes accessing information about a company related to the lead, providing product information related to the lead, or providing sales material related to the lead. In another aspect, in general, the invention is software stored on a computer readable medium for causing a computer system to process customer leads according to the method summarized above. In another aspect, in general, the invention is a system for routing leads. The system includes a storage for a number of rules that include distinct sets of rules associated with different users of the system, and a storage for records each associated with a different leads being processed by the system. The system also includes a rules engine for applying the rules to the leads and for routing the leads to users according to those rules, such that rules in each distinct set of rules are applied only to leads that are routed to the user associate with said set of rules. In another aspect, in general, the invention is a system for processing customer leads. The system includes a first server, which includes a storage for a first set of rules, a storage for a first set of leads being processed by the system, an engine for applying the rules to the leads and for routing the leads to users according to said rules, and a communication interface for communicating with other servers. The system also includes a second server, which includes a storage for a set of leads. A communication channel is coupled to the communication interface at the first server and to the second server for routing leads from the first server to the second server and for passing status information for said leads from the second server to the first server. The second server can further include a storage for a second set of rules and an engine for applying the second set of rules to leads received from the first server and for routing said leads to users according to said rules. In another aspect, in general, the invention is a method for processing customer leads. The method includes configuring a lead processing system, including configuring a first server by accepting a first set of rules for routing leads at the first server. The method then includes routing leads through the system. Routing the leads includes accepting a first lead at the first server, including accepting values for each of a number of data fields associated with said lead, and automatically applying one or more of the set of rules to said lead. Automatically applying these rules including applying a routing rule to said lead such that a second server is selected to receive said lead using the values of the data fields associated with said lead. Values of the data fields associated with said lead to the second server are then transmitted to the second server. At the second server the lead is routed to a user and the user is notified of said lead. The method can includes one or more of the following features: Transmitting values of the data fields associated with said lead to the second server includes withholding some of the value of data fields associated with said lead from the second server. Transmitting values of the data fields associated with said lead to the second server includes formatting said values according to an XML based protocol. Configuring the lead processing system further includes configuring the second server by accepting a second set of rules for routing leads at the second server, and routing the lead at the second server includes applying said second set of rules to select the user to whom the lead is routed. The invention has one or more of the following advantages. Leads are routed to users such as sales representative and resellers quickly thereby increase the likelihood of making sales based on those leads and increasing the effectiveness or marketing campaigns. Providing feedback regarding the processing of a lead allows tracking and, if necessary, re-routing of the lead that is not being handled effectively. Feedback regarding the effectiveness of particular rules allows optimization of those rules. For example, if certain types of leads are consistently rejected by a user to whom they are routed, a rule can be modified to avoid routing those types of leads to that user. Providing a mechanism for automatically linking associated information with a lead, such as company information or marketing material, enables the user who receives the lead to more effectively make use of the lead. The hierarchical delegation of rule specification allows users to more precisely tailor the rule for their particular circumstances, rather than relying only on a centralized administration approach. Coupling of multiple servers allows different servers to be administered by different organizations, such as a vendor and multiple resellers. When leads are passed from one server to another, a configurable amount of feedback provides desirable security and privacy to the organizations which maintaining efficient processing of the leads. By maintaining the leads on multiple servers administered by different organizations, each organization can make use of its own leads database, while maintaining a degree of sharing of information between the organizations. Servers to which leads are routed do not necessarily have to use the same type of rules-based approach as the first server that receives the lead if a standardized protocol, such as one based on an XML specification of leads, is used to communicate between the servers. In this way, the secondary servers to which leads are routed can be based on other software tools for managing customer information. Other features and advantages are apparent from the following description and from the claims. Description of Drawings FIG. 1 is block diagram of load management system; FIG. 2 is a diagram that shows the interconnection of computers used to implement the lead management system over the Internet; FIG. 3 is a block diagram showing logical modules of a lead management server; FIG. 4 is a flowchart illustrating routing of a lead; FIG. 5 is a diagram that illustrates a set of lead boxes coupled to user interfaces and to a rules engine; and FIG. 6 is a diagram that illustrates an example handling of leads through the system. Description Referring to FIG. 1, a lead management system implemented according to this invention includes a lead management server 100 that accepts leads 162 from one or more lead sources 160, and routes those leads to particular users of the system through user interfaces 110. Lead sources 160 include email, Web forms, telephone call centers, business card or badge scanners at trade shows, providers of commercial mailing lists, and business software applications. In this embodiment, leads 162 refer to "customer" leads that relate to potential purchases by those customers of products or services offered by a commercial organization that makes use of the lead management system. The users of the system are typically sales representatives, or managers of organizations that include sales representatives. The organization makes use of the lead management system to direct the leads to appropriate users, such as sales representatives, who interact with the potential customers for the purpose of actually selling the products or services. Although the description that follows refers to , - o - such customer leads, in alternative embodiments, rather than leads for customer purchases, other types of records or requests are routed to appropriate individuals using a similar type of system. Lead management server 100 routes a lead 162 to a particular user based on an internal configuration, which includes rules for handling leads with different attributes and preferences for particular users. In this embodiment, the lead management server is configured in combination of a centralized and a decentralized manner. That is, an administrator of the server sets a global configuration such as global rules using administration interface 105, while individual users set individual configurations such as rules to apply to leads routed to them using user interfaces 110. The global configuration typically handles a first level of routing of leads to particular users. When a lead is routed to a particular user, the configuration provided by that user generally determines how the lead is further handled. For instance, in the case that the user is a sales representative, the user may have specified a preferred method of being notified of a new lead, for example notification by email or by pager. Some users may also have configured the lead management system to automatically route some or all leads sent to them to other users. For example, a sales manager may configure his lead box to automatically route leads to particular sales representations based on the geographic region of the lead. When a lead is sent to a user, the user must in generally provide feedback to the lead management system indicating that the lead is accepted, that it is rejected, or that it should be forwarded to another user. Various approaches are used to encourage a user to provide this feedback. For example, some information related to the lead may be withheld until the user provides feedback that indicates that the user is accepting the lead. The status of each lead is tracked by lead management server 100 and this status can be accessed by the users of the system. In addition to routing leads when they arrive, lead management server 100 is configurable to re-route leads after they have been routed to a particular user. For example, the server can periodically re-route leads that have been sent to particular users but have not yet been accepted or rejected. Also, the lead management server is configurable to adaptively modify its routing of leads based, for example, one the number of outstanding leads assigned to a particular user, or based on a statistical criterion, such as the responsiveness of a particular user or their success in obtaining actual sales from leads that have been assigned to them. In one alternative configuration for routing leads, lead management server 100 assigns a lead to a class of users, and then chooses a particular user in that class in a round robin manner such that successive leads assigned to the class are routed to different users. In another configuration, leads are routed to multiple users, or multiple secondary servers (e.g., corresponding to multiple resellers), in an "up for grabs" mode. In this configuration, although multiple users are initially assigned a lead, only the first to accept the lead keeps it. The others then receive notifications that the lead is no longer available. Lead management server maintains a history of activity related to a lead, and in particular maintains a history of the rules applied to a lead, the sequence of users to whom the lead has been routed, and changes of state of a lead. This history is used to "progressively close the loop" by associating the progress of a lead, for example its generation of an actual sale, with its history. This allows sales to be associated with particular marketing activities. In addition, the history is used to optimize the rules by determining the effectiveness of routing leads with particular attributes to particular users. Also, in alternative embodiments, the history is used to determine statistics that are used to affect further lead routing. A user that has accepted a lead may update the status of the lead as he or she interacts with the lead. In some instances, a lead does not result in a sale, but the user indicates that the lead should be reactivated after an "incubation" period. After the lead is later reactivated, it is re-routed in the same manner as a new lead entering the system. Referring still to FIG. 1, lead management server 100 is also optionally coupled to one or more secondary lead management servers 150. These servers are similar to lead management server 100, and optionally may be restricted to received leads only from the lead management server, and not directly from other lead sources. The secondary servers communicate with the lead management server according to a standardized protocol, in this embodiment based on XML specifications of leads. In some embodiments, the secondary servers are implemented using the same structure as the lead management server. In other alternative embodiments, the secondary servers use different structures, for example by providing an interface that couples another information management system to the lead management server according to the standardized protocol. After the lead is routed to the secondary server, it is partially replicated in the lead storage of both servers, although the fields of the two stored leads may not be identical, since lead management server 100 may withhold some details regarding the lead from secondary server 150. The lead management server updates the lead based on feedback from the secondary server when it updates its copy of the lead, for example when the lead is assigned to a user. An exemplary application of the lead management system has a vendor operating lead management server 100 and resellers operating secondary lead management servers 150. The vendor has users 100, such as direct sales representatives, who receive leads directly from lead management server 100. Some leads are sent to a reseller by transferring lead information to the secondary server. The secondary server may provide some feedback information regarding the status of the lead to the lead management server 100. However, for example for competitive business reasons, some information such as the identity of a particular user assigned a lead by secondary lead management server 150 or contact information related to the lead may be kept private to the secondary system. Leads may also be routed to users by lead management server 100 through other information systems 130. For example, lead management server 100 can route leads to a opportunity management tool provided by Siebel Systems Inc., or to contact management software such a Microsoft Outlook or Act!, or to applications based on Lotus Notes. Lead management system 100 is also coupled to a secondary information source 120. This information source is used to augment the information associated with a lead 162 that it receives from lead source 160. For example, Dun and Bradstreet company information, product literature, or sales tools may be associated with a lead and routed to a user along with the lead. Referring still to FIG. 1, a user interacts with lead management server 100 though a user interface 110, which may include a computer, a pager, or a telephone. In general, a user provides configuration 112 to the server, for example specifying rules for routing leads provided to that user, and configuring the method for notifying that user when leads are available. The user receives notifications and leads 114 from the server, and in return provides explicit acceptances 116 for the leads back to the server. Referring to FIG. 2, the lead management system is implemented using a number of computers coupled to one another through Internet 210. In alternative embodiments, other communication interconnections are also feasible, for example, relying on dedicated or "dial- up" connections between computers. Lead management server 100 is implemented on a lead management server computer 200 that is coupled to Internet 210. Lead management server computer 200 executes a number of software processes. In particular, server computer 200 executes a Web client 211 for accessing other computers over Internet 210 using the http (hyper-text transport protocol) application protocol, a Web server 202 for providing other computer access to it over Internet 210 using the http protocol, and a mail interface 203 for accessing users at other computers using electronic mail that is transferred over the Internet. In addition, lead management server computer 200 is coupled to batch input/output devices 204, for example magnetic tape drives, that are used to import or export data from the server computer. The lead management server computer is optionally coupled to other systems over other communication links 205, for example over dedicate data connections. Each user typically interacts with the system using a user computer 210. For instance, user computer 210 executes a mail interface 212 that accepts messages from mail interface 203 at lead management server computer 200 and that is used to send messages back to the lead management server computer. User computer 210 also includes a Web browser 211 for accessing Web server 202 at lead management server computer 200. In some embodiments, user computer 210 may include only a mail interface or a Web browser, rather than both. In other embodiments, client computer 210 is coupled to lead management server computer 200 in any of a number of well-known techniques, for example using a dedicated client application which executes on the client computer and which communicates with a server application at the lead management server computer. In this embodiment, the system can be configured to notify users using a wireless paging system. In this case, lead management server computer 200 sends a electronic mail message tlirough its mail interface 203 to a pager server 218 over the Internet, and the pager server sends a wireless message to the user's pager 215. As outlined above, lead management server computer 200 can optionally communicate with other lead management systems 230 over the Internet, for example to route leads to those systems, or to accept leads from those systems. Lead management server computer 200 can also communicate with secondary lead management server computers 250 over the Internet, for instance using the http protocol, for the purpose of passing leads to the secondary servers and for receiving feedback regarding the status of leads that it previously passed. Referring to FIG. 3, lead management server 100 logically has several modules which are implemented using physical storage devices, or as processes executing on a computer processor according to a program stored on program storage 305 which includes a computer readable medium such as a magnetic or optical disk. These modules together provide the functionality to accept, store, and route leads to users of the system. Operation of the system is described below with reference to the structure shown in FIG. 3 and the flowchart shown in FIG. 4. Referring to FIG. 4, in a first step (step 410) a lead import module 310 (FIG. 3) accepts one or more leads 162. As introduced above, leads 162 originate from one of a number of lead sources 160. In this embodiment, these leads 162 are one of a variety of types including: • Direct input from potential customers through email or by input on a Web form, for example using a dealer or reseller locator function on a web site; • Input by a telephone operator at a telephone call center (the calls may be from potential customers or may be outbound telemarketing calls); • Input from sales representatives who have had direct contact with potential customers; • Input from channel partners who distribute products to potential customers; • Input of lists of potential customers, such as purchased mailing lists, lists of potential customers resulting from particular marketing campaigns (e.g., direct mailing), customer lists from cooperative marketing agreements with other companies, or scanning of business cards at trade shows; or • Inputs from other software applications such as those that that handle customer or contact lists. Alternative embodiments do not necessarily support each of these types of leads, and may in addition support leads from yet other sources. Lead import module 310 performs initial processing functions to input the lead into the system. This initial processing creates a data record associated with the lead in which a variety of data fields which characterize the lead are set with values based on the inputted lead 162. These fields include a name of a contact person associated with the lead, a name of the account (e.g., a company name), the time the lead was generated, and various fields related to the nature of the customer's interest (e.g., which product, size of opportunity, timeframe for purchase, etc.), and the qualification of the lead. Next, leads are processed in a data cleansing and enhancement step 420 by a data cleansing and enhancement module 320 (FIG. 3). The system is configurable to perform any of a number of operations on an inputted lead. The name of the account or contact can be matched against a customer database 322 that contains names from previous leads or known customers. This matching then provides additional information related to the lead, such as contact information or information about the customer's past purchases or inquiries. Optional operations include modifying a business name, city, or zip code to be in a standard (canonical) form and validating telephone numbers and street addresses using telephone directory information. In addition, in this step, additional information related to the lead is optionally added to the lead from secondary information sources 120. For example company information from a secondary information source such as Dun and Bradstreet is added to the lead. Data cleansing and enhancing step can optionally include a step that attempts to remove duplication of leads in the system. This step does not necessarily require an exact match of a contact's name, for example, to allow some variations in data entry of a name. If a new lead is found to match a lead that is already being handled by the system, the new information is merged with the existing lead rather than a new lead being created and routed through the system. Next, the inputted leads are optionally pre-qualified and screened (step 430). This step is carried out, for example, if the data initially provided with the lead is not adequate to determine a level of interest or timeframe in which a purchase is planned. In one implementation of pre-qualification and screening step 430, an outbound telemarketing . . approach is used to contact the potential customers identified in the leads and establish a level of interest, opportunity size, and buying authority and to fill additional data fields related to the lead, such as competitive products under evaluation by the potential customer. Referring to FIG. 3, the lead is then stored in lead storage 340 and the lead is processed by the lead management system using rules engine 330. Lead storage 340 is logically implemented as an object database, which is then implemented using relational database techniques. Rules engine 330 is also coupled to a rules and profile storage 350 that hold rules specified by an administrator to the system as a whole, or by users for leads that are delivered to them. Rules engine 330 makes use of the rules in rules and profile storage 350 to modify the leads in lead storage 340, thereby logically routing the lead to particular users. Referring to FIG. 4, in a typical configuration of the system, leads are first prioritized (step 440) and then assigned to users (step 450) using rules engine 330. In a notification and delivery step 460, a user is informed that a lead has been routed to him using a notification, delivery, and tracking module 370. The notification, delivery, and tracking module accepts responses from the user, such as acceptances, rejections, and rerouting of the leads provided to the user. Based on the rules that configure the system, particular leads may be routed to a succession of users. For example, after a lead is assigned to a user (step 450), the sequence of prioritization (step 440) and assigning to another user (step 450) may be repeated. Also, after a user is notified of a lead (step 460) if that user does not accept the lead or actively rejects the lead, the lead may be automatically re-assigned to another user. As a user handles a lead, for instance, succeeds in making a sale, or determines that the lead is "cold," the user provides tacking information to the system (step 470). The system records that information with the lead and uses the information in preparing reports related to the effectiveness of various aspects of the lead distribution and sales process. The system is optionally coupled to an order management system such that when a user makes a sale, the order information is provided to the lead management system to automatically associate the sale with the lead that led to the sale. As part of lead delivery (step 460), or alternatively during routing of the lead prior to delivery, information related to a lead is linked to the lead to enhance it. For instance, information related to product promotions, product literature or multimedia presentations, order forms, or purchase rebate forms that are related to the customer's interest is linked to the lead. Leads are delivered to users in a variety of way, including by email, fax, pager, or over Web-based interfaces. The system also is configurable to export the leads into other software systems through standard application programming interfaces (APIs), such as into _ _ information management systems made by Siebel, Microsoft (Outlook), IBM (Lotus Notes), Aurum, or Vantive. In an optional mode of lead delivery (step 460), some information about the lead that is necessary for a user to pursue the lead is withheld until the user actually accepts the lead. This provides an incentive to the user to actively accept the lead, and also avoids conflicts if the lead is subsequently re-assigned to another user. In another optional mode of lead delivery, various limits on the numbers of leads different users can have outstanding are applied. Alternatively, the rules engine applies these limits while routing the leads before delivery. A lead box capacity is settable by an administrator of the system. Overflow is handled in one of a variety of alternative ways, including marking leads as being "overflows" but still routing them to the overfull lead box, re-routing the leads to users identified to handle overflow for the overfull lead box, or rerouting the lead by applying additional rules with the rules engine. In embodiments in which rules engine 330 is configured to route leads to a secondary lead management system, such leads are passed to a server-server lead module 380 which provides the lead information to the secondary server, and accept notifications regarding routing and changes of state of the lead from the secondary system. The lead information provided to the secondary system is not necessary complete. For example, if the secondary system is maintained by a reseller, certain private information may not be provided to the reseller. Referring to FIG. 5, in configurations of the system that make use of a hierarchical arrangement of users, for example, regional sales managers and individual sales representative, the leads stored in lead storage 340 (FIG. 3) logically flow through a succession of lead boxes, which are somewhat analogous to mail boxes. Initially, a lead is placed in a system lead box 510, and as it is routed to the final user, the lead may pass through a succession of user lead boxes 520. Each lead box is associated with configuration data, which includes rules to apply to leads that are routed to that lead box. As introduced above the lead management system is configured in large part using rules that are stored in rule and profile storage 350 and processed by rules engine 330 (FIG. 3). Although in alternative embodiments these rules can be centralized and maintained by a common administrator, in this embodiment, the system is configured to route leads through a succession of lead boxes and the rules are maintained in a delegated and decentralized manner such that rules that are applied to a lead box associated with a particular user are maintained by that user, possibly subject to constraints imposed on that user, for example, by that user's superior. _ _ Rules can be divided into several categories. These include prioritization rules, assignment rules, workflow rules, attachment rules, delivery/notification rules, and tracking rules. Prioritization rules help companies and representatives cull the hot leads from the cold leads. Assignment rules handle the routing of leads to users, such as to particular sales representatives. Workflow rules optimize the flow of leads throughout the system to help attain two goals: ensure rapid response to leads and maximize the closure rates on leads. Attachment rules let an administrators customize the system by selecting what material will be attached to a lead that is routed through the system. Delivery and notification rules are what the system uses to "go the last mile" to the sales representatives and territory managers. The system uses tracking rules to define the performance attributes that should be set. Each rule includes several components. These include its events, calculations, actions, scope, type and owner. Each rule also identifies its category (described above), its name, and includes an English description of the rule. A rule's event determines when the rule should be applied. Its calculations specify how to compute derived information from field values associated with a lead to which the rule is applied. A rule's actions specify what steps should be taken by each rule. The scope of a rule specifies how broadly the rule should be applied across the system. A rules owner specifies the user that can edit or delete the rule. As rules are applied to leads, the rules engine checks to see that the rule's action has not already been performed on a given lead. For instance, if it turns out that an object has already been attached to a lead, the system will not go ahead and attach another copy of the same file. If there are multiple rules that apply to the same field of a rule, for example two different rules try to set the score parameter, then the system uses the most local rule. A rule's calculation can make use of a specified lookup table to map from a value of a data field in a lead to a derived value for another data field. In other rules, the calculation specified that a derived value is to be computed by applying numerical weights to a values to a number of data fields. A prioritization rule assigns a numeric or categorical priority to a lead based on other attributes of the lead. Note that this prioritization may be different in different lead boxes. An assignment rule determines which next lead box the lead should be routed to, again based on the attributes associated with the lead. An attachment rule, which is also based on the particular attributes of a lead, determines what additional information should be attached to the lead prior to routing it further. For example, product specifications can be attached and delivered to a user with the lead. Note that the information attached to the lead may be provided to enable a user to better service a lead, rather than simply provide more information about the lead itself. An example of such information is documentation of a promotional program that could be used to encourage a customer to buy a product or service. Other examples include training presentations (e.g., video presentations) to better prepare the user for selling a particular product, order forms, or rebate information. These attachments may be provides as references to documents (e.g., URLs) that the user then accesses over the Internet, rather than being provided in their entirety. A user specifies a particular rule to apply to leads in his or her lead box 520 through user interface 110. This specification is typically based on a selection from a small number of types of rules, and selection from a constrained set of parameters for the rule. The system includes a "wizard" mode that specifies a rule by presenting a sequence of selections to be made or questions to be answered by the user, for example having the user select which attribute to use in determining where to route leads. The system holds definitions for these types (or classes) of rules, and specifications of the wizard modes for rule selection. A user with appropriate access privileges can specify the types of rules that another user may choose from, and the wizard mode that the other user can use to select a particular rule. The wizard is specified using XML (extensible Markup Language) and essentially forms a template for the particular rules that the users that make use of the wizard can choose. In some embodiments, the users are arranged in a hierarchy or tree and a user has the privilege to specify a wizard for the users branching from that user's node in the tree (i.e., below that user's node if the root of the tree is at the top). For example, a user who supervises a set of other users may configure their lead boxes with a wizard that allows those users to specify particular rules from a class of rules specified by that supervisor. Based on the tracking of leads through the whole process from input of a lead through winning or losing a sale based on the lead, the system includes a reporting capability. Performance reports, for instance which show the effectiveness of leads or other metrics such as time required to close leads, can be generated for particular sources of leads (e.g., particular marketing campaigns) or particular destinations (i.e., users). Using these types of reports, a return on investment (ROI) of particular campaigns can be tracked. The system can also report the accuracy of routing and prioritization rules thereby allowing an administrator or individual users to amend rules to better reflect the actual destination that services the lead, or the assessments of a lead's likelihood of resulting in a sale. Referring to FIG. 6, an example of configuration makes use of a branching tree of lead boxes. Initially at system lead box 510, leads are routed based on system-wide routing rules to a user lead box 520, for instance by routing the lead to a lead box associated with a geographic region, such as the eastern US. Based on the rules at that lead box, the lead may be routed again to another lead box 510, for instance one associated with a smaller geographic region, such as a particular state in the US, and finally to a user interface 110, for instance associated with a sales representative for that state. Alternatively, in another exemplary application of the rules, a lead may be passed to a system lead box 510 at a secondary lead management system, where it is passed through user lead boxes 520 an finally to a user interface 110. Each lead is tracked by lead management system 100 as it is routed from lead box to lead box, and as it is provided and then later accepted or rejected by a user. Therefore, users can determine the status of leads. Referring back to FIG. 1, lead management server 100 is coupled to a reporting interface 140. Based on the information regarding routing and status of lead in the lead management system, detailed reports regarding aspects of sets of leads can be directly determined. For example, statistics regarding completion of sales from a particular marketing campaign, or in a particular geographic region can be prepared. These reports provide feedback from sales activities, for example, to determine the effectiveness of particular marketing campaigns or the effectiveness of particular rules in the system. It is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention, which is defined by the scope of the appended claims. Other embodiments are within the scope of the following claims.

Claims: . 16 _ What is claimed is: 1. A method for processing customer leads comprising: configuring a lead processing system including accepting a specification of a plurality of users of the system, and accepting specifications of a plurality of rules that includes a set of global rules and for at least some of the users of the system distinct sets of rules associated with each of said users; and routing leads through the system including accepting a first lead at the lead processing system, including accepting values for each of a plurality of data fields associated with said lead, automatically applying one or more of the set of global rules to said lead, including applying a routing rule to said lead such that a first user is selected to receive said lead using the values of the data fields associated with said lead, automatically applying one of more of a first set of rules which are associated with the selected first user to the first lead, including applying a routing rule to said lead such that a second user is selected to receive said lead that includes a plurality of data fields, and notifying the selected second user of said lead, including providing values of one or more of the data fields. 2. The method of claim 1 wherein routing the leads through the system further includes receiving a response from the second user related to the disposition of said lead. 3. The method of claim 2 wherein receiving a response from the second user includes receiving an acceptance of said lead. 4. The method of claim 2 wherein notifying the second user of said lead includes withholding values of one or more data fields associated with said lead from the second user, and wherein routing the leads further includes, after receiving the acceptance of said lead, providing said withheld values. 5. The method of claim 2 wherein receiving a response from the second user includes receiving a rejection of said lead, and wherein routing the leads through the system further includes automatically re-routing said lead to another of the users of the system. _ 17 _ 6. The method of claim 1 wherein routing the leads through the system further includes after expiration of a time interval after notifying the second user of said lead during which neither an acceptance nor a rejection of said lead was received from the second user, automatically re-routing said lead to another of said users. 7. The method of claim 1 wherein routing leads through the system further includes routing each of a plurality of leads through the system resulting in different users being notified of different of the leads. 8. The method of claim 1 wherein accepting the specifications of the rules includes accepting a specification of the set of global rules from an administrator of the system and accepting a specification of a set of rules associated with a first user from said first user who is different than the administrator of the system, whereby configuring the system is decentralized. 9. The method of claim 1 wherein accepting the lead includes accepting an electronic communication initiated by a potential customer, wherein the electronic communication includes at least some of the values of data fields associated with the lead. 10. The method of claim 9 wherein accepting the electronic communication includes accepting an electronic mail message. 11. The method of claim 1 wherein routing the first lead further includes applying a prioritization rule including deriving a priority value for the lead from values of one or more data fields associated with said lead. 12. The method of claim 11 wherein deriving the priority value includes computing a weighted combination of the values of the one or more data fields. 13. The method of claim 11 wherein deriving the priority value includes matching the values of the one or more data fields with a record in a data value and retrieving the priority value from said record. 14. The method of claim 1 wherein routing the leads further includes augmenting the lead including identifying information related to the lead. 15. The method of claim 14 wherein identifying information related to the lead includes accessing information about a company related to the lead. 16. The method of claim 14 wherein identifying information related to the lead includes providing product information related to the lead. 17. The method of claim 14 wherein identifying information related to the lead includes providing sales material related to the lead. 18. Software stored on computer-readable media for causing a computer system to perform functions including: configuring a lead processing system including accepting a specification of a plurality of users of the system and accepting specifications of a plurality of rules that includes a set of global rules and for at least some of the users of the system distinct sets of rules associated with each of said users; and routing leads through the system including accepting a first lead at the lead processing system, including accepting values for each of a plurality of data fields associated with said lead, automatically applying one or more of the set of global rules to said lead, including applying a routing rule to said lead such that a first user is selected to receive said lead using the values of the data fields associated with said lead, automatically applying one of more of a first set of rules which are associated with the selected first user to the first lead, including applying a routing rule to said lead such that a second user is selected to receive said lead that includes a plurality of data fields, and notifying the selected second user of said lead, including providing values of one or more of the data fields. _ 19 _ 19 A system for routing leads including a storage for a plurality of rules that include a plurality of distinct sets of rules associated with different users of the system, a storage for records each associated with a different leads being processed by the system, and an engine for applying the plurality of rules to the leads and for routing the leads to users according to those rules, such that rules in each distinct set of rules are applied only to leads that are routed to the user associate with said set of rules 20 A system for processing customer leads comprising a first server including a storage for a first plurality of rules, a storage for a first plurality of leads being processed by the system, an engine for applying the plurality of rules to the leads and for routing the leads to users according to said rules, and a communication interface for communicating with other servers, a second server, including a storage for a plurality of leads, and a communication channel coupled to the communication interface at the first server and coupled to the second server for routing leads from the first server to the second server and for passing status information foi said leads from the second server to the first server 21 The system of claim 20 wherein the second server further includes a storage for a second plurality of rules and an engine for applying the second plurality of rules to leads received from the first server and for routing said leads to users according to said rules 22. A method for processing customer leads comprising: configuring a lead processing system, including configuring a first server by accepting a first plurality of rules for routing leads at the first server; and routing leads through the system including accepting a first lead at the first server, including accepting values for each of a plurality of data fields associated with said lead, automatically applying one or more of the plurality of rules to said lead, including applying a routing rule to said lead such that a second server is selected to receive said lead using the values of the data fields associated with said lead, transmitting values of the data fields associated with said lead to the second server, and at the second server routing the lead to a user and notifying said user of said lead. 23. The method of claim 22 wherein transmitting values of the data fields associated with said lead to the second server includes witliholding some of the value of data fields associated with said lead from the second server. 24. The method of claim 22 wherein transmitting values of the data fields associated with said lead to the second server includes formatting said values according to an XML based protocol. 25. The method of claim 22 wherein configuring the lead processing system further includes configuring the second server by accepting a second plurality of rules for routing leads at the second server, and wherein routing the lead at the second server includes applying said second plurality of rules to select the user to whom the lead is routed.

Inventors: BURGH CHRISTOPHER P, ERMAN GREGORY, EVETT CHARLES, FEAREY PETER, GILBY NANCY BENOVICH, MANDEL JOHN, TIU DAVID, BURGH, CHRISTOPHER, P., ERMAN, GREGORY, EVETT, CHARLES, FEAREY, PETER, GILBY, NANCY, BENOVICH, MANDEL, JOHN, TIU, DAVID
Applicants: MARKETSOFT SOFTWARE CORP, MARKETSOFT SOFTWARE CORPORATION
Application year: 2000
Main classification: G06F17
IPC codes: G06Q10