METHOD OF ENHANCING CUSTOMER RELATIONSHIP MANAGEMENT CONTENT AND WORKFLOW
20230222170 · 2023-07-13
Inventors
- Christopher O'Donnell (Winchester, MA, US)
- Andrew Pitre (Boston, MA, US)
- Matthew Schnitt (Boston, MA, US)
- Emil Sit (Lexington, MA, US)
- Tim Hennekey (Fairport, NY, US)
- Matt Ball (Somerville, MA, US)
- Greg Brown (Lummi Island, WA, US)
- Ze'ev Klapow (Sommerville, MA, US)
- Zoe Sobin (Boston, MA, US)
- Jared Williams (Sommerville, MA, US)
- Marc Neuwirth (Sommerville, MA, US)
- Ricardo Villamil (Everett, MA, US)
Cpc classification
G06Q30/0201
PHYSICS
G06Q10/107
PHYSICS
H04L67/564
ELECTRICITY
International classification
Abstract
Forward-looking sales activities are poorly served by existing Customer Relationship Managements systems, as the customer information those systems maintain by definition does not include the speculatively interested “leads” pursued in initial sales contacts. An Enrichment database, asynchronously loaded with corporate and optionally individual contact information in anticipation of use, provides real-time access to information in support of such first customer contacts. The Enrichment information may also be used to expedite creation and revision of CRM records.
Claims
1. A system comprising: at least one memory storing computer-executable instructions; at least one processor for executing the instructions stored on the memory, wherein execution of the instructions causes the at least one processor to perform operations comprising: detecting one or more contextual identifiers from user activities within an application associated with a user identifier; querying a database with the contextual identifier to retrieve enrichment information; and displaying the enrichment information relevant to the user activities.
2. The system of claim 1, further comprising a customer relationship management (CRM) application, wherein the CRM maintains data relative to customers and their representatives, wherein the CRM is further configured to provide elements of said data to users, and wherein the database queried by the application is distinct from the CRM.
3. The system of claim 2, wherein the application associated with a user identifier comprises one of an email application and a web browser, and the user identifier is correlated with user access activities within the CRM.
4. The system of claim 1, further comprising an enrichment database communicating with the application.
5. The system of claim 4, wherein at least a portion of data retrieved from the enrichment database data is obtained independent of user activity within the application.
6. The system of claim 5, wherein the enrichment database is provided as a web service.
7. The system of claim 4, wherein the enrichment database responds to queries incorporating an internet domain name comprising corporate business information relevant to an entity represented by the domain name.
8. The system of claim 4, wherein the enrichment database responds to queries incorporating an email address comprising information associated with an entity represented by the email address.
9. The system of claim 7, wherein at least a portion of the corporate business information is obtained from public web pages.
10. A computer-implemented method for providing enhanced sales support to users of a customer relationship management (CRM) system, wherein the CRM maintains current and historical business-related data relative to customers, the method comprising: identifying a user access activity within the CRM; detecting one or more contextual identifiers based at least in part on the user access activity; submitting a query to an enrichment database, the enrichment database being distinct from the CRM, the query comprising a contextual identifier; receiving enrichment information from the enrichment database based at least in part on the query; and presenting at least one element of the enrichment information for selection by the user.
11. The method of claim 10, wherein the enrichment information is offered for user selection from a list.
12. The method of claim 6, wherein the enrichment information is offered for user selection as at least one autocompletion option to user data entry.
13. The method of claim 10, wherein the enrichment database is provided as a web service to the CRM system.
14. A method, comprising: detecting one or more contextual identifiers from user activities within an application associated with a user identifier; querying a database with the contextual identifier to retrieve enrichment information; and displaying the enrichment information relevant to the user activities.
15. The method of claim 14, comprising: displaying the enrichment information through a sidebar of a web browser during real-time web browsing by a user.
16. The method of claim 14, wherein the database comprises a customer relationship management database.
17. The method of claim 14, comprising: displaying the enrichment information through a sidebar of a web browser, wherein the enrichment information is populated within a user interface element used to populate information within a customer relationship management database.
18. The method of claim 14, comprising: displaying the enrichment information as an auto completion option for user data entry into a customer relationship management database.
19. The method of claim 14, comprising: displaying the enrichment information for user data entry into a customer relationship management database.
20. The method of claim 14, comprising: displaying the enrichment information through a user interface element used to compose an email to a recipient.
Description
BRIEF DESCRIPTION OF FIGURES
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
DETAILED DESCRIPTION
Customer Relationship Management
[0026] A conventional customer relationship management (“CRM”) system maintains records of contacts and interactions associated with a particular customer or potential customer, including relevant corporate information, named individuals in significant roles, purchasing history, etc. As CRM systems are well known in the art, descriptions of their behavior herein should be considered as examples, rather than definitive. Indeed, unless specifically stated to the contrary, for the purposes of describing the invention the CRM component of the described system, apparatus, or method may be taken to be a commercial CRM product, configured for use in the described manner.
[0027] Such a generic CRM system may be assumed to support a relatively consistent set of features. Information is structured, so that individuals may be associated with corporate roles, and attributes such as progress status may be associated with objects such as product orders. Controlled change procedures may be provided to, as examples, provide auditable logs of information change activity, or to require particular authority to make such changes. Finally, some form of API or query interface is presumed, to permit information associated with a particular company or individual to be accessed by an external application.
[0028] One aspect of the invention improves upon conventional the CRM by adding capabilities to track a wider range of business interactions among vendors and customers. For example, the enhanced features include logging of email communications between employees of the two firms, logging that a customer has opened an email, customer interactions with the vendor website, customer submission of web forms such as surveys, requests for information, and questionnaires, social media mentions by the customer contact, and significant company news events.
[0029] This enhanced data can be stored separately (e.g., as a different web based service) and interact with and provide data to the CRM system to allow for more relevant interactions between sales agents and potential customers.
[0030] Screenshots illustrating user access to and interaction with CRM data are shown as
Enrichment Database
[0031] In various embodiments, the enrichment database provides such functionality described above. The database may, in some instances, be implemented as a canonical SQL transaction store, or, in other cases may be a “No SQL” store with more relaxed write constraints. In either case, from the standpoint of the user, the database is accessed as read-only, with data updates rarely modifying existing data elements. Other examples may use a key-value store or other database techniques, using known conventions within the accessing applications to simulate multi-element records and maintain record consistency. Similarly, the interface to the database may be via a network pipe, a named web service, an internal software API, or other equivalent means as known to those familiar with the art. In at least one embodiment, the enrichment database is networked, accessible via public or private Internet connections, and thus may be considered a shared service offering to multiple clients having been provided with appropriate access information.
[0032] In at least one embodiment in accordance with the invention, the enrichment database is structured so as to provide results associated with two possible query types—corporate data if queried with a domain name such as “mycompany.com”, and personal data about an individual if queried with a fully formed email address such as Joe.Smith@mycompany.com. Query results are provided as a sequence of one or more explicitly typed or named data values, representing the data stored in the database associated with the queried term.
Obtaining Enrichment Data
[0033] As previously described, information in the enrichment database is distinguished from that maintained in a conventional CRM in that it may be obtained asynchronously and in anticipation of user need, rather than solely in response to particular company or individual name queries.
[0034] In one embodiment in accordance with the invention shown in the block diagram of
[0035] The parser performs two functions; it attempts to identify elements within the web content that represents desired data types, for example the address, street, city, town, zip code, etc. comprising a corporation's business address. These identified elements are presented to the enrichment database to be incorporated in records associated with a key value related to, in this example, the corporation (i.e. its domain name.) The parser also identifies additional URLs and/or email addresses within the web content, which may be used in subsequent iterations of the web spider. Thus, a corporate home page may lead to an “About us” page, an “Investors” page, a “Contact” page, an “Our Executives” page, with each of those pages becoming candidates for access by the web spider with subsequent content parsing and updating of the enrichment database.
[0036] A preferred embodiment of the parser performs the data extraction automatically, although other embodiments may incorporate semi-automated or manual steps as well.
[0037] Email addresses captured by a corporation web sweep cannot be directly used in the same way as a captured URL, either to iterate the web spider operation, or to obtain an individual's information. Instead, other sources of information may be required which can provide relevant user information based on their email address.
[0038] As one example, an Internet “White Page” service may be used, which are structured as “email address in, personal information out” and thus could be used directly to look up an individual's background information. However, the quality and reputation of the provided information from such sources may be suspect. As other examples, social networking sites such as Facebook and Linkedin may provide information within their particular domains, and private and for-fee information services also exist providing such services.
[0039] Because the access methods required to interact with these disparate information sources are broader and more elaborate than simple “web spider” behavior,
[0040] Thus, it is apparent that the information flow for enrichment information may follow two distinct paths; the initial URL is used by the Web spider to access a web page, which is parsed to identify corporate information to be stored in the enrichment database, which may include the email addresses of various individuals. Optionally, entity identifiers representing either corporations or individuals may subsequently be retrieved from the enrichment database and presented to the query engine, which accesses external information sources to obtain results processed by the data formatter and stored as corporate or individual information respectively in the enrichment database. In some embodiments, a cache or storage buffer may be used to hold the identity identifiers for processing by the query engine, eliminating the need for them to be read out of the enrichment database at the time they are required by the query engine.
[0041] Other embodiments may use different strategies to distribute information queries between World Wide Web and other information sources. In some instances, but the information sources may be limited to private, for-fee information sources to obtain both corporate and individual information. As one example, the Dow Jones business wire news feed may be parsed to identify company names in a particular business sector, with each company so identified being looked up in Dunn and Bradstreet, and then each named executive in the D&B report looked up in a private executive resume database, with each company and individual identified in the resulting information potentially becoming a research candidate for a subsequent iteration. However, such a limitation may be neither cost-effective nor optimum, given the broad range of timely and freely-available information available on the Web.
[0042] Another embodiment uses World Wide Web sources to research corporate information, with the only individual information being maintained in the enrichment database being that which may be obtained incidentally through such corporate research, as examples those individuals named as a corporate executive or contact person.
[0043] One embodiment in accordance with the invention supports data types or named data values in both the parser and the enrichment database which describe:
Corporate Identification—Public/Private corporate status, company description, company business address, company industry category, number of employees, annual revenue, latitude and longitude of primary company location.
Corporate communications information—Company email address, twitter username, number of twitter followers, twitter URL. Corporate Facebook page URL, number of Facebook fans. Linkedin Company Bio, Linkedin company URL. URL of company logo, Favicon.
Corporate investment—Public/Private status, revenue, number of employees, year of founding, total investment, Angel List URL, Crunchbase URL, Company contacts, Related companies, Company news.
[0044] Another embodiment also supports data associated with the company's industry, territory, additional contact email addresses and phone numbers, org charts, website technology, products/services offered, company sentiment, enumeration of current and past funding rounds and investors, significant job and title changes, and partnerships.
Sidebar Application
[0045] In at least one embodiment in accordance with the invention, the sidebar display element is implemented as a web browser plug-in. As such, it has access to the information being used to draw the screen, such as the HTML encoded stream comprising a web page, and can detect and extract particular data fields from that encoded stream automatically.
[0046] As seen in
[0047] One embodiment of the sidebar is configured to parse URLs, stand-alone domain names such as www.mycompany.com, and email addresses from the displayable browser content and/or the browser address bar. Corporate URLs and domain names are reduced to a canonical form (e.g. absent any subdomain or host elements) to be used as a query term to obtain corporate enrichment information from the Enrichment database and/or the CRM. An extracted email address may also be used as a query term to obtain individual enrichment information from the enrichment database and/or the CRM.
[0048] Some embodiments of the Sidebar may be configured to record URLs for which the enrichment database provides no results. These records may be added to the candidate URL list for addition to the enrichment database in a subsequent iteration of the information gathering process.
[0049] One embodiment of the sidebar interacts with the enrichment database as a web service, sending queries and receiving query results, which it then formats into displayable lists within the Sidebar display portion of the screen. Depending on the amount of content and available display area, the display content may be scrolled, or certain portions hidden or tree-truncated until requested by the user.
[0050] In another embodiment, the sidebar also interacts with the CRM system, displaying any corporate or individual information stored by the CRM as well. Thus, referring again to
[0051] In cases where enrichment data is available but there is no corresponding CRM information, some embodiments of the sidebar offer an option to create a new CRM record.
[0052] One familiar with the art may note that the formatting of information for Sidebar display may equivalently be performed by the queried web service, or by a service intermediary between the Sidebar application and the queried database. Similarly, display formatting may be hard-coded, or configured using CSS or other meta-formatting elements. Logical decision steps may be incorporated into the display formatting to, as non-limiting examples, organize the displayed order of results, hide and reveal certain results, and otherwise maximize the relevance of the displayed sidebar information to the user's current working activity.
[0053] Screenshots of one embodiment of the Sidebar application displaying information relevant to the current working context in accordance with the invention may be seen in
Updating CRM Information
[0054] At least one embodiment in accordance with the invention facilitates creation of new CRM records. As one example, sidebar display of corporate enrichment data for an entity not having a presence in the CRM may include an “Add to CRM” button. Clicking on that button will transfer the user to a CRM interaction session, allowing the normal CRM tools to be used to create a new entry for that entity. Some embodiments allow the relevant corporate enrichment data to be provided to the CRM session, avoiding the need for manual data entry. One embodiment provides the enrichment data as autocompletion options for CRM fields. Another embodiment provides the Enrichment data in pull-down selection boxes, allowing the user to select the data for automatic entry. Some embodiments match the data types of the Enrichment data and the CRM data entry fields so that only relevant data is presented for selection or use.
[0055] As a general matter, the techniques described herein can be implemented in any appropriate hardware or software. If implemented as software, the processes can execute on a system capable of running one or more commercial operating systems such as the Microsoft Windows® operating systems, the Apple OS X® operating systems, the Apple iOS® platform, the Google Android™ platform, the Linux® operating system and other variants of UNIX® operating systems, and the like. The software can be implemented on a general purpose computing device in the form of a computer including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit.
[0056] If implemented as software, such software can include a plurality of software modules stored in a memory and executed on one or more processors. The modules can be in the form of a suitable programming language, which is converted to machine language or object code to allow the processor or processors to read the instructions. The software can be in the form of a standalone application, implemented in any suitable programming language or framework.
[0057] Method steps of the techniques described herein can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). Modules can refer to portions of the computer program and/or the processor/special circuitry that implements that functionality.
[0058] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. One or more memories can store media assets (e.g., audio, video, graphics, interface elements, and/or other media files), configuration files, and/or instructions that, when executed by a processor, form the modules, engines, and other components described herein and perform the functionality associated with the components. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
[0059] It should also be noted that the present implementations can be provided as one or more computer-readable programs embodied on or in one or more articles of manufacture. The article of manufacture can be any suitable hardware apparatus, such as, for example, a floppy disk, a hard disk, a CD-ROM, a CD-RW, a CD-R, a DVD-ROM, a DVD-RW, a DVD-R, a flash memory card, a PROM, a RAM, a ROM, or a magnetic tape. In general, the computer-readable programs can be implemented in any programming language. The software programs can be further translated into machine language or virtual machine instructions and stored in a program file in that form. The program file can then be stored on or in one or more of the articles of manufacture.
[0060] While various implementations of the present invention have been described herein, it should be understood that they have been presented by example only. Where methods and steps described above indicate certain events occurring in certain order, those of ordinary skill in the art having the benefit of this disclosure would recognize that the ordering of certain steps can be modified and that such modifications are in accordance with the given variations. For example, although various implementations have been described as having particular features and/or combinations of components, other implementations are possible having any combination or sub-combination of any features and/or components from any of the implementations described herein.