[go: up one dir, main page]

US20190020557A1 - Methods and systems for analyzing entity performance - Google Patents

Methods and systems for analyzing entity performance Download PDF

Info

Publication number
US20190020557A1
US20190020557A1 US16/120,526 US201816120526A US2019020557A1 US 20190020557 A1 US20190020557 A1 US 20190020557A1 US 201816120526 A US201816120526 A US 201816120526A US 2019020557 A1 US2019020557 A1 US 2019020557A1
Authority
US
United States
Prior art keywords
data
aggregate
entity
data structure
entities
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US16/120,526
Inventor
Allen Chang
Matthew Sills
Katherine Brainard
Rastan Boroujerdi
Ilya Nepomnyashchiy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Palantir Technologies Inc
Original Assignee
Palantir Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Palantir Technologies Inc filed Critical Palantir Technologies Inc
Priority to US16/120,526 priority Critical patent/US20190020557A1/en
Publication of US20190020557A1 publication Critical patent/US20190020557A1/en
Assigned to MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Palantir Technologies Inc.
Assigned to ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT reassignment ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Palantir Technologies Inc.
Assigned to Palantir Technologies Inc. reassignment Palantir Technologies Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOROUJERDI, RASTAN, CHANG, ALLEN, NEPOMNYASHCHIY, ILYA, BRAINARD, KATHERINE, SILLS, MATTHEW
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Palantir Technologies Inc.
Assigned to Palantir Technologies Inc. reassignment Palantir Technologies Inc. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: ROYAL BANK OF CANADA
Assigned to Palantir Technologies Inc. reassignment Palantir Technologies Inc. CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Assignors: ROYAL BANK OF CANADA
Assigned to WELLS FARGO BANK, N.A. reassignment WELLS FARGO BANK, N.A. ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to WELLS FARGO BANK, N.A. reassignment WELLS FARGO BANK, N.A. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Palantir Technologies Inc.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Definitions

  • FIG. 1 illustrates, in block diagram form, an exemplary data fusion system for providing interactive data analysis, consistent with embodiments of the present disclosure.
  • FIG. 2 is a block diagram of an exemplary system for analyzing performance of an entity, consistent with embodiments of the present disclosure.
  • FIG. 3 is a block diagram of an exemplary computer system, consistent with embodiments of the present disclosure.
  • FIG. 4 is a block diagram of an exemplary data structure accessed in the process of analyzing entity performance, consistent with the embodiments of the present disclosure.
  • FIG. 5 is a block diagram of an exemplary scenario depicting a system for analyzing entity performance, consistent with the embodiments of the present disclosure.
  • FIG. 6 is a block diagram of an exemplary system for analyzing entity performance, consistent with the embodiments of the present disclosure.
  • FIG. 7 is an illustration of an example display, consistent with the embodiments of the present disclosure.
  • FIG. 8 is a flowchart representing an exemplary process for querying a data structure, consistent with embodiments of the present disclosure.
  • embodiments of the invention relate to analyzing entity performance in real-time based on interactions (e.g., anonymized credit card or debit card transaction data) and potentially other data (e.g., merchant data).
  • interactions e.g., anonymized credit card or debit card transaction data
  • other data e.g., merchant data
  • Types of interactions from which entity performance may be derived include, e.g., purchases made at a brick-and-mortar store or purchases made online.
  • Large sets of interaction data may be filtered according to selectable criteria to provide, for example, information associated with the performance of a particular entity (e.g., a merchant).
  • Such selectable criteria may include an amount spent at a particular location, times of purchases, time spent between purchases, types of merchants associated with purchase, demographics associated with a purchaser, purchaser identity, demographics associated with a location of a merchant, Merchant Category Codes (MCCs), types of products purchases, etc.
  • MCCs Merchant Category Codes
  • the performance of the entity may be expressed in terms of tables, charts, graphs, or other visual aids, which illustrate performance in terms of revenue, wallet share, time, expenses, etc.
  • data relating to the interactions may be stored in a real-time distributed computation environment that supports stream-oriented processing.
  • the data can be stored in a data structure using Hadoop's Distributed File System, VerticaTM, or AmazonTM S3.
  • the data structure storing the interactions data may be incrementally updated at particular intervals by a data computation system, such as Apache's SparkTM, providing a user with real-time or near real-time information about the interactions.
  • a first data stream including information associated with credit and debit card interactions is acquired at a data computation system and/or a data structure.
  • This stream can include information relating to over three-hundred million transactions per day, for example.
  • This stream can be divided into smaller streams.
  • a particular interaction data stream may be divided into separate sub-streams, each based on a unique provisioning entity (e.g., a merchant).
  • a second stream may be acquired that includes interaction information from a point-of-sale system. Different data streams or additional streams can also be acquired.
  • the data streams can be segmented by a data computation system to include information associated with new customers (e.g., by determining whether the consuming entity, or information associated therewith, is included in the data structure), returning customers (e.g., by determining whether a consuming entity makes a purchase at a provisioning entity at least twice within a particular amount of time), determining a home location associated with an individual based on transaction data (e.g., anonymized credit card transaction data), local customers, and non-local customers.
  • transaction data e.g., anonymized credit card transaction data
  • the aggregation of interaction information associated with these streams can be incrementally updated in the data structure in real-time, allowing a user to access a business portal and view a day-by-day, year-by-year, or even minute-by-minute break down of revenues generated, locations of interactions, etc.
  • Additional aspects relating to the invention may include different queries that can be run, and how they are registered with the data computation system.
  • the queries are registered with the system a priori in order to walk through a data set that is constantly being updated.
  • a query could be entered by a user into a graphical user interface and cause a data computation system to retrieve a plurality of merchants within a particular radius that sell pizza and have revenue over a particular amount for the instant day.
  • a new merchant exceeds the queried amount later that day, as additional streams of information associated with interactions are received or otherwise become available, then that new merchant may be added to a table or other user interface in real-time such that someone using the system could see that the new merchant was also within the ambit of the predetermined query.
  • FIG. 1 illustrates, in block diagram form, an exemplary data fusion system 100 for providing interactive data analysis, consistent with embodiments of the present disclosure.
  • data fusion system 100 facilitates transformation of one or more data sources, such as data sources 130 (e.g., financial services systems 220 , geographic data systems 230 , provisioning entity management systems 240 and/or consuming entity data systems 250 , as shown in FIG. 2 ) into an object model 160 whose semantics are defined by an ontology 150 .
  • the transformation can be performed for a variety of reasons. For example, a database administrator can import data from data sources 130 into a database 170 for persistently storing object model 160 .
  • a data presentation component (not depicted) can transform input data from data sources 130 “on the fly” into object model 160 .
  • the object model 160 can then be utilized, in conjunction with ontology 150 , for analysis through graphs and/or other data visualization techniques.
  • Data fusion system 100 comprises a definition component 110 and a translation component 120 , both implemented by one or more processors of one or more computing devices or systems executing hardware and/or software-based logic for providing various functionality and features of the present disclosure, as described herein.
  • data fusion system 100 can comprise fewer or additional components that provide the various functionalities and features described herein.
  • the number and arrangement of the components of data fusion system 100 responsible for providing the various functionalities and features described herein can further vary from embodiment to embodiment.
  • Definition component 110 generates and/or modifies ontology 150 and a schema map 140 .
  • an ontology such as ontology 150
  • a dynamic ontology may be used to create a database.
  • object types may be defined, where each object type includes one or more properties.
  • the attributes of object types or property types of the ontology can be edited or modified at any time.
  • at least one parser definition may be created. The attributes of a parser definition can be edited or modified at any time.
  • each property type is declared to be representative of one or more object types.
  • a property type is representative of an object type when the property type is intuitively associated with the object type.
  • each property type has one or more components and a base type.
  • a property type can comprise a string, a date, a number, or a composite type consisting of two or more string, date, or number elements.
  • property types are extensible and can represent complex data structures. Further, a parser definition can reference a component of a complex property type as a unit or token.
  • An example of a property having multiple components is an Address property having a City component and a State component.
  • An example of raw input data is “Los Angeles, Calif.”
  • An example parser definition specifies an association of imported input data to object property components as follows: ⁇ CITY ⁇ , ⁇ STATE ⁇ Address: State, Address: City.
  • the association ⁇ CITY ⁇ , ⁇ STATE ⁇ is defined in a parser definition using regular expression symbology.
  • the association ⁇ CITY ⁇ , ⁇ STATE ⁇ indicates that a city string followed by a state string, and separated by a comma, comprises valid input data for a property of type Address.
  • schema map 140 can define how various elements of schemas 135 for data sources 130 map to various elements of ontology 150 .
  • Definition component 110 receives, calculates, extracts, or otherwise identifies schemas 135 for data sources 130 .
  • Schemas 135 define the structure of data sources 130 ; for example, the names and other characteristics of tables, files, columns, fields, properties, and so forth.
  • Definition component 110 furthermore optionally identifies sample data 136 from data sources 130 .
  • Definition component 110 can further identify object type, relationship, and property definitions from ontology 150 , if any already exist.
  • Definition component 110 can further identify pre-existing mappings from schema map 140 , if such mappings exist.
  • definition component 110 can generate a graphical user interface 115 .
  • Graphical user interface 115 can be presented to users of a computing device via any suitable output mechanism (e.g., a display screen, an image projection, etc.), and can further accept input from users of the computing device via any suitable input mechanism (e.g., a keyboard, a mouse, a touch screen interface, etc.).
  • Graphical user interface 115 features a visual workspace that visually depicts representations of the elements of ontology 150 for which mappings are defined in schema map 140 .
  • transformation component 120 can be invoked after schema map 140 and ontology 150 have been defined or redefined. Transformation component 120 identifies schema map 140 and ontology 150 . Transformation component 120 further reads data sources 130 and identifies schemas 135 for data sources 130 . For each element of ontology 150 described in schema map 140 , transformation component 120 iterates through some or all of the data items of data sources 130 , generating elements of object model 160 in the manner specified by schema map 140 . In some embodiments, transformation component 120 can store a representation of each generated element of object model 160 in a database 170 . In some embodiments, transformation component 120 is further configured to synchronize changes in object model 160 back to data sources 130 .
  • Data sources 130 can be one or more sources of data, including, without limitation, spreadsheet files, databases, email folders, document collections, media collections, contact directories, and so forth. Data sources 130 can include data structures stored persistently in non-volatile memory. Data sources 130 can also or alternatively include temporary data structures generated from underlying data sources via data extraction components, such as a result set returned from a database server executing a database query.
  • Schema map 140 , ontology 150 , and schemas 135 can be stored in any suitable structures, such as XML files, database tables, and so forth. In some embodiments, ontology 150 is maintained persistently. Schema map 140 can or cannot be maintained persistently, depending on whether the transformation process is perpetual or a one-time event. Schemas 135 need not be maintained in persistent memory, but can be cached for optimization.
  • Object model 160 comprises collections of elements such as typed objects, properties, and relationships.
  • the collections can be structured in any suitable manner.
  • a database 170 stores the elements of object model 160 , or representations thereof.
  • the elements of object model 160 are stored within database 170 in a different underlying format, such as in a series of object, property, and relationship tables in a relational database.
  • the functionalities, techniques, and components described herein are implemented by one or more special-purpose computing devices.
  • the special-purpose computing devices can be hard-wired to perform the techniques, or can include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or can include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination.
  • ASICs application-specific integrated circuits
  • FPGAs field programmable gate arrays
  • Such special-purpose computing devices can also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques.
  • the special-purpose computing devices can be desktop computer systems, portable computer systems, handheld devices, networking devices, or any other device that incorporates hard-wired and/or program logic to implement the techniques.
  • a provisioning entity can include, for example, a merchant, a retail provisioning entity or the like
  • a consuming entity can include, for example, a consumer user buying products or services from a provisioning entity.
  • a consuming entity can represent either individual persons or can represent a group of persons (e.g., a group of persons living under one roof as part of a family).
  • a consuming entity can be a credit card number of an individual or a credit card number for an entire family sharing one credit card.
  • a provisioning entity can represent either the entity itself or individual persons involved with the entity.
  • data fusion system 100 can provide a provisioning entity, such as a retail provisioning entity, to analyze information to identify behaviors to allow that provisioning entity to make more informed decisions.
  • a provisioning entity such as a retail provisioning entity
  • Such information can allow retail entities, such as a retail provisioning entity, to determine where to place their retail locations.
  • Provisioning entities having more than one location e.g., a merchant with a chain store or a franchise model
  • provisioning entities typically evaluate the performance of their locations and may adjust their business models or work flows when the locations under-perform.
  • provisioning entities evaluate the performance of their locations based on period-to-period metrics. For example, a provisioning entity can evaluate a location's performance by comparing the current month's sales to the previous month's sales.
  • provisioning entitles can evaluate each of its locations' performance using comparative analysis. For example, a provisioning entity might compare the sales at an area location with the sales at a second location. As provisioning entities generally measure the performance of its locations based on their own interaction data (e.g., the entity's sales across some or all of its locations), current methods of measuring performance do not consider sales made by competitors or demographic features of the areas of the provisioning entity's locations.
  • measured performance may not represent the true performance of a provisioning entity. For instance, although a provisioning entity location in a low consumer spend capacity area might have less sales than a provisioning entity location in a high consumer spend capacity area, it may be performing better than what could be expected for that area in light of, for example, the low number of consumers residing in the area or the low income of the area. A performance of a provisioning entity at an area location can be adversely impacted by the close proximity of a second location of the provisioning entity, but the provisioning entity at the area location can be performing better than expected given the competition from the provisioning entity's second location. Conversely, while a provisioning entity location in a dense, high-income area might have the highest sales of all provisioning entity locations, it can still be under-performing because, for instance, consumer spend capacity is high and the provisioning entity location could generate more sales.
  • the performance of provisioning entities can be analyzed based on how the provisioning entity is expected to perform given the location of the provisioning entity.
  • the disclosed embodiments may be implemented to consider, for example, consumer demographic features of the provisioning entity location's area and the proximity of competitors to the provisioning entity location (including the proximity of the provisioning entity's other close-by locations).
  • the provisioning entity can be a merchant.
  • exemplary embodiments for analyzing entity performance are described herein with reference to “merchants.” The exemplary embodiments and techniques described herein, however, may be applied to other types of entities (e.g., service providers, governmental agencies, etc.) within the spirit and scope of this disclosure.
  • FIG. 2 is a block diagram of an exemplary system 200 for performing one or more operations for analyzing performance of a provisioning entity and/or a consuming entity, consistent with disclosed embodiments.
  • the provisioning entity is a merchant and system 200 can include provisioning entity analysis system 210 , one or more financial services systems 220 , one or more geographic data systems 230 , one or more provisioning entity management systems 240 , and one or more consuming entity data systems 250 .
  • the components and arrangement of the components included in system 200 can vary depending on the embodiment. For example, the functionality described below with respect to financial services systems 220 can be embodied in consuming entity data systems 250 , or vice-versa.
  • system 200 can include fewer or additional components that perform or assist in the performance of one or more processes to analyze provisioning entity's, consistent with the disclosed embodiments.
  • One or more components of system 200 can be computing systems configured to analyze provisioning entity performance.
  • components of system 200 can include one or more computing devices (e.g., computer(s), server(s), etc.), memory storing data and/or software instructions (e.g., database(s), memory devices, etc.), and other appropriate computing components.
  • the one or more computing devices are configured to execute software or a set of programmable instructions stored on one or more memory devices to perform one or more operations, consistent with the disclosed embodiments.
  • Components of system 200 can be configured to communicate with one or more other components of system 200 , including provisioning entity analysis system 210 , one or more financial services systems 220 , one or more geographic data systems 230 , one or more provisioning entity management systems 240 , and one or more consumer data systems 250 .
  • users can operate one or more components of system 200 .
  • the one or more users can be employees of, or associated with, the entity corresponding to the respective component(s) (e.g., someone authorized to use the underlying computing systems or otherwise act on behalf of the entity).
  • Provisioning entity analysis system 210 can be a computing system configured to analyze provisioning entity performance.
  • provisioning entity analysis system 210 can be a computer system configured to execute software or a set of programmable instructions that collect or receive financial interaction data, consumer data, and provisioning entity data and process it to determine the actual transaction amount of each transaction associated with the provisioning entity.
  • Provisioning entity analysis system 210 can be configured, in some embodiments, to utilize, include, or be a data fusion system 100 (see, e.g., FIG. 1 ) to transform data from various data sources (such as, financial services systems 220 , geographic data systems 230 , provisioning entity management systems 240 , and consuming entity data systems 250 ) for processing.
  • provisioning entity analysis system 210 can be implemented using a computer system 300 , as shown in FIG. 3 and described below.
  • Provisioning entity analysis system 210 can include one or more computing devices (e.g., server(s)), memory storing data and/or software instructions (e.g., database(s), memory devices, etc.) and other known computing components.
  • provisioning entity analysis system 210 can include one or more networked computers that execute processing in parallel or use a distributed computing architecture.
  • Provisioning entity analysis system 210 can be configured to communicate with one or more components of system 200 , and it can be configured to provide analysis of provisioning entities via an interface(s) accessible by users over a network (e.g., the Internet).
  • provisioning entity analysis system 210 can include a web server that hosts a web page accessible through network 260 by provisioning entity management systems 240 .
  • provisioning entity analysis system 210 can include an application server configured to provide data to one or more client applications executing on computing systems connected to provisioning entity analysis system 210 via network 260 .
  • provisioning entity analysis system 210 can be configured to determine the actual sales for a provisioning entity or specific provisioning entity location by processing and analyzing data collected from one or more components of system 200 . For example, provisioning entity analysis system 210 can determine that the Big Box Merchant store located at 123 Main St, in Burbank, Calif. is actually generating $60,000 of sales per month. Provisioning entity analysis system 210 can provide an analysis of a provisioning entity or provisioning entity location's performance based on a target for sales and the actual sales for the provisioning entity or provisioning entity location. For example, for the Big Box Merchant store located at 123 Main St., Burbank, Calif., the provisioning entity analysis system 210 can provide an analysis that the store is performing above expectations.
  • Provisioning entity analysis system 210 can, in some embodiments, generate a user interface communicating data related to one or more provisioning entities or provisioning entity locations.
  • provisioning entity analysis system 210 includes a web server that generates HTML code, or scripts capable of generating HTML code, that can be displayed in a web browser executing on computing device.
  • Provisioning entity analysis system 210 can also execute an application server that provides user interface objects to a client application executing on a computing device, or it can provide data that is capable of being displayed in a user interface in a client application executing on a computing device.
  • provisioning entity analysis system 210 can generate user interfaces that can be displayed within another user interface.
  • provisioning entity analysis system 210 can generate a user interface for display within a parent user interface that is part of a word processing application, a presentation development application, a web browser, or an illustration application, among others.
  • generating a user interface can include generating the code that when executed displays information (e.g., HTML) on the user interface.
  • generating a user interface can include providing commands and/or data to a set of instructions that when executed render a user interface capable of being shown on a display connected to a computing device.
  • the user interface can include a map, indications of the provisioning entity locations on a map, and indications of the sales or interactions associated with the provisioning entity locations.
  • financial services system 220 can be a computing system associated with a financial service provider, such as a bank, credit card issuer, credit bureau, credit agency, or other entity that generates, provides, manages, and/or maintains financial service accounts for one or more users.
  • Financial services system 220 can generate, maintain, store, provide, and/or process financial data associated with one or more financial service accounts.
  • Financial data can include, for example, financial service account data, such as financial service account identification data, account balance, available credit, existing fees, reward points, user profile information, and financial service account interaction data, such as interaction dates, interaction amounts, interaction types, and location of interaction.
  • each interaction of financial data can include several categories of information associated with the interaction.
  • each interaction can include categories such as number category; consuming entity identification category; consuming entity location category; provisioning entity identification category; provisioning entity location category; type of provisioning entity category; interaction amount category; and time of interaction category, as described in FIG. 4 .
  • financial data can comprise either additional or fewer categories than the exemplary categories listed above.
  • Financial services system 220 can include infrastructure and components that are configured to generate and/or provide financial service accounts such as credit card accounts, checking accounts, savings account, debit card accounts, loyalty or reward programs, lines of credit, and the like.
  • Geographic data systems 230 can include one or more computing devices configured to provide geographic data to other computing systems in system 200 such as provisioning entity analysis system 210 .
  • geographic data systems 230 can provide geodetic coordinates when provided with a street address of vice-versa.
  • geographic data systems 230 exposes an application programming interface (API) including one or more methods or functions that can be called remotely over a network, such as network 260 .
  • API application programming interface
  • geographic data systems 230 can provide information concerning routes between two geographic points.
  • provisioning entity analysis system 210 can provide two addresses and geographic data systems 230 can provide, in response, the aerial distance between the two addresses, the distance between the two addresses using roads, and/or a suggested route between the two addresses and the route's distance.
  • geographic data systems 230 can also provide map data to provisioning entity analysis system 210 and/or other components of system 200 .
  • the map data can include, for example, satellite or overhead images of a geographic region or a graphic representing a geographic region.
  • the map data can also include points of interest, such as landmarks, malls, shopping centers, schools, or popular restaurants or retailers, for example.
  • Provisioning entity management systems 240 can be one or more computing devices configured to perform one or more operations consistent with disclosed embodiments.
  • provisioning entity management systems 240 can be a desktop computer, a laptop, a server, a mobile device (e.g., tablet, smart phone, etc.), or any other type of computing device configured to request provisioning entity analysis from provisioning entity analysis system 210 .
  • provisioning entity management systems 240 can comprise a network-enabled computing device operably connected to one or more other presentation devices, which can themselves constitute a computing system.
  • provisioning entity management systems 240 can be connected to a mobile device, telephone, laptop, tablet, or other computing device.
  • Provisioning entity management systems 240 can include one or more processors configured to execute software instructions stored in memory. Provisioning entity management systems 240 can include software or a set of programmable instructions that when executed by a processor performs known Internet-related communication and content presentation processes. For example, provisioning entity management systems 240 can execute software or a set of instructions that generates and displays interfaces and/or content on a presentation device included in, or connected to, provisioning entity management systems 240 . In some embodiments, provisioning entity management systems 240 can be a mobile device that executes mobile device applications and/or mobile device communication software that allows provisioning entity management systems 240 to communicate with components of system 200 over network 260 . The disclosed embodiments are not limited to any particular configuration of provisioning entity management systems 240 .
  • Provisioning entity management systems 240 can be one or more computing systems associated with a provisioning entity that provides products (e.g., goods and/or services), such as a restaurant (e.g., Outback Steakhouse®, Burger King®, etc.), retailer (e.g., Amazon.com®, Target®, etc.), grocery store, mall, shopping center, service provider (e.g., utility company, insurance company, financial service provider, automobile repair services, movie theater, etc.), non-profit organization (ACLUTM, AARP®, etc.) or any other type of entity that provides goods, services, and/or information that consuming entities (i.e., end-users or other business entities) can purchase, consume, use, etc.
  • consuming entities i.e., end-users or other business entities
  • the exemplary embodiments presented herein relate to purchase interactions involving goods from retail provisioning entity systems.
  • Provisioning entity management systems 240 is not limited to systems associated with retail provisioning entities that conduct business in any particular industry or field.
  • Provisioning entity management systems 240 can be associated with computer systems installed and used at a brick and mortar provisioning entity locations where a consumer can physically visit and purchase goods and services. Such locations can include computing devices that perform financial service interactions with consumers (e.g., Point of Sale (POS) terminal(s), kiosks, etc.). Provisioning entity management systems 240 can also include back- and/or front-end computing components that store data and execute software or a set of instructions to perform operations consistent with disclosed embodiments, such as computers that are operated by employees of the provisioning entity (e.g., back office systems, etc.). Provisioning entity management systems 240 can also be associated with a provisioning entity that provides goods and/or service via known online or e-commerce types of solutions.
  • POS Point of Sale
  • Provisioning entity management systems 240 can also be associated with a provisioning entity that provides goods and/or service via known online or e-commerce types of solutions.
  • Provisioning entity management systems 240 can include one or more servers that are configured to execute stored software or a set of instructions to perform operations associated with a provisioning entity, including one or more processes associated with processing purchase interactions, generating interaction data, generating product data (e.g., SKU data) relating to purchase interactions, for example.
  • Consuming entity data systems 250 can include one or more computing devices configured to provide demographic data regarding consumers. For example, consuming entity data systems 250 can provide information regarding the name, address, gender, income level, age, email address, or other information about consumers.
  • Consuming entity data systems 250 can include public computing systems such as computing systems affiliated with the U.S. Bureau of the Census, the U.S. Bureau of Labor Statistics, or FedStats, or it can include private computing systems such as computing systems affiliated with financial institutions, credit bureaus, social media sites, marketing services, or some other organization that collects and provides demographic data.
  • Network 260 can be any type of network or combination of networks configured to provide electronic communications between components of system 200 .
  • network 260 can be any type of network (including infrastructure) that provides communications, exchanges information, and/or facilitates the exchange of information, such as the Internet, a Local Area Network, or other suitable connection(s) that enables the sending and receiving of information between the components of system 200 .
  • Network 260 may also comprise any combination of wired and wireless networks.
  • one or more components of system 200 can communicate directly through a dedicated communication link(s), such as links between provisioning entity analysis system 210 , financial services system 220 , geographic data systems 230 , provisioning entity management systems 240 , and consuming entity data systems 250 .
  • provisioning entity analysis system 210 can include a data fusion system (e.g., data fusion system 100 ) for organizing data received from one or more of the components of system 200 .
  • a data fusion system e.g., data fusion system 100
  • FIG. 3 is a block diagram of an exemplary computer system 300 , consistent with embodiments of the present disclosure.
  • the components of system 200 such as provisioning entity analysis system 210 , financial service systems 220 , geographic data systems 230 , provisioning entity management systems 240 , and consuming entity data systems 250 may include the architecture based on or similar to that of computer system 300 .
  • computer system 300 includes a bus 302 or other communication mechanism for communicating information, and one or more hardware processors 304 (denoted as processor 304 for purposes of simplicity) coupled with bus 302 for processing information.
  • Hardware processor 304 can be, for example, one or more general-purpose microprocessors or it can be a reduced instruction set of one or more microprocessors.
  • Computer system 300 also includes a main memory 306 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304 .
  • Main memory 306 also can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304 .
  • Such instructions after being stored in non-transitory storage media accessible to processor 304 , render computer system 300 into a special-purpose machine that is customized to perform the operations specified in the instructions.
  • Computer system 300 further includes a read only memory (ROM) 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304 .
  • ROM read only memory
  • a storage device 310 such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc. is provided and coupled to bus 302 for storing information and instructions.
  • Computer system 300 can be coupled via bus 302 to a display 312 , such as a cathode ray tube (CRT), liquid crystal display, or touch screen, for displaying information to a computer user.
  • a display 312 such as a cathode ray tube (CRT), liquid crystal display, or touch screen
  • An input device 314 is coupled to bus 302 for communicating information and command selections to processor 304 .
  • cursor control 316 is Another type of user input device, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312 .
  • the input device typically has two degrees of freedom in two axes, a first axis (for example, x) and a second axis (for example, y), that allows the device to specify positions in a plane.
  • a first axis for example, x
  • a second axis for example, y
  • the same direction information and command selections as cursor control can be implemented via receiving touches on a touch screen without a cursor.
  • Computing system 300 can include a user interface module to implement a graphical user interface that can be stored in a mass storage device as executable software codes that are executed by the one or more computing devices.
  • This and other modules can include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • module refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, Lua, C or C++.
  • a software module can be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software modules can be callable from other modules or from themselves, and/or can be invoked in response to detected events or interrupts.
  • Software modules configured for execution on computing devices can be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution).
  • a computer readable medium such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution).
  • Such software code can be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device.
  • Software instructions can be embedded in firmware, such as an EPROM.
  • hardware modules can be comprised of connected logic units, such as gates and flip-flops, and/or can be comprised of programmable units, such as programmable gate arrays or processors.
  • the modules or computing device functionality described herein are
  • Computer system 300 can implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 300 to be a special-purpose machine. According to some embodiments, the operations, functionalities, and techniques and other features described herein are performed by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306 . Such instructions can be read into main memory 306 from another storage medium, such as storage device 310 . Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions.
  • non-transitory media refers to any non-transitory media storing data and/or instructions that cause a machine to operate in a specific fashion.
  • Such non-transitory media can comprise non-volatile media and/or volatile media.
  • Non-volatile media can include, for example, optical or magnetic disks, such as storage device 310 .
  • Volatile media can include dynamic memory, such as main memory 306 .
  • non-transitory media can include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
  • Non-transitory media is distinct from, but can be used in conjunction with, transmission media.
  • Transmission media can participate in transferring information between storage media.
  • transmission media can include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 302 .
  • Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • Various forms of media can be involved in carrying one or more sequences of one or more instructions to processor 304 for execution.
  • the instructions can initially be carried on a magnetic disk or solid state drive of a remote computer.
  • the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
  • a modem local to computer system 300 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
  • An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 302 .
  • Bus 302 carries the data to main memory 306 , from which processor 304 retrieves and executes the instructions.
  • the instructions received by main memory 306 can optionally be stored on storage device 310 either before or after execution by processor 304 .
  • Computer system 300 can also include a communication interface 318 coupled to bus 302 .
  • Communication interface 318 can provide a two-way data communication coupling to a network link 320 that can be connected to a local network 322 .
  • communication interface 318 can be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 318 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • Wireless links can also be implemented.
  • communication interface 318 can send and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Network link 320 can typically provide data communication through one or more networks to other data devices.
  • network link 320 can provide a connection through local network 322 to a host computer 324 or to data equipment operated by an Internet Service Provider (ISP) 326 .
  • ISP 326 in turn can provide data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 328 .
  • Internet 328 can both use electrical, electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link 320 and through communication interface 318 which carry the digital data to and from computer system 300 , can be example forms of transmission media.
  • Computer system 300 can send messages and receive data, including program code, through the network(s), network link 320 and communication interface 318 .
  • a server 330 can transmit a requested code for an application program through Internet 328 , ISP 326 , local network 322 and communication interface 318 .
  • the received code can be executed by processor 304 as it is received, and/or stored in storage device 310 , or other non-volatile storage for later execution.
  • server 330 can provide information for being displayed on a display.
  • FIG. 4 is a block diagram of an exemplary data structure 400 , consistent with embodiments of the present disclosure.
  • Data structure 400 can store data records associated with interactions involving multiple entities.
  • Data structure 400 can be, for example, a database (e.g., database 170 ) that can store elements of an object model (e.g., object model 160 ).
  • data structure 400 can be a Relational Database Management System (RDBMS) that stores interaction data as sections of rows of data in relational tables.
  • RDBMS Relational Database Management System
  • An RDBMS can be designed to efficiently return data for an entire row, or record, in as few operations as possible.
  • An RDBMS can store data by serializing each row of data of data structure 400 . For example, in an RDBMS, data associated with interaction 1 of FIG. 4 can be stored serially such that data associated with all categories of interaction 1 can be accessed in one operation.
  • data structure 400 can be a column-oriented database management system that stores data as sections of columns of data rather than rows of data.
  • This column-oriented DBMS can have advantages, for example, for data warehouses, customer relationship management systems, and library card catalogs, and other ad hoc inquiry systems where aggregates are computed over large numbers of similar data items.
  • a column-oriented DBMS can be more efficient than an RDBMS when an aggregate needs to be computed over many rows but only for a notably smaller subset of all columns of data, because reading that smaller subset of data can be faster than reading all data.
  • a column-oriented DBMS can be designed to efficiently return data for an entire column, in as few operations as possible.
  • a column-oriented DBMS can store data by serializing each column of data of data structure 400 . For example, in a column-oriented DBMS, data associated with a category (e.g., consuming entity identification category 420 ) can be stored serially such that data associated with that category for all interactions of data structure 400 can be accessed
  • data structure 400 can comprise data associated with a very large number of interactions associated with multiple entities.
  • data structure 400 can include 50 billion or more interactions.
  • interactions associated with multiple entities can be referred to as transactions between multiple entities.
  • the terms interactions and transactions are intended to convey the same meaning and can be used interchangeably throughout this disclosure. While each interaction of data structure 400 is depicted as a separate row in FIG. 4 , it will be understood that each such interaction can be represented by a column or any other known technique in the art. Each interaction data can include several categories of information.
  • the several categories can include, number category 410 ; consuming entity identification category 420 ; consuming entity location category 430 ; provisioning entity identification category 440 ; provisioning entity location category 450 ; type of provisioning entity category 460 ; interaction amount category 470 ; and time of interaction category 480 .
  • FIG. 4 is merely exemplary and that data structure 400 can include even more categories of information associated with an interaction.
  • Number category 410 can uniquely identify each interaction of data structure 400 .
  • data structure 400 depicts 50 billion interactions as illustrated by number category 410 of the last row of data structure 400 as 50,000,000,000.
  • each row depicting a interaction can be identified by an element number.
  • interaction number 1 can be identified by element 401 ; interaction number 2 can be identified by element 402 ; and so on such that interaction 50,000,000,000 can be identified by 499 B.
  • this disclosure is not limited to any number of interactions and further that this disclosure can extend to a data structure with more or fewer than 50 billion interactions. It is also appreciated that number category 410 need not exist in data structure 400 .
  • Consuming entity identification category 420 can identify a consuming entity.
  • consuming entity identification category 420 can represent a name (e.g., User 1 for interaction 401 ; User N for interaction 499 B) of the consuming entity.
  • consuming entity identification category 420 can represent a code uniquely identifying the consuming entity (e.g., CE002 for interaction 402 ).
  • the identifiers under the consuming entity identification category 420 can be a credit card number that can identify a person or a family, a social security number that can identify a person, a phone number or a MAC address associated with a cell phone of a user or family, or any other identifier.
  • Consuming entity location category 430 can represent a location information of the consuming entity.
  • consuming entity location category 430 can represent the location information by providing at least one of: a state of residence (e.g., state sub-category 432 ; California for element 401 ; unknown for interaction 405 ) of the consuming entity; a city of residence (e.g., city sub-category 434 ; Palo Alto for interaction 401 ; unknown for interaction 405 ) of the consuming entity; a zip code of residence (e.g., zip code sub-category 436 ; 94304 for interaction 401 ; unknown for interaction 405 ) of the consuming entity; and a street address of residence (e.g., street address sub-category 438 ; 123 Main St. for interaction 401 ; unknown for interaction 405 ) of the consuming entity.
  • a state of residence e.g., state sub-category 432 ; California for element 401 ; unknown for interaction 405
  • Provisioning entity identification category 440 can identify a provisioning entity (e.g., a merchant or a coffee shop). In some embodiments, provisioning entity identification category 440 can represent a name of the provisioning entity (e.g., Merchant 2 for interaction 402 ). Alternatively, provisioning entity identification category 440 can represent a code uniquely identifying the provisioning entity (e.g., PE001 for interaction 401 ). Provisioning entity location category 450 can represent location information of the provisioning entity.
  • a provisioning entity e.g., a merchant or a coffee shop.
  • provisioning entity identification category 440 can represent a name of the provisioning entity (e.g., Merchant 2 for interaction 402 ).
  • provisioning entity identification category 440 can represent a code uniquely identifying the provisioning entity (e.g., PE001 for interaction 401 ).
  • Provisioning entity location category 450 can represent location information of the provisioning entity.
  • provisioning entity location category 450 can represent the location information by providing at least one of: a state where the provisioning entity is located (e.g., state sub-category 452 ; California for interaction 401 ; unknown for interaction 402 ); a city where the provisioning entity is located (e.g., city sub-category 454 ; Palo Alto for interaction 401 ; unknown for interaction 402 ); a zip code where the provisioning entity is located (e.g., zip code sub-category 456 ; 94304 for interaction 401 ; unknown for interaction 402 ); and a street address where the provisioning entity is located (e.g., street address sub-category 458 ; 234 University Ave. for interaction 401 ; unknown for interaction 402 ).
  • a state where the provisioning entity is located e.g., state sub-category 452 ; California for interaction 401 ; unknown for interaction 402
  • a city where the provisioning entity is located e.g., city sub-
  • Type of provisioning entity category 460 can identify a type of the provisioning entity involved in each interaction.
  • type of provisioning entity category 460 of the provisioning entity can be identified by a category name customarily used in the industry (e.g., Gas Station for interaction 401 ) or by an identification code that can identify a type of the provisioning entity (e.g., TP E123 for interaction 403 ).
  • type of the provisioning entity category 460 can include a merchant category code (“MCC”) used by credit card companies to identify any business that accepts one of their credit cards as a form of payment.
  • MCC can be a four-digit number assigned to a business by credit card companies (e.g., American ExpressTM, MasterCardTM, VISATM) when the business first starts accepting one of their credit cards as a form of payment.
  • type of provisioning entity category 460 can further include a sub-category (not shown in FIG. 4 ), for example, type of provisioning entity sub-category 461 that can further identify a particular sub-category of provisioning entity.
  • an interaction can comprise a type of provisioning entity category 460 as a hotel and type of provisioning entity sub-category 461 as either a bed and breakfast hotel or a transit hotel. It will be understood that the above-described examples for type of provisioning entity category 460 and type of provisioning entity sub-category 461 are non-limiting and that data structure 400 can include other kinds of such categories and sub-categories associated with an interaction.
  • Interaction amount category 470 can represent a transaction amount (e.g., $74.56 for interaction 401 ) involved in each interaction.
  • Time of interaction category 480 can represent a time at which the interaction was executed.
  • time of interaction category 480 can be represented by a date (e.g., date sub-category 482 ; Nov. 23, 2013, for interaction 401 ) and time of the day (e.g., time sub-category 484 ; 10:32 AM local time for interaction 401 ).
  • Time sub-category 484 can be represented in either military time or some other format.
  • time sub-category 484 can be represented with a local time zone of either provisioning entity location category 450 or consuming entity location category 430 .
  • each interaction data can include categories of information including (not shown in FIG. 4 ), for example, consuming entity loyalty membership category, consuming entity credit card type category, consuming entity age category, consuming entity gender category, consuming entity income category, consuming entity with children category, product information category, and service information category.
  • Consuming entity loyalty membership category can represent whether the consuming entity is part of a loyalty membership program associated with a provisioning entity. For example, consuming entity loyalty membership category can represent that the consuming entity is a member of one of CostcoTM membership programs including Goldstar MemberTM, Executive MemberTM, and Business MemberTM.
  • Consuming entity credit card type category can represent the type of credit card used by the consuming entity for a particular interaction. For example, consuming entity credit card type category can indicate that the credit card used by the consuming entity for that particular interaction can be an American ExpressTM, MasterCardTM, VISATM, or DiscoverTM card. In some embodiments, consuming entity credit card type category can represent a kind of MasterCardTM (e.g., Gold MasterCardTM or Platinum MasterCardTM) used for a particular interaction.
  • MasterCardTM e.g., Gold MasterCardTM or Platinum MasterCardTM
  • consuming entity demographic information can be stored in each interaction.
  • consuming entity demographic information can include at least one of: consuming entity age category, consuming entity gender category, consuming entity income category, and consuming entity with children category.
  • consuming entity age category can represent age information associated with the consuming entity;
  • consuming entity gender category can represent gender information (e.g., Male or Female) associated with the consuming entity;
  • consuming entity income category can represent income information (e.g., greater than $100,000 per year) associated with the consuming entity; and consuming entity with children category can represent whether the consuming entity has any children under 18 or not.
  • consuming entity with children category can store information representing a number of children associated with the consuming entity.
  • Product information category can represent information associated with a product that is involved in an interaction.
  • product information category can represent that the product involved in the interaction is a particular type of product based on a stock keeping unit (“SKU”) of the product.
  • SKU stock keeping unit
  • the product's SKU can be unique to a particular provisioning entity involved in that particular interaction.
  • product information category can represent the product involved in the interaction with a at least one of a Universal Product Code, International Article Number, Global Trade Item Number, and Australian Product Number.
  • Service information category can represent information associated with a service that is involved in an interaction.
  • service information category can represent that the service involved in the interaction is a particular type of service based on an SKU of the service. It will be appreciated that an SKU can uniquely represent either a product or a service.
  • Some examples of services can be warranties, delivery fees, installation fees, and licenses.
  • FIG. 5 is a block diagram of an exemplary scenario depicting a system for analyzing entity performance, consistent with embodiments of the present disclosure.
  • System 500 depicts a scenario where a consuming entity (e.g., user of cell phone 505 ) can attempt to access a service at one or more provisioning entities (e.g., Website 1 542 , Website 2 544 , and/or Website 3 546 ).
  • the consuming entity can initiate an access request from cell phone 505 .
  • the access request can include a consuming entity identification such as, for example, a cell phone number or a MAC address associated with cell phone 505 .
  • the access request can then reach a cellular base station 515 through a communication link 510 .
  • communication link 510 can either be a wireless link (as shown in the exemplary embodiment of FIG. 5 ) or a wired link (not shown).
  • the access request can reach server 525 through network 520 .
  • Network 520 can be, for example, the Internet.
  • network 520 can be one of either a local area network, a wide area network, or an entity's intranet.
  • Server 525 can be a server located at a service provider (e.g., Verizon WirelessTM).
  • Server 525 can be, in some embodiments, an authentication, authorization, and accounting server (AAA server).
  • AAA server 525 can be a proxy server that can facilitate a communication between cell phone 505 and a server device at the provisioning entities (e.g., Website 1 542 ).
  • Access request can reach one of the provisioning entities after an authorization, authentication, and accounting process is complete. Access request can traverse to one of the provisioning entities through network 530 .
  • Network 530 can be similar to network 520 , as described above. After the authorized and authenticated access request reaches one of the provisioning entities, the consuming entity is allowed to access the provisioning entities.
  • user of cell phone 505 can access either Website 1 542 , Website 2 544 , or Website 3 546 , depending on details of the access request.
  • provisioning entities can be one of the websites GoogleTM, FacebookTM, and TwitterTM.
  • server 525 can store information regarding the user and/or cell phone accessing these provisioning entities.
  • Each access by a user of a website can be stored as an interaction in a data structure in Server 525 .
  • Server 525 can store such information in a data structure (e.g., data structure 400 ) comprising several categories of information including, but not limited to, an interaction number; consuming entity identification; consuming entity location; provisioning entity identification; provisioning entity location; type of provisioning entity; duration of interaction; and time of interaction.
  • the data structure can be analyzed by a data computation system (which can also be included in server 525 or similar devices) to analyze a performance of provisioning entities, for example, to estimate a number of unique consuming entities (e.g., users) per month, average amount of time a consuming entity spends on their website, time of the day where consuming entity traffic is highest or lowest, etc. It will be understood that any number of useful insights can be drawn by analyzing the data structure comprising interactions associated with consuming entities and provisioning entities. While FIG.
  • FIG. 5 depicts a use case scenario of a cell phone user (exemplary consuming entity) accessing a website (exemplary provisioning entity), it will be understood that a process of analyzing interaction between a consuming entity and a provisioning entity can be extended to any number of scenarios, including, financial transactions between consumers and banks; credit card transactions between a consumer and a provisioning entity like a grocery store, movie theatre, gas station, mall, etc.
  • embodiments of the invention relate to analyzing entity performance in real-time based on interactions (e.g., anonymized credit card or debit card transaction data) and potentially other data (e.g., merchant data).
  • interactions e.g., anonymized credit card or debit card transaction data
  • other data e.g., merchant data.
  • embodiments herein are related to U.S. patent application Ser. No. 14/306,138, entitled Methods and Systems for Analyzing Entity Performance, which is incorporated herein by reference.
  • FIG. 6 is a block diagram of an exemplary system 600 for analyzing entity performance, consistent with the embodiments of the present disclosure.
  • System 600 may include a server 610 , a network 620 , transaction data 630 , and point-of-sale (PoS) data 640 .
  • transaction data 630 can include, but is not limited to: card numbers, an issuing bank, a third party processor, a card association, a name, address, zip code, email address, or phone number associated with consuming entity, an address associated with a merchant, a type of provisioning entity (e.g., a pizza store), etc.
  • Transaction data 630 and PoS data 640 can be sent over network 620 to server 610 for processing.
  • Server 610 can act substantially similarly to server 525 of FIG. 5 .
  • it can store a data structure and a data computation system, and/or server 610 can comprise multiple electronic devices, etc.
  • transaction data 630 and PoS data can be included in a variety of storage devices, and transmitted to server 610 in real-time or near real-time.
  • consuming entities can include a purchaser of products or services. It should, however, be noted that in some embodiments an entity can be both a consuming entity and a provisioning entity.
  • information associated with interactions are stored in one or more databases such as VerticaTM or OracleTM, which can be stored in server 610 .
  • databases such as VerticaTM or OracleTM, which can be stored in server 610 .
  • An aggregate can be used to render information, such as statistics, time, and money on the display of one or more electronic devices with a graphical user interface, for example, as shown in FIG. 4 .
  • an aggregate can be computed once a week, once a day, less than every 15 minutes, less than every 5 minutes, or in real-time (or at least near real-time) by a data computation system, which can also be stored in server 610 .
  • Aggregates can be created by running queries (predefined or otherwise) on a data structure such as a data structure 400 .
  • Data computation systems used to create aggregates may use a variety of programming languages, such as Java, C, C++, etc., and store those aggregates in a data structure such as a distributed file system. Further, creating aggregates (e.g., processing queries) can be performed in parallel.
  • examples of an aggregate can include, but are not limited to: how much revenue a provisioning entity collected in a day; information representing market share of one or more provisioning entities in comparison to one or more other provisioning entities; location information; information representing wallet share associated with one or more provisioning entities and wallet share associated with one or more other provisioning entities (wherein wallet share includes a cost or time associated with an entity, such as how much money a consuming entity spent in a day at one or more provisioning entities and times associated therewith); etc.
  • Other examples of data included in an aggregate e.g., data used to create a cohort
  • U.S. patent application Ser. No. 14/306,138 as referenced above and incorporated in its entirety herein.
  • a user can determine information associated with various aggregates each hour of the day, week, etc. This data can be acquired from transaction data 630 , PoS data 640 , or both. Further, aggregates can have varying degrees of granularity, such that a user may see the behavior of various consuming entities within the previous 15 minutes, for example. As another example, by using a data computation system that updates frequently, a user may be able to view a display on a mobile device (e.g., smartphone, wearable computer, etc.) to see how and where consuming entities are while the user is away from their office during a weekend.
  • a mobile device e.g., smartphone, wearable computer, etc.
  • a user can view the last hundred transactions at a particular provisioning entity, or the last hundred transactions at a plurality of provisioning entities (including what products were purchased).
  • a user can view aggregates associated with a particular time.
  • embodiments described herein can allow a user to view aggregates, such as revenue or types of products sold, during a particular time during the previous week.
  • Various user interfaces described herein such as in FIG. 4 and in U.S. patent application Ser. No. 14/306,138 can display a plurality of aggregates, which can include various cohorts of consuming and/or provisioning entities and information associated therewith.
  • the interactions are processed using a data computation system (which can be a part of a real-time distributed computation environment) that supports stream-oriented processing.
  • the data structure storing the interactions is incrementally updated at particular intervals, to provide a user with real-time information about the interactions.
  • Example data computation systems include Apache's SparkTM or StormTM, which can operate in conjunction with the Hadoop Distributed File System and/or AmazonTM S3 which can store data structures that include transaction data, stream data, and other data discussed throughout this disclosure.
  • Distributed file systems can store data which Apache's SparkTM uses to compute aggregates, cohorts, and the like.
  • Example systems can be stored on hardware including one or more computers/servers, and/or other multi-tenant environments comprising hardware (e.g., servers 525 or 610 ).
  • multiple streams of data can be acquired, stored, and used by a data computation system to produce aggregates. These streams can be acquired from transaction data 630 , PoS data 640 , or both. Further, in some embodiments streams of data can be used to create smaller streams of data (sub-streams). For instance, a stream can be segmented by information associated with one or more particular provisioning entities or consuming entities. In some embodiments, thousands, or hundreds of thousands of sub-streams can be processed using embodiments described herein.
  • a first stream that includes data associated with credit card and/or debit card transactions can be acquired (e.g., from transaction data 630 ) along with a second stream that includes data associated with a particular PoS system (e.g., from PoS data 640 ). Information from these streams can be compared, combined, and/or otherwise modified to produce data and statistics included in aggregates in real or near-real time, which can subsequently be displayed to a user.
  • a first stream of data including information associated with credit and debit card interactions can include over three-hundred million transactions per day, for example.
  • This stream can include information associated with a location, a provisioning entity, a consuming entity, a Merchant Category Code (MCC), other information mentioned above with respect to FIG. 4 , etc.
  • MCC Merchant Category Code
  • Such a stream can also be divided into smaller streams, for instance, by provisioning entity (e.g., a merchant).
  • a second stream can be acquired that includes interaction information from a PoS system.
  • a stream can be segmented into a variety of different streams, or additional streams can be acquired in various embodiments.
  • Some PoS systems can acquire data such as goods or services purchased by a consuming entity. In various embodiments, PoS systems acquire less, the same, similar, or more data than a stream associated with credit card and/or debit cards.
  • PoS systems can acquire (and subsequently transmit) information including, but not limited to: information indicative of products that are selling the most in the store (either by volume or revenue); information associated with the profits associated with various objects sold; information associated with a consuming entity (such as their identity, home location, billing address, etc.); information associated with the location of products in a store (e.g., their position in a physical location); information associated with cash (e.g., paper money) or other currency used at the PoS; information associated with bitcoin or other virtual currency used at the PoS; the number of consuming entities serviced by the PoS system; credit cards or debit cards used at the PoS; metadata associated with credit cards, debit cards, or virtual currency used at a PoS; information associated with purchases that involved more than one payment type (e.g., splitting a payment over two credit cards, or partially paying for a good or service with cash); an average amount of money that a plurality of consuming entities spend at a particular PoS system or provisioning entity; data indicating how frequently a consuming entity makes
  • data streams can be segmented to include information associated with new customers, returning customers (e.g., consuming entities that make a purchase at a provisioning entity at least twice within a particular amount of time), determining a home location associated with an individual based on transaction data (e.g., anonymized credit card transaction data), local customers, and non-local customers (e.g., a customer that lives at least a particular distance from the provisioning entity that the customer is making a purchase at).
  • transaction data e.g., anonymized credit card transaction data
  • local customers e.g., anonymized credit card transaction data
  • non-local customers e.g., a customer that lives at least a particular distance from the provisioning entity that the customer is making a purchase at.
  • the aggregation of interaction information associated with these streams can be incrementally updated in a data structure (e.g., a distributed file system) in real-time, allowing a user to access a business portal and view a day-by-day, year-by-year, or even minute-by-minute break down of revenues generated, locations of interactions, etc.
  • a data structure e.g., a distributed file system
  • one or more electronic devices can process the data included in the data streams.
  • one or more electronic devices hosting a data computation system can process the data.
  • Various approaches can be implemented to process the data.
  • all relevant acquired and/or stored data from a stream can be processed by one or more electronic devices to produce one or more aggregates (referred to herein as a batch process).
  • a portion of the acquired and/or stored data from a stream can be processed by one or more electronic devices.
  • an electronic device can produce aggregates from data including previously produced aggregates.
  • a new aggregate e.g., a new query is added to create or modify aggregates
  • another update/modification to the embodiments described herein is introduced
  • a batch process may be performed (e.g., wherein queries are ran on all of the relevant data in the data structure).
  • Example queries can include, but are not limited to: customer visits (e.g., a query that is used to compute a the number of new and returning customers that have visited a particular merchant over various time periods (last X days, last Y weeks, last Z months, last W years, etc.); travel distance (e.g., a query that is used to compute a histogram over the distances that customers have traveled to visit a merchant; visit frequency (e.g., a query that is used to compute a histogram over the number of times that a customer has visited a merchant); return statistics (e.g., a query that is used to compute a histogram over the number of days that it took a customer to return a merchant after his/her last visit; busiest days (e.g., a query that is used to compute a histogram showing revenue and transaction counts broken down by day of week such as Sunday through Saturday); busiest hours (e.g., a query
  • sales numbers e.g., a query that is used to compute total revenue, number of distinct orders, number of distinct customers, and number of sold units over a given time period
  • item numbers e.g., a query that is used to compute histogram of revenue, order count, customer count, and unit count broken down by item SKU
  • accompanying items e.g., a query that is used to compute histogram of revenue, order count, customer count, and unit count broken down by pairs of item SKUs that have been bought together
  • recent transactions e.g., a query that is used to compute a rolling history of the K most recent transactions in a given time period
  • a batch process may not be necessary. For instance, data acquired from a stream can be processed along with previously acquired data (e.g., data that has already been used to produce an aggregate) to provide a user with information faster than if the aggregates were to be created using all of the data, as with a batch process.
  • predetermined queries can be run on data that has not been used to create an aggregate along with previously created aggregates. It should be appreciated that the previously aggregated data can include hundreds of millions of transactions and data associated therewith.
  • incrementally modifying aggregates can reduce processing time and the amount of resources required (e.g., memory, processing power, etc.), resulting in improvements to traditional computers. Further, incrementally modifying aggregates allows users to view the updated aggregates in real or near-real time.
  • a PoS system may be installed, replaced, changed, or otherwise modified.
  • a typical user does not want to only be able to see aggregates (e.g., sales, revenue, etc.) beginning at the point in time that the PoS system was installed (or when the PoS system started being used). Users typically want to see historical data predating the PoS system.
  • a stream can be acquired that contains additional information, such as information from before a new PoS system is installed.
  • a covert stream can be processed.
  • a covert stream can include two or more streams (e.g., it can include a blended stream). For instance, when a new PoS system is installed or otherwise reset such that it does not have access to historical data, in addition to the stream of data acquired from the PoS system, another stream of data can be acquired. In such a case, the data from a first stream that includes information associated with credit cards and/or debit cards can be blended with the data generated by the PoS system.
  • information associated with a cohort e.g., a group of entities
  • data associated with an entity such as an MCC, a location, the size of the entity or other criteria can be used to determine a cohort, and information associated with that cohort can be provided to a user. For instance, this information can be used to compare sales with a similar entity.
  • Information can be provided in a variety of methods. For instance, aggregates or other data can be provided via email, or when a user logs on to a web portal. Emails or information provided via a website can include summaries of data, such as interesting information associated with transactions that occurred during a previous week, month, or year. These summaries can be preformatted (e.g., to include information about a previous week's revenue). In some cases, one or more different aggregates can be selected and viewed by a user.
  • FIG. 7 is an illustration of an example display 700 , consistent with the embodiments of the present disclosure.
  • data generated by a data processing system can be used to create various illustrations.
  • display 700 illustrates a display 700 that discloses an average amount of money spent at various entities up to 15 minutes ago.
  • graphs or other types of displays based on data processed by the data processing system can be updated in real- or near-real-time, as discussed above.
  • entities 710 A, 710 B, and 710 C had a greater average revenue up to 15 minutes ago than entities 720 A, 720 B, or 720 C, which in turn had a greater average revenue than entities 730 A or 730 B.
  • FIG. 8 is a flowchart 800 representing an exemplary process for querying a data structure, consistent with embodiments of the present disclosure.
  • Flowchart 800 starts at step 810 and at step 820 acquires a first set of data and stores it in a data structure.
  • the first set of data can be transaction data (e.g., data associated with a card transaction such as a card number), and be inserted into a data store (distributed or otherwise) such as Hadoop's Distributed File System, VerticaTM, or AmazonTM S3.
  • This data can be acquired from transaction data 630 , PoS data 640 , or both.
  • the data in the data structure can include interactions between entities. For example, it may include an interaction between a consuming entity and a provisioning entity.
  • transaction data can be pulled from the data store into a computation system (distributed or otherwise), such as Apache's SparkTM.
  • a data computation system can process data and produce or update a plurality of aggregates, which after being computed are stored in a data store, which may include the data store that the transaction data was stored in.
  • a plurality of queries can be created and/or registered, and can be used to process data and produce or update aggregates. Queries may be used to extract particular data out of the data structure based on various attributes associated with the data in the data structure. These attributes can include the location of an entity, the estimated location of an entity, an amount of revenue associated with an entity, an amount of money in an entity's bank account, the name of an entity's bank, the age of an entity, people associated with an entity, etc.
  • a second set of data is acquired.
  • this data can be pulled from a data store, which may be a different data store or the same data store that the first set of data was pulled from.
  • the second set of data may be collected and/or added to the data structure before or after a set of queries are created and/or registered.
  • This second set of data can include interactions, or attributes associated with interactions.
  • the data structure is modified to include the second set of data.
  • the data structure can include both the first set of data and the second set of data.
  • additional sets of data can be collected and stored in addition to the second set of data.
  • additional data can be tagged. For instance, a set of data added on a particular date can be tagged with a unique identifier (e.g., the date).
  • the modified data structure is queried using the plurality of queries created and/or registered. As mentioned above, these queries may be registered before the second set of data is acquired or added to the data structure.
  • the data derived from the query can be provided to an electronic device (e.g., via a network), or otherwise displayed to a user.
  • an electronic device can create a web-consumable version of the aggregates. Aggregates can be used to generate and/or modify a key-value store (e.g., Apache's CassandraTM and/or Elasticsearch), where they can be accessed by the various front-end pieces of code. After being accessed, aggregates (or portions thereof) can be displayed to a user.
  • a key-value store e.g., Apache's CassandraTM and/or Elasticsearch

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Approaches for analyzing entity performance are disclosed. A first set of data and a second set of data can be stored in a data structure. This data can be associated with a plurality of interactions, and can be modified to include additional interactions. These interactions can involve consuming entities and provisioning entities. The modified data structure can be queried to retrieve information associated with one or more entities. After information is retrieved, it can be provided to a user.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of prior application Ser. No. 14/800,447, filed Jul. 15, 2015, entitled “METHODS AND SYSTEMS FOR ANALYZING ENTITY PERFORMANCE,” which claims the benefit of U.S. Provisional Application No. 62/160,541, filed May 12, 2015, entitled “METHODS AND SYSTEMS FOR ANALYZING ENTITY PERFORMANCE,” each of which is incorporated by reference herein in its entirety.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Reference will now be made to the accompanying drawings, which illustrate exemplary embodiments of the present disclosure and in which:
  • FIG. 1 illustrates, in block diagram form, an exemplary data fusion system for providing interactive data analysis, consistent with embodiments of the present disclosure.
  • FIG. 2 is a block diagram of an exemplary system for analyzing performance of an entity, consistent with embodiments of the present disclosure.
  • FIG. 3 is a block diagram of an exemplary computer system, consistent with embodiments of the present disclosure.
  • FIG. 4 is a block diagram of an exemplary data structure accessed in the process of analyzing entity performance, consistent with the embodiments of the present disclosure.
  • FIG. 5 is a block diagram of an exemplary scenario depicting a system for analyzing entity performance, consistent with the embodiments of the present disclosure.
  • FIG. 6 is a block diagram of an exemplary system for analyzing entity performance, consistent with the embodiments of the present disclosure.
  • FIG. 7 is an illustration of an example display, consistent with the embodiments of the present disclosure.
  • FIG. 8 is a flowchart representing an exemplary process for querying a data structure, consistent with embodiments of the present disclosure.
  • DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
  • Reference will now be made in detail to exemplary embodiments, the examples of which are illustrated in the accompanying drawings. Whenever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
  • Generally, embodiments of the invention relate to analyzing entity performance in real-time based on interactions (e.g., anonymized credit card or debit card transaction data) and potentially other data (e.g., merchant data). Types of interactions from which entity performance may be derived include, e.g., purchases made at a brick-and-mortar store or purchases made online. Large sets of interaction data may be filtered according to selectable criteria to provide, for example, information associated with the performance of a particular entity (e.g., a merchant). Such selectable criteria may include an amount spent at a particular location, times of purchases, time spent between purchases, types of merchants associated with purchase, demographics associated with a purchaser, purchaser identity, demographics associated with a location of a merchant, Merchant Category Codes (MCCs), types of products purchases, etc. In addition, the performance of the entity may be expressed in terms of tables, charts, graphs, or other visual aids, which illustrate performance in terms of revenue, wallet share, time, expenses, etc.
  • In some embodiments, data relating to the interactions may be stored in a real-time distributed computation environment that supports stream-oriented processing. For example, the data can be stored in a data structure using Hadoop's Distributed File System, Vertica™, or Amazon™ S3. In some embodiments, the data structure storing the interactions data may be incrementally updated at particular intervals by a data computation system, such as Apache's Spark™, providing a user with real-time or near real-time information about the interactions.
  • In one example, a first data stream including information associated with credit and debit card interactions is acquired at a data computation system and/or a data structure. This stream can include information relating to over three-hundred million transactions per day, for example. This stream can be divided into smaller streams. As an example, a particular interaction data stream may be divided into separate sub-streams, each based on a unique provisioning entity (e.g., a merchant). In addition, a second stream may be acquired that includes interaction information from a point-of-sale system. Different data streams or additional streams can also be acquired.
  • In some embodiments, the data streams can be segmented by a data computation system to include information associated with new customers (e.g., by determining whether the consuming entity, or information associated therewith, is included in the data structure), returning customers (e.g., by determining whether a consuming entity makes a purchase at a provisioning entity at least twice within a particular amount of time), determining a home location associated with an individual based on transaction data (e.g., anonymized credit card transaction data), local customers, and non-local customers. The aggregation of interaction information associated with these streams can be incrementally updated in the data structure in real-time, allowing a user to access a business portal and view a day-by-day, year-by-year, or even minute-by-minute break down of revenues generated, locations of interactions, etc.
  • Additional aspects relating to the invention may include different queries that can be run, and how they are registered with the data computation system. For example, in some embodiments the queries are registered with the system a priori in order to walk through a data set that is constantly being updated. For example, a query could be entered by a user into a graphical user interface and cause a data computation system to retrieve a plurality of merchants within a particular radius that sell pizza and have revenue over a particular amount for the instant day. Next, if a new merchant exceeds the queried amount later that day, as additional streams of information associated with interactions are received or otherwise become available, then that new merchant may be added to a table or other user interface in real-time such that someone using the system could see that the new merchant was also within the ambit of the predetermined query.
  • FIG. 1 illustrates, in block diagram form, an exemplary data fusion system 100 for providing interactive data analysis, consistent with embodiments of the present disclosure. Among other things, data fusion system 100 facilitates transformation of one or more data sources, such as data sources 130 (e.g., financial services systems 220, geographic data systems 230, provisioning entity management systems 240 and/or consuming entity data systems 250, as shown in FIG. 2) into an object model 160 whose semantics are defined by an ontology 150. The transformation can be performed for a variety of reasons. For example, a database administrator can import data from data sources 130 into a database 170 for persistently storing object model 160. As another example, a data presentation component (not depicted) can transform input data from data sources 130 “on the fly” into object model 160. The object model 160 can then be utilized, in conjunction with ontology 150, for analysis through graphs and/or other data visualization techniques.
  • Data fusion system 100 comprises a definition component 110 and a translation component 120, both implemented by one or more processors of one or more computing devices or systems executing hardware and/or software-based logic for providing various functionality and features of the present disclosure, as described herein. As will be appreciated from the present disclosure, data fusion system 100 can comprise fewer or additional components that provide the various functionalities and features described herein. Moreover, the number and arrangement of the components of data fusion system 100 responsible for providing the various functionalities and features described herein can further vary from embodiment to embodiment.
  • Definition component 110 generates and/or modifies ontology 150 and a schema map 140. Exemplary embodiments for defining an ontology (such as ontology 150) are described in U.S. Pat. No. 7,962,495 (the '495 patent), issued on Jun. 14, 2011, the entire contents of which are expressly incorporated herein by reference for all purposes. Consistent with certain embodiments disclosed in the '495 patent, a dynamic ontology may be used to create a database. To create a database ontology, one or more object types may be defined, where each object type includes one or more properties. The attributes of object types or property types of the ontology can be edited or modified at any time. And, for each property type, at least one parser definition may be created. The attributes of a parser definition can be edited or modified at any time.
  • In some embodiments, each property type is declared to be representative of one or more object types. A property type is representative of an object type when the property type is intuitively associated with the object type. Alternatively, each property type has one or more components and a base type. In some embodiments, a property type can comprise a string, a date, a number, or a composite type consisting of two or more string, date, or number elements. Thus, property types are extensible and can represent complex data structures. Further, a parser definition can reference a component of a complex property type as a unit or token.
  • An example of a property having multiple components is an Address property having a City component and a State component. An example of raw input data is “Los Angeles, Calif.” An example parser definition specifies an association of imported input data to object property components as follows: {CITY}, {STATE}→Address: State, Address: City. In some embodiments, the association {CITY}, {STATE} is defined in a parser definition using regular expression symbology. The association {CITY}, {STATE} indicates that a city string followed by a state string, and separated by a comma, comprises valid input data for a property of type Address. In contrast, input data of “Los Angeles Calif.” would not be valid for the specified parser definition, but a user could create a second parser definition that does match input data of “Los Angeles Calif.” The definition Address: City, Address: State specifies that matching input data values map to components named “City” and “State” of the Address property. As a result, parsing the input data using the parser definition results in assigning the value “Los Angeles” to the Address: City component of the Address property, and the value “CA” to the Address: State component of the Address property.
  • According to some embodiments, schema map 140 can define how various elements of schemas 135 for data sources 130 map to various elements of ontology 150. Definition component 110 receives, calculates, extracts, or otherwise identifies schemas 135 for data sources 130. Schemas 135 define the structure of data sources 130; for example, the names and other characteristics of tables, files, columns, fields, properties, and so forth. Definition component 110 furthermore optionally identifies sample data 136 from data sources 130. Definition component 110 can further identify object type, relationship, and property definitions from ontology 150, if any already exist. Definition component 110 can further identify pre-existing mappings from schema map 140, if such mappings exist.
  • Based on the identified information, definition component 110 can generate a graphical user interface 115. Graphical user interface 115 can be presented to users of a computing device via any suitable output mechanism (e.g., a display screen, an image projection, etc.), and can further accept input from users of the computing device via any suitable input mechanism (e.g., a keyboard, a mouse, a touch screen interface, etc.). Graphical user interface 115 features a visual workspace that visually depicts representations of the elements of ontology 150 for which mappings are defined in schema map 140.
  • In some embodiments, transformation component 120 can be invoked after schema map 140 and ontology 150 have been defined or redefined. Transformation component 120 identifies schema map 140 and ontology 150. Transformation component 120 further reads data sources 130 and identifies schemas 135 for data sources 130. For each element of ontology 150 described in schema map 140, transformation component 120 iterates through some or all of the data items of data sources 130, generating elements of object model 160 in the manner specified by schema map 140. In some embodiments, transformation component 120 can store a representation of each generated element of object model 160 in a database 170. In some embodiments, transformation component 120 is further configured to synchronize changes in object model 160 back to data sources 130.
  • Data sources 130 can be one or more sources of data, including, without limitation, spreadsheet files, databases, email folders, document collections, media collections, contact directories, and so forth. Data sources 130 can include data structures stored persistently in non-volatile memory. Data sources 130 can also or alternatively include temporary data structures generated from underlying data sources via data extraction components, such as a result set returned from a database server executing a database query.
  • Schema map 140, ontology 150, and schemas 135 can be stored in any suitable structures, such as XML files, database tables, and so forth. In some embodiments, ontology 150 is maintained persistently. Schema map 140 can or cannot be maintained persistently, depending on whether the transformation process is perpetual or a one-time event. Schemas 135 need not be maintained in persistent memory, but can be cached for optimization.
  • Object model 160 comprises collections of elements such as typed objects, properties, and relationships. The collections can be structured in any suitable manner. In some embodiments, a database 170 stores the elements of object model 160, or representations thereof. Alternatively, the elements of object model 160 are stored within database 170 in a different underlying format, such as in a series of object, property, and relationship tables in a relational database.
  • According to some embodiments, the functionalities, techniques, and components described herein are implemented by one or more special-purpose computing devices. The special-purpose computing devices can be hard-wired to perform the techniques, or can include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or can include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. Such special-purpose computing devices can also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices can be desktop computer systems, portable computer systems, handheld devices, networking devices, or any other device that incorporates hard-wired and/or program logic to implement the techniques.
  • Throughout this disclosure, reference will be made to an entity such as, for example, a provisioning entity and a consuming entity. It will be understood that a provisioning entity can include, for example, a merchant, a retail provisioning entity or the like, and a consuming entity can include, for example, a consumer user buying products or services from a provisioning entity. It will be understood that a consuming entity can represent either individual persons or can represent a group of persons (e.g., a group of persons living under one roof as part of a family). In some embodiments, a consuming entity can be a credit card number of an individual or a credit card number for an entire family sharing one credit card. It will also be understood that a provisioning entity can represent either the entity itself or individual persons involved with the entity.
  • In embodiments described herein, data fusion system 100 can provide a provisioning entity, such as a retail provisioning entity, to analyze information to identify behaviors to allow that provisioning entity to make more informed decisions. Such information can allow retail entities, such as a retail provisioning entity, to determine where to place their retail locations. Provisioning entities having more than one location (e.g., a merchant with a chain store or a franchise model) typically evaluate the performance of their locations and may adjust their business models or work flows when the locations under-perform. Typically, provisioning entities evaluate the performance of their locations based on period-to-period metrics. For example, a provisioning entity can evaluate a location's performance by comparing the current month's sales to the previous month's sales. In addition, provisioning entitles can evaluate each of its locations' performance using comparative analysis. For example, a provisioning entity might compare the sales at an area location with the sales at a second location. As provisioning entities generally measure the performance of its locations based on their own interaction data (e.g., the entity's sales across some or all of its locations), current methods of measuring performance do not consider sales made by competitors or demographic features of the areas of the provisioning entity's locations.
  • Since current performance evaluation methods do not consider the sales of competitors or the demographic features of the region of the provisioning entity location, measured performance may not represent the true performance of a provisioning entity. For instance, although a provisioning entity location in a low consumer spend capacity area might have less sales than a provisioning entity location in a high consumer spend capacity area, it may be performing better than what could be expected for that area in light of, for example, the low number of consumers residing in the area or the low income of the area. A performance of a provisioning entity at an area location can be adversely impacted by the close proximity of a second location of the provisioning entity, but the provisioning entity at the area location can be performing better than expected given the competition from the provisioning entity's second location. Conversely, while a provisioning entity location in a dense, high-income area might have the highest sales of all provisioning entity locations, it can still be under-performing because, for instance, consumer spend capacity is high and the provisioning entity location could generate more sales.
  • Consistent with embodiments of the present disclosure, the performance of provisioning entities can be analyzed based on how the provisioning entity is expected to perform given the location of the provisioning entity. For a given provisioning entity location, the disclosed embodiments may be implemented to consider, for example, consumer demographic features of the provisioning entity location's area and the proximity of competitors to the provisioning entity location (including the proximity of the provisioning entity's other close-by locations). In some embodiments, the provisioning entity can be a merchant. For purposes of illustration, exemplary embodiments for analyzing entity performance are described herein with reference to “merchants.” The exemplary embodiments and techniques described herein, however, may be applied to other types of entities (e.g., service providers, governmental agencies, etc.) within the spirit and scope of this disclosure.
  • FIG. 2 is a block diagram of an exemplary system 200 for performing one or more operations for analyzing performance of a provisioning entity and/or a consuming entity, consistent with disclosed embodiments. In some embodiments, the provisioning entity is a merchant and system 200 can include provisioning entity analysis system 210, one or more financial services systems 220, one or more geographic data systems 230, one or more provisioning entity management systems 240, and one or more consuming entity data systems 250. The components and arrangement of the components included in system 200 can vary depending on the embodiment. For example, the functionality described below with respect to financial services systems 220 can be embodied in consuming entity data systems 250, or vice-versa. Thus, system 200 can include fewer or additional components that perform or assist in the performance of one or more processes to analyze provisioning entity's, consistent with the disclosed embodiments.
  • One or more components of system 200 can be computing systems configured to analyze provisioning entity performance. As further described herein, components of system 200 can include one or more computing devices (e.g., computer(s), server(s), etc.), memory storing data and/or software instructions (e.g., database(s), memory devices, etc.), and other appropriate computing components. In some embodiments, the one or more computing devices are configured to execute software or a set of programmable instructions stored on one or more memory devices to perform one or more operations, consistent with the disclosed embodiments. Components of system 200 can be configured to communicate with one or more other components of system 200, including provisioning entity analysis system 210, one or more financial services systems 220, one or more geographic data systems 230, one or more provisioning entity management systems 240, and one or more consumer data systems 250. In certain aspects, users can operate one or more components of system 200. The one or more users can be employees of, or associated with, the entity corresponding to the respective component(s) (e.g., someone authorized to use the underlying computing systems or otherwise act on behalf of the entity).
  • Provisioning entity analysis system 210 can be a computing system configured to analyze provisioning entity performance. For example, provisioning entity analysis system 210 can be a computer system configured to execute software or a set of programmable instructions that collect or receive financial interaction data, consumer data, and provisioning entity data and process it to determine the actual transaction amount of each transaction associated with the provisioning entity. Provisioning entity analysis system 210 can be configured, in some embodiments, to utilize, include, or be a data fusion system 100 (see, e.g., FIG. 1) to transform data from various data sources (such as, financial services systems 220, geographic data systems 230, provisioning entity management systems 240, and consuming entity data systems 250) for processing. In some embodiments, provisioning entity analysis system 210 can be implemented using a computer system 300, as shown in FIG. 3 and described below.
  • Provisioning entity analysis system 210 can include one or more computing devices (e.g., server(s)), memory storing data and/or software instructions (e.g., database(s), memory devices, etc.) and other known computing components. According to some embodiments, provisioning entity analysis system 210 can include one or more networked computers that execute processing in parallel or use a distributed computing architecture. Provisioning entity analysis system 210 can be configured to communicate with one or more components of system 200, and it can be configured to provide analysis of provisioning entities via an interface(s) accessible by users over a network (e.g., the Internet). For example, provisioning entity analysis system 210 can include a web server that hosts a web page accessible through network 260 by provisioning entity management systems 240. In some embodiments, provisioning entity analysis system 210 can include an application server configured to provide data to one or more client applications executing on computing systems connected to provisioning entity analysis system 210 via network 260.
  • In some embodiments, provisioning entity analysis system 210 can be configured to determine the actual sales for a provisioning entity or specific provisioning entity location by processing and analyzing data collected from one or more components of system 200. For example, provisioning entity analysis system 210 can determine that the Big Box Merchant store located at 123 Main St, in Burbank, Calif. is actually generating $60,000 of sales per month. Provisioning entity analysis system 210 can provide an analysis of a provisioning entity or provisioning entity location's performance based on a target for sales and the actual sales for the provisioning entity or provisioning entity location. For example, for the Big Box Merchant store located at 123 Main St., Burbank, Calif., the provisioning entity analysis system 210 can provide an analysis that the store is performing above expectations.
  • Provisioning entity analysis system 210 can, in some embodiments, generate a user interface communicating data related to one or more provisioning entities or provisioning entity locations. For example, in some embodiments, provisioning entity analysis system 210 includes a web server that generates HTML code, or scripts capable of generating HTML code, that can be displayed in a web browser executing on computing device. Provisioning entity analysis system 210 can also execute an application server that provides user interface objects to a client application executing on a computing device, or it can provide data that is capable of being displayed in a user interface in a client application executing on a computing device. In some embodiments, provisioning entity analysis system 210 can generate user interfaces that can be displayed within another user interface. For example, provisioning entity analysis system 210 can generate a user interface for display within a parent user interface that is part of a word processing application, a presentation development application, a web browser, or an illustration application, among others. In some embodiments, generating a user interface can include generating the code that when executed displays information (e.g., HTML) on the user interface. Alternatively, generating a user interface can include providing commands and/or data to a set of instructions that when executed render a user interface capable of being shown on a display connected to a computing device. In some embodiments, the user interface can include a map, indications of the provisioning entity locations on a map, and indications of the sales or interactions associated with the provisioning entity locations.
  • Referring again to FIG. 2, financial services system 220 can be a computing system associated with a financial service provider, such as a bank, credit card issuer, credit bureau, credit agency, or other entity that generates, provides, manages, and/or maintains financial service accounts for one or more users. Financial services system 220 can generate, maintain, store, provide, and/or process financial data associated with one or more financial service accounts. Financial data can include, for example, financial service account data, such as financial service account identification data, account balance, available credit, existing fees, reward points, user profile information, and financial service account interaction data, such as interaction dates, interaction amounts, interaction types, and location of interaction. In some embodiments, each interaction of financial data can include several categories of information associated with the interaction. For example, each interaction can include categories such as number category; consuming entity identification category; consuming entity location category; provisioning entity identification category; provisioning entity location category; type of provisioning entity category; interaction amount category; and time of interaction category, as described in FIG. 4. It will be appreciated that financial data can comprise either additional or fewer categories than the exemplary categories listed above. Financial services system 220 can include infrastructure and components that are configured to generate and/or provide financial service accounts such as credit card accounts, checking accounts, savings account, debit card accounts, loyalty or reward programs, lines of credit, and the like.
  • Geographic data systems 230 can include one or more computing devices configured to provide geographic data to other computing systems in system 200 such as provisioning entity analysis system 210. For example, geographic data systems 230 can provide geodetic coordinates when provided with a street address of vice-versa. In some embodiments, geographic data systems 230 exposes an application programming interface (API) including one or more methods or functions that can be called remotely over a network, such as network 260. According to some embodiments, geographic data systems 230 can provide information concerning routes between two geographic points. For example, provisioning entity analysis system 210 can provide two addresses and geographic data systems 230 can provide, in response, the aerial distance between the two addresses, the distance between the two addresses using roads, and/or a suggested route between the two addresses and the route's distance.
  • According to some embodiments, geographic data systems 230 can also provide map data to provisioning entity analysis system 210 and/or other components of system 200. The map data can include, for example, satellite or overhead images of a geographic region or a graphic representing a geographic region. The map data can also include points of interest, such as landmarks, malls, shopping centers, schools, or popular restaurants or retailers, for example.
  • Provisioning entity management systems 240 can be one or more computing devices configured to perform one or more operations consistent with disclosed embodiments. For example, provisioning entity management systems 240 can be a desktop computer, a laptop, a server, a mobile device (e.g., tablet, smart phone, etc.), or any other type of computing device configured to request provisioning entity analysis from provisioning entity analysis system 210. According to some embodiments, provisioning entity management systems 240 can comprise a network-enabled computing device operably connected to one or more other presentation devices, which can themselves constitute a computing system. For example, provisioning entity management systems 240 can be connected to a mobile device, telephone, laptop, tablet, or other computing device.
  • Provisioning entity management systems 240 can include one or more processors configured to execute software instructions stored in memory. Provisioning entity management systems 240 can include software or a set of programmable instructions that when executed by a processor performs known Internet-related communication and content presentation processes. For example, provisioning entity management systems 240 can execute software or a set of instructions that generates and displays interfaces and/or content on a presentation device included in, or connected to, provisioning entity management systems 240. In some embodiments, provisioning entity management systems 240 can be a mobile device that executes mobile device applications and/or mobile device communication software that allows provisioning entity management systems 240 to communicate with components of system 200 over network 260. The disclosed embodiments are not limited to any particular configuration of provisioning entity management systems 240.
  • Provisioning entity management systems 240 can be one or more computing systems associated with a provisioning entity that provides products (e.g., goods and/or services), such as a restaurant (e.g., Outback Steakhouse®, Burger King®, etc.), retailer (e.g., Amazon.com®, Target®, etc.), grocery store, mall, shopping center, service provider (e.g., utility company, insurance company, financial service provider, automobile repair services, movie theater, etc.), non-profit organization (ACLU™, AARP®, etc.) or any other type of entity that provides goods, services, and/or information that consuming entities (i.e., end-users or other business entities) can purchase, consume, use, etc. For ease of discussion, the exemplary embodiments presented herein relate to purchase interactions involving goods from retail provisioning entity systems. Provisioning entity management systems 240, however, is not limited to systems associated with retail provisioning entities that conduct business in any particular industry or field.
  • Provisioning entity management systems 240 can be associated with computer systems installed and used at a brick and mortar provisioning entity locations where a consumer can physically visit and purchase goods and services. Such locations can include computing devices that perform financial service interactions with consumers (e.g., Point of Sale (POS) terminal(s), kiosks, etc.). Provisioning entity management systems 240 can also include back- and/or front-end computing components that store data and execute software or a set of instructions to perform operations consistent with disclosed embodiments, such as computers that are operated by employees of the provisioning entity (e.g., back office systems, etc.). Provisioning entity management systems 240 can also be associated with a provisioning entity that provides goods and/or service via known online or e-commerce types of solutions. For example, such a provisioning entity can sell products via a website using known online or e-commerce systems and solutions to market, sell, and process online interactions. Provisioning entity management systems 240 can include one or more servers that are configured to execute stored software or a set of instructions to perform operations associated with a provisioning entity, including one or more processes associated with processing purchase interactions, generating interaction data, generating product data (e.g., SKU data) relating to purchase interactions, for example.
  • Consuming entity data systems 250 can include one or more computing devices configured to provide demographic data regarding consumers. For example, consuming entity data systems 250 can provide information regarding the name, address, gender, income level, age, email address, or other information about consumers. Consuming entity data systems 250 can include public computing systems such as computing systems affiliated with the U.S. Bureau of the Census, the U.S. Bureau of Labor Statistics, or FedStats, or it can include private computing systems such as computing systems affiliated with financial institutions, credit bureaus, social media sites, marketing services, or some other organization that collects and provides demographic data.
  • Network 260 can be any type of network or combination of networks configured to provide electronic communications between components of system 200. For example, network 260 can be any type of network (including infrastructure) that provides communications, exchanges information, and/or facilitates the exchange of information, such as the Internet, a Local Area Network, or other suitable connection(s) that enables the sending and receiving of information between the components of system 200. Network 260 may also comprise any combination of wired and wireless networks. In other embodiments, one or more components of system 200 can communicate directly through a dedicated communication link(s), such as links between provisioning entity analysis system 210, financial services system 220, geographic data systems 230, provisioning entity management systems 240, and consuming entity data systems 250.
  • As noted above, provisioning entity analysis system 210 can include a data fusion system (e.g., data fusion system 100) for organizing data received from one or more of the components of system 200.
  • FIG. 3 is a block diagram of an exemplary computer system 300, consistent with embodiments of the present disclosure. The components of system 200 such as provisioning entity analysis system 210, financial service systems 220, geographic data systems 230, provisioning entity management systems 240, and consuming entity data systems 250 may include the architecture based on or similar to that of computer system 300.
  • As illustrated in FIG. 3, computer system 300 includes a bus 302 or other communication mechanism for communicating information, and one or more hardware processors 304 (denoted as processor 304 for purposes of simplicity) coupled with bus 302 for processing information. Hardware processor 304 can be, for example, one or more general-purpose microprocessors or it can be a reduced instruction set of one or more microprocessors.
  • Computer system 300 also includes a main memory 306, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304. Main memory 306 also can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304. Such instructions, after being stored in non-transitory storage media accessible to processor 304, render computer system 300 into a special-purpose machine that is customized to perform the operations specified in the instructions.
  • Computer system 300 further includes a read only memory (ROM) 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304. A storage device 310, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc. is provided and coupled to bus 302 for storing information and instructions.
  • Computer system 300 can be coupled via bus 302 to a display 312, such as a cathode ray tube (CRT), liquid crystal display, or touch screen, for displaying information to a computer user. An input device 314, including alphanumeric and other keys, is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is cursor control 316, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312. The input device typically has two degrees of freedom in two axes, a first axis (for example, x) and a second axis (for example, y), that allows the device to specify positions in a plane. In some embodiments, the same direction information and command selections as cursor control can be implemented via receiving touches on a touch screen without a cursor.
  • Computing system 300 can include a user interface module to implement a graphical user interface that can be stored in a mass storage device as executable software codes that are executed by the one or more computing devices. This and other modules can include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, Lua, C or C++. A software module can be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software modules can be callable from other modules or from themselves, and/or can be invoked in response to detected events or interrupts. Software modules configured for execution on computing devices can be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution). Such software code can be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device. Software instructions can be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules can be comprised of connected logic units, such as gates and flip-flops, and/or can be comprised of programmable units, such as programmable gate arrays or processors. The modules or computing device functionality described herein are preferably implemented as software modules, but can be represented in hardware or firmware. Generally, the modules described herein refer to logical modules that can be combined with other modules or divided into sub-modules despite their physical organization or storage.
  • Computer system 300 can implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 300 to be a special-purpose machine. According to some embodiments, the operations, functionalities, and techniques and other features described herein are performed by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. Such instructions can be read into main memory 306 from another storage medium, such as storage device 310. Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions.
  • The term “non-transitory media” as used herein refers to any non-transitory media storing data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media can comprise non-volatile media and/or volatile media. Non-volatile media can include, for example, optical or magnetic disks, such as storage device 310. Volatile media can include dynamic memory, such as main memory 306. Common forms of non-transitory media can include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
  • Non-transitory media is distinct from, but can be used in conjunction with, transmission media. Transmission media can participate in transferring information between storage media. For example, transmission media can include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • Various forms of media can be involved in carrying one or more sequences of one or more instructions to processor 304 for execution. For example, the instructions can initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 300 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 302. Bus 302 carries the data to main memory 306, from which processor 304 retrieves and executes the instructions. The instructions received by main memory 306 can optionally be stored on storage device 310 either before or after execution by processor 304.
  • Computer system 300 can also include a communication interface 318 coupled to bus 302. Communication interface 318 can provide a two-way data communication coupling to a network link 320 that can be connected to a local network 322. For example, communication interface 318 can be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 318 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 318 can send and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Network link 320 can typically provide data communication through one or more networks to other data devices. For example, network link 320 can provide a connection through local network 322 to a host computer 324 or to data equipment operated by an Internet Service Provider (ISP) 326. ISP 326 in turn can provide data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 328. Local network 322 and Internet 328 can both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 320 and through communication interface 318, which carry the digital data to and from computer system 300, can be example forms of transmission media.
  • Computer system 300 can send messages and receive data, including program code, through the network(s), network link 320 and communication interface 318. In the Internet example, a server 330 can transmit a requested code for an application program through Internet 328, ISP 326, local network 322 and communication interface 318. The received code can be executed by processor 304 as it is received, and/or stored in storage device 310, or other non-volatile storage for later execution. In some embodiments, server 330 can provide information for being displayed on a display.
  • FIG. 4 is a block diagram of an exemplary data structure 400, consistent with embodiments of the present disclosure. Data structure 400 can store data records associated with interactions involving multiple entities. Data structure 400 can be, for example, a database (e.g., database 170) that can store elements of an object model (e.g., object model 160). In some embodiments, data structure 400 can be a Relational Database Management System (RDBMS) that stores interaction data as sections of rows of data in relational tables. An RDBMS can be designed to efficiently return data for an entire row, or record, in as few operations as possible. An RDBMS can store data by serializing each row of data of data structure 400. For example, in an RDBMS, data associated with interaction 1 of FIG. 4 can be stored serially such that data associated with all categories of interaction 1 can be accessed in one operation.
  • Alternatively, data structure 400 can be a column-oriented database management system that stores data as sections of columns of data rather than rows of data. This column-oriented DBMS can have advantages, for example, for data warehouses, customer relationship management systems, and library card catalogs, and other ad hoc inquiry systems where aggregates are computed over large numbers of similar data items. A column-oriented DBMS can be more efficient than an RDBMS when an aggregate needs to be computed over many rows but only for a notably smaller subset of all columns of data, because reading that smaller subset of data can be faster than reading all data. A column-oriented DBMS can be designed to efficiently return data for an entire column, in as few operations as possible. A column-oriented DBMS can store data by serializing each column of data of data structure 400. For example, in a column-oriented DBMS, data associated with a category (e.g., consuming entity identification category 420) can be stored serially such that data associated with that category for all interactions of data structure 400 can be accessed in one operation.
  • As shown in FIG. 4, data structure 400 can comprise data associated with a very large number of interactions associated with multiple entities. For example, data structure 400 can include 50 billion or more interactions. In some embodiments, interactions associated with multiple entities can be referred to as transactions between multiple entities. Where appropriate, the terms interactions and transactions are intended to convey the same meaning and can be used interchangeably throughout this disclosure. While each interaction of data structure 400 is depicted as a separate row in FIG. 4, it will be understood that each such interaction can be represented by a column or any other known technique in the art. Each interaction data can include several categories of information. For example, the several categories can include, number category 410; consuming entity identification category 420; consuming entity location category 430; provisioning entity identification category 440; provisioning entity location category 450; type of provisioning entity category 460; interaction amount category 470; and time of interaction category 480. It will be understood that FIG. 4 is merely exemplary and that data structure 400 can include even more categories of information associated with an interaction.
  • Number category 410 can uniquely identify each interaction of data structure 400. For example, data structure 400 depicts 50 billion interactions as illustrated by number category 410 of the last row of data structure 400 as 50,000,000,000. In FIG. 4, each row depicting a interaction can be identified by an element number. For example, interaction number 1 can be identified by element 401; interaction number 2 can be identified by element 402; and so on such that interaction 50,000,000,000 can be identified by 499B. It will be understood that this disclosure is not limited to any number of interactions and further that this disclosure can extend to a data structure with more or fewer than 50 billion interactions. It is also appreciated that number category 410 need not exist in data structure 400.
  • Consuming entity identification category 420 can identify a consuming entity. In some embodiments, consuming entity identification category 420 can represent a name (e.g., User 1 for interaction 401; User N for interaction 499B) of the consuming entity. Alternatively, consuming entity identification category 420 can represent a code uniquely identifying the consuming entity (e.g., CE002 for interaction 402). For example, the identifiers under the consuming entity identification category 420 can be a credit card number that can identify a person or a family, a social security number that can identify a person, a phone number or a MAC address associated with a cell phone of a user or family, or any other identifier.
  • Consuming entity location category 430 can represent a location information of the consuming entity. In some embodiments, consuming entity location category 430 can represent the location information by providing at least one of: a state of residence (e.g., state sub-category 432; California for element 401; unknown for interaction 405) of the consuming entity; a city of residence (e.g., city sub-category 434; Palo Alto for interaction 401; unknown for interaction 405) of the consuming entity; a zip code of residence (e.g., zip code sub-category 436; 94304 for interaction 401; unknown for interaction 405) of the consuming entity; and a street address of residence (e.g., street address sub-category 438; 123 Main St. for interaction 401; unknown for interaction 405) of the consuming entity.
  • Provisioning entity identification category 440 can identify a provisioning entity (e.g., a merchant or a coffee shop). In some embodiments, provisioning entity identification category 440 can represent a name of the provisioning entity (e.g., Merchant 2 for interaction 402). Alternatively, provisioning entity identification category 440 can represent a code uniquely identifying the provisioning entity (e.g., PE001 for interaction 401). Provisioning entity location category 450 can represent location information of the provisioning entity. In some embodiments, provisioning entity location category 450 can represent the location information by providing at least one of: a state where the provisioning entity is located (e.g., state sub-category 452; California for interaction 401; unknown for interaction 402); a city where the provisioning entity is located (e.g., city sub-category 454; Palo Alto for interaction 401; unknown for interaction 402); a zip code where the provisioning entity is located (e.g., zip code sub-category 456; 94304 for interaction 401; unknown for interaction 402); and a street address where the provisioning entity is located (e.g., street address sub-category 458; 234 University Ave. for interaction 401; unknown for interaction 402).
  • Type of provisioning entity category 460 can identify a type of the provisioning entity involved in each interaction. In some embodiments, type of provisioning entity category 460 of the provisioning entity can be identified by a category name customarily used in the industry (e.g., Gas Station for interaction 401) or by an identification code that can identify a type of the provisioning entity (e.g., TP E123 for interaction 403). Alternatively, type of the provisioning entity category 460 can include a merchant category code (“MCC”) used by credit card companies to identify any business that accepts one of their credit cards as a form of payment. For example, MCC can be a four-digit number assigned to a business by credit card companies (e.g., American Express™, MasterCard™, VISA™) when the business first starts accepting one of their credit cards as a form of payment.
  • In some embodiments, type of provisioning entity category 460 can further include a sub-category (not shown in FIG. 4), for example, type of provisioning entity sub-category 461 that can further identify a particular sub-category of provisioning entity. For example, an interaction can comprise a type of provisioning entity category 460 as a hotel and type of provisioning entity sub-category 461 as either a bed and breakfast hotel or a transit hotel. It will be understood that the above-described examples for type of provisioning entity category 460 and type of provisioning entity sub-category 461 are non-limiting and that data structure 400 can include other kinds of such categories and sub-categories associated with an interaction.
  • Interaction amount category 470 can represent a transaction amount (e.g., $74.56 for interaction 401) involved in each interaction. Time of interaction category 480 can represent a time at which the interaction was executed. In some embodiments, time of interaction category 480 can be represented by a date (e.g., date sub-category 482; Nov. 23, 2013, for interaction 401) and time of the day (e.g., time sub-category 484; 10:32 AM local time for interaction 401). Time sub-category 484 can be represented in either military time or some other format. Alternatively, time sub-category 484 can be represented with a local time zone of either provisioning entity location category 450 or consuming entity location category 430.
  • In some embodiments, each interaction data can include categories of information including (not shown in FIG. 4), for example, consuming entity loyalty membership category, consuming entity credit card type category, consuming entity age category, consuming entity gender category, consuming entity income category, consuming entity with children category, product information category, and service information category.
  • Consuming entity loyalty membership category can represent whether the consuming entity is part of a loyalty membership program associated with a provisioning entity. For example, consuming entity loyalty membership category can represent that the consuming entity is a member of one of Costco™ membership programs including Goldstar Member™, Executive Member™, and Business Member™. Consuming entity credit card type category can represent the type of credit card used by the consuming entity for a particular interaction. For example, consuming entity credit card type category can indicate that the credit card used by the consuming entity for that particular interaction can be an American Express™, MasterCard™, VISA™, or Discover™ card. In some embodiments, consuming entity credit card type category can represent a kind of MasterCard™ (e.g., Gold MasterCard™ or Platinum MasterCard™) used for a particular interaction.
  • In some embodiments, consuming entity demographic information can be stored in each interaction. For example, consuming entity demographic information can include at least one of: consuming entity age category, consuming entity gender category, consuming entity income category, and consuming entity with children category. In some embodiments, consuming entity age category can represent age information associated with the consuming entity; consuming entity gender category can represent gender information (e.g., Male or Female) associated with the consuming entity; consuming entity income category can represent income information (e.g., greater than $100,000 per year) associated with the consuming entity; and consuming entity with children category can represent whether the consuming entity has any children under 18 or not. For example, if the consuming entity has children under 18, a positive indication can be stored and if the consuming entity does not has children under 18, a negative indication can be stored. In some embodiments, consuming entity with children category can store information representing a number of children associated with the consuming entity.
  • Product information category can represent information associated with a product that is involved in an interaction. For example, product information category can represent that the product involved in the interaction is a particular type of product based on a stock keeping unit (“SKU”) of the product. In some embodiments, the product's SKU can be unique to a particular provisioning entity involved in that particular interaction. Alternatively, product information category can represent the product involved in the interaction with a at least one of a Universal Product Code, International Article Number, Global Trade Item Number, and Australian Product Number. Service information category can represent information associated with a service that is involved in an interaction. For example, service information category can represent that the service involved in the interaction is a particular type of service based on an SKU of the service. It will be appreciated that an SKU can uniquely represent either a product or a service. Some examples of services can be warranties, delivery fees, installation fees, and licenses.
  • FIG. 5 is a block diagram of an exemplary scenario depicting a system for analyzing entity performance, consistent with embodiments of the present disclosure. System 500 depicts a scenario where a consuming entity (e.g., user of cell phone 505) can attempt to access a service at one or more provisioning entities (e.g., Website 1 542, Website 2 544, and/or Website 3 546). To access one of the provisioning entities, the consuming entity can initiate an access request from cell phone 505. The access request can include a consuming entity identification such as, for example, a cell phone number or a MAC address associated with cell phone 505. The access request can then reach a cellular base station 515 through a communication link 510. It will be understood that communication link 510 can either be a wireless link (as shown in the exemplary embodiment of FIG. 5) or a wired link (not shown). Next, the access request can reach server 525 through network 520. Network 520 can be, for example, the Internet. In some embodiments, network 520 can be one of either a local area network, a wide area network, or an entity's intranet. Server 525 can be a server located at a service provider (e.g., Verizon Wireless™). Server 525 can be, in some embodiments, an authentication, authorization, and accounting server (AAA server). In some embodiments, server 525 can be a proxy server that can facilitate a communication between cell phone 505 and a server device at the provisioning entities (e.g., Website 1 542).
  • Access request can reach one of the provisioning entities after an authorization, authentication, and accounting process is complete. Access request can traverse to one of the provisioning entities through network 530. Network 530 can be similar to network 520, as described above. After the authorized and authenticated access request reaches one of the provisioning entities, the consuming entity is allowed to access the provisioning entities. In this exemplary embodiment, user of cell phone 505 can access either Website 1 542, Website 2 544, or Website 3 546, depending on details of the access request. For example, provisioning entities can be one of the websites Google™, Facebook™, and Twitter™.
  • After a consuming entity (e.g., user of cell phone 505 or cell phone 505) accesses one of the provisioning entities, server 525 can store information regarding the user and/or cell phone accessing these provisioning entities. Each access by a user of a website can be stored as an interaction in a data structure in Server 525. Server 525 can store such information in a data structure (e.g., data structure 400) comprising several categories of information including, but not limited to, an interaction number; consuming entity identification; consuming entity location; provisioning entity identification; provisioning entity location; type of provisioning entity; duration of interaction; and time of interaction. The data structure can be analyzed by a data computation system (which can also be included in server 525 or similar devices) to analyze a performance of provisioning entities, for example, to estimate a number of unique consuming entities (e.g., users) per month, average amount of time a consuming entity spends on their website, time of the day where consuming entity traffic is highest or lowest, etc. It will be understood that any number of useful insights can be drawn by analyzing the data structure comprising interactions associated with consuming entities and provisioning entities. While FIG. 5, depicts a use case scenario of a cell phone user (exemplary consuming entity) accessing a website (exemplary provisioning entity), it will be understood that a process of analyzing interaction between a consuming entity and a provisioning entity can be extended to any number of scenarios, including, financial transactions between consumers and banks; credit card transactions between a consumer and a provisioning entity like a grocery store, movie theatre, gas station, mall, etc.
  • As described above, embodiments of the invention relate to analyzing entity performance in real-time based on interactions (e.g., anonymized credit card or debit card transaction data) and potentially other data (e.g., merchant data). In many ways, embodiments herein are related to U.S. patent application Ser. No. 14/306,138, entitled Methods and Systems for Analyzing Entity Performance, which is incorporated herein by reference.
  • FIG. 6 is a block diagram of an exemplary system 600 for analyzing entity performance, consistent with the embodiments of the present disclosure. System 600 may include a server 610, a network 620, transaction data 630, and point-of-sale (PoS) data 640. In various embodiments, transaction data 630 can include, but is not limited to: card numbers, an issuing bank, a third party processor, a card association, a name, address, zip code, email address, or phone number associated with consuming entity, an address associated with a merchant, a type of provisioning entity (e.g., a pizza store), etc. Transaction data 630 and PoS data 640 can be sent over network 620 to server 610 for processing. Server 610, can act substantially similarly to server 525 of FIG. 5. For example, it can store a data structure and a data computation system, and/or server 610 can comprise multiple electronic devices, etc. As will be discussed below, transaction data 630 and PoS data can be included in a variety of storage devices, and transmitted to server 610 in real-time or near real-time.
  • Large sets of interaction data can be filtered in real-time or near real-time, according to criteria to provide information associated with the performance of a particular provisioning entity (e.g., a merchant, a retail provisioning entity, or the like) as described with reference to FIGS. 4, 5, and 6. As described above, consuming entities can include a purchaser of products or services. It should, however, be noted that in some embodiments an entity can be both a consuming entity and a provisioning entity.
  • In various embodiments, information associated with interactions (also referred to as transactions) are stored in one or more databases such as Vertica™ or Oracle™, which can be stored in server 610. Some databases—whether row based or column based—are not suited well for high user scale or pre-computing large amounts of information, such as aggregation of information associated with interactions (referred to herein as an aggregate, aggregation, or information associated with one entity or a cohort of entities). An aggregate can be used to render information, such as statistics, time, and money on the display of one or more electronic devices with a graphical user interface, for example, as shown in FIG. 4. In various embodiments, an aggregate can be computed once a week, once a day, less than every 15 minutes, less than every 5 minutes, or in real-time (or at least near real-time) by a data computation system, which can also be stored in server 610. Aggregates can be created by running queries (predefined or otherwise) on a data structure such as a data structure 400. Data computation systems used to create aggregates may use a variety of programming languages, such as Java, C, C++, etc., and store those aggregates in a data structure such as a distributed file system. Further, creating aggregates (e.g., processing queries) can be performed in parallel.
  • As described above, examples of an aggregate can include, but are not limited to: how much revenue a provisioning entity collected in a day; information representing market share of one or more provisioning entities in comparison to one or more other provisioning entities; location information; information representing wallet share associated with one or more provisioning entities and wallet share associated with one or more other provisioning entities (wherein wallet share includes a cost or time associated with an entity, such as how much money a consuming entity spent in a day at one or more provisioning entities and times associated therewith); etc. Other examples of data included in an aggregate (e.g., data used to create a cohort) can be found in U.S. patent application Ser. No. 14/306,138, as referenced above and incorporated in its entirety herein.
  • By using real-time data (also referred to as streaming data) or near real-time data to create an aggregate, a user can determine information associated with various aggregates each hour of the day, week, etc. This data can be acquired from transaction data 630, PoS data 640, or both. Further, aggregates can have varying degrees of granularity, such that a user may see the behavior of various consuming entities within the previous 15 minutes, for example. As another example, by using a data computation system that updates frequently, a user may be able to view a display on a mobile device (e.g., smartphone, wearable computer, etc.) to see how and where consuming entities are while the user is away from their office during a weekend. As yet another example, a user can view the last hundred transactions at a particular provisioning entity, or the last hundred transactions at a plurality of provisioning entities (including what products were purchased). In some embodiments, a user can view aggregates associated with a particular time. For instance, embodiments described herein can allow a user to view aggregates, such as revenue or types of products sold, during a particular time during the previous week. Various user interfaces described herein such as in FIG. 4 and in U.S. patent application Ser. No. 14/306,138 can display a plurality of aggregates, which can include various cohorts of consuming and/or provisioning entities and information associated therewith.
  • In some embodiments, the interactions are processed using a data computation system (which can be a part of a real-time distributed computation environment) that supports stream-oriented processing. In some embodiments, the data structure storing the interactions is incrementally updated at particular intervals, to provide a user with real-time information about the interactions. Example data computation systems include Apache's Spark™ or Storm™, which can operate in conjunction with the Hadoop Distributed File System and/or Amazon™ S3 which can store data structures that include transaction data, stream data, and other data discussed throughout this disclosure. Distributed file systems can store data which Apache's Spark™ uses to compute aggregates, cohorts, and the like. Example systems can be stored on hardware including one or more computers/servers, and/or other multi-tenant environments comprising hardware (e.g., servers 525 or 610).
  • In various embodiments described herein, multiple streams of data can be acquired, stored, and used by a data computation system to produce aggregates. These streams can be acquired from transaction data 630, PoS data 640, or both. Further, in some embodiments streams of data can be used to create smaller streams of data (sub-streams). For instance, a stream can be segmented by information associated with one or more particular provisioning entities or consuming entities. In some embodiments, thousands, or hundreds of thousands of sub-streams can be processed using embodiments described herein.
  • In examples described below, a first stream that includes data associated with credit card and/or debit card transactions can be acquired (e.g., from transaction data 630) along with a second stream that includes data associated with a particular PoS system (e.g., from PoS data 640). Information from these streams can be compared, combined, and/or otherwise modified to produce data and statistics included in aggregates in real or near-real time, which can subsequently be displayed to a user.
  • A first stream of data including information associated with credit and debit card interactions can include over three-hundred million transactions per day, for example. This stream can include information associated with a location, a provisioning entity, a consuming entity, a Merchant Category Code (MCC), other information mentioned above with respect to FIG. 4, etc. Such a stream can also be divided into smaller streams, for instance, by provisioning entity (e.g., a merchant).
  • In addition, a second stream can be acquired that includes interaction information from a PoS system. Again, such a stream can be segmented into a variety of different streams, or additional streams can be acquired in various embodiments. Some PoS systems can acquire data such as goods or services purchased by a consuming entity. In various embodiments, PoS systems acquire less, the same, similar, or more data than a stream associated with credit card and/or debit cards. PoS systems can acquire (and subsequently transmit) information including, but not limited to: information indicative of products that are selling the most in the store (either by volume or revenue); information associated with the profits associated with various objects sold; information associated with a consuming entity (such as their identity, home location, billing address, etc.); information associated with the location of products in a store (e.g., their position in a physical location); information associated with cash (e.g., paper money) or other currency used at the PoS; information associated with bitcoin or other virtual currency used at the PoS; the number of consuming entities serviced by the PoS system; credit cards or debit cards used at the PoS; metadata associated with credit cards, debit cards, or virtual currency used at a PoS; information associated with purchases that involved more than one payment type (e.g., splitting a payment over two credit cards, or partially paying for a good or service with cash); an average amount of money that a plurality of consuming entities spend at a particular PoS system or provisioning entity; data indicating how frequently a consuming entity makes a transaction at a provisioning entity, and the frequency with which one or more consuming entities purchase one or more particular products; etc. PoS systems can also use various software and/or hardware systems to stream information to a data structure, as described above.
  • In some embodiments, data streams can be segmented to include information associated with new customers, returning customers (e.g., consuming entities that make a purchase at a provisioning entity at least twice within a particular amount of time), determining a home location associated with an individual based on transaction data (e.g., anonymized credit card transaction data), local customers, and non-local customers (e.g., a customer that lives at least a particular distance from the provisioning entity that the customer is making a purchase at). The aggregation of interaction information associated with these streams can be incrementally updated in a data structure (e.g., a distributed file system) in real-time, allowing a user to access a business portal and view a day-by-day, year-by-year, or even minute-by-minute break down of revenues generated, locations of interactions, etc. Of course, all of the above-mentioned functions can be performed by a data
  • As noted above, in various embodiments one or more electronic devices can process the data included in the data streams. For example, one or more electronic devices hosting a data computation system (such as Apache's Spark™) can process the data. Various approaches can be implemented to process the data.
  • For example, all relevant acquired and/or stored data from a stream can be processed by one or more electronic devices to produce one or more aggregates (referred to herein as a batch process). In some cases, a portion of the acquired and/or stored data from a stream can be processed by one or more electronic devices. For instance, an electronic device can produce aggregates from data including previously produced aggregates. In such embodiments, it is possible for a device to incrementally update aggregates as additional information is acquired (e.g., from one or more streams of data).
  • Various approaches may be useful based on the type of task performed. For example, if previously collected data needs to be edited, if a new aggregate is created (e.g., a new query is added to create or modify aggregates), and/or another update/modification to the embodiments described herein is introduced, then a batch process may be performed (e.g., wherein queries are ran on all of the relevant data in the data structure).
  • Numerous queries can be run on a data structure using a data processing system. Example queries can include, but are not limited to: customer visits (e.g., a query that is used to compute a the number of new and returning customers that have visited a particular merchant over various time periods (last X days, last Y weeks, last Z months, last W years, etc.); travel distance (e.g., a query that is used to compute a histogram over the distances that customers have traveled to visit a merchant; visit frequency (e.g., a query that is used to compute a histogram over the number of times that a customer has visited a merchant); return statistics (e.g., a query that is used to compute a histogram over the number of days that it took a customer to return a merchant after his/her last visit; busiest days (e.g., a query that is used to compute a histogram showing revenue and transaction counts broken down by day of week such as Sunday through Saturday); busiest hours (e.g., a query that is used to compute a histogram showing revenue and transaction counts broken down by hour of day; daily transactions (e.g., a query that is used to compute a histogram showing revenue and transaction counts broken down by date); minutely transactions (e.g., a query that is used to compute a histogram showing revenue and transaction counts broken down by minute); customer home location map (e.g., a query that is used to compute a heatmap/choropleth showing inferred customer home locations for a merchant); customer spend map (e.g., a query that is used to compute a heatmap/choropleth showing inferred customer spend locations for a merchant); revenue by payment type (e.g., a query that is used to compute a histogram showing revenue and transaction counts broken down by payment type (e.g., credit vs. cash)); sales numbers (e.g., a query that is used to compute total revenue, number of distinct orders, number of distinct customers, and number of sold units over a given time period); item numbers (e.g., a query that is used to compute histogram of revenue, order count, customer count, and unit count broken down by item SKU); accompanying items (e.g., a query that is used to compute histogram of revenue, order count, customer count, and unit count broken down by pairs of item SKUs that have been bought together); recent transactions (e.g., a query that is used to compute a rolling history of the K most recent transactions in a given time period), etc.
  • In some embodiments, where the aggregates are incrementally updated, a batch process may not be necessary. For instance, data acquired from a stream can be processed along with previously acquired data (e.g., data that has already been used to produce an aggregate) to provide a user with information faster than if the aggregates were to be created using all of the data, as with a batch process. In various embodiments, predetermined queries can be run on data that has not been used to create an aggregate along with previously created aggregates. It should be appreciated that the previously aggregated data can include hundreds of millions of transactions and data associated therewith. Thus, incrementally modifying aggregates can reduce processing time and the amount of resources required (e.g., memory, processing power, etc.), resulting in improvements to traditional computers. Further, incrementally modifying aggregates allows users to view the updated aggregates in real or near-real time.
  • In some embodiments, a PoS system may be installed, replaced, changed, or otherwise modified. In such a case, a typical user does not want to only be able to see aggregates (e.g., sales, revenue, etc.) beginning at the point in time that the PoS system was installed (or when the PoS system started being used). Users typically want to see historical data predating the PoS system. In such a case, a stream can be acquired that contains additional information, such as information from before a new PoS system is installed.
  • In some embodiments, a covert stream can be processed. A covert stream can include two or more streams (e.g., it can include a blended stream). For instance, when a new PoS system is installed or otherwise reset such that it does not have access to historical data, in addition to the stream of data acquired from the PoS system, another stream of data can be acquired. In such a case, the data from a first stream that includes information associated with credit cards and/or debit cards can be blended with the data generated by the PoS system. In some embodiments, information associated with a cohort (e.g., a group of entities), can be provided to a user based on data associated with an entity. In some cases, data associated with an entity such as an MCC, a location, the size of the entity or other criteria can be used to determine a cohort, and information associated with that cohort can be provided to a user. For instance, this information can be used to compare sales with a similar entity.
  • Information can be provided in a variety of methods. For instance, aggregates or other data can be provided via email, or when a user logs on to a web portal. Emails or information provided via a website can include summaries of data, such as interesting information associated with transactions that occurred during a previous week, month, or year. These summaries can be preformatted (e.g., to include information about a previous week's revenue). In some cases, one or more different aggregates can be selected and viewed by a user.
  • FIG. 7 is an illustration of an example display 700, consistent with the embodiments of the present disclosure. In various embodiments, data generated by a data processing system can be used to create various illustrations. For example, display 700 illustrates a display 700 that discloses an average amount of money spent at various entities up to 15 minutes ago. Of course, in various embodiments, such illustrations, graphs or other types of displays based on data processed by the data processing system can be updated in real- or near-real-time, as discussed above. As the example in display 700 illustrates, entities 710A, 710B, and 710C had a greater average revenue up to 15 minutes ago than entities 720A, 720B, or 720C, which in turn had a greater average revenue than entities 730A or 730B. This is shown by the indicator bar on the right that shows the relative revenues of entities with the shading of boxes 740, 750, and 760. Of course, a number of different queries can be run on a data processing system to determine other attributes of entities, such as an average revenue in the last week, day, hour, etc. Further, as mentioned above, various graphs, maps, pie charts, textual displays, types of stores, etc. can be displayed in a display such as 700 based at least in part on the data processed by a data processing system such as Apache's Spark™.
  • FIG. 8 is a flowchart 800 representing an exemplary process for querying a data structure, consistent with embodiments of the present disclosure. Flowchart 800 starts at step 810 and at step 820 acquires a first set of data and stores it in a data structure. For example, the first set of data can be transaction data (e.g., data associated with a card transaction such as a card number), and be inserted into a data store (distributed or otherwise) such as Hadoop's Distributed File System, Vertica™, or Amazon™ S3. This data can be acquired from transaction data 630, PoS data 640, or both. As described above and in the patent associated by reference herein, the data in the data structure can include interactions between entities. For example, it may include an interaction between a consuming entity and a provisioning entity. In various embodiments, transaction data can be pulled from the data store into a computation system (distributed or otherwise), such as Apache's Spark™.
  • As discussed above, in various embodiments a data computation system can process data and produce or update a plurality of aggregates, which after being computed are stored in a data store, which may include the data store that the transaction data was stored in. For example, at step 830, a plurality of queries can be created and/or registered, and can be used to process data and produce or update aggregates. Queries may be used to extract particular data out of the data structure based on various attributes associated with the data in the data structure. These attributes can include the location of an entity, the estimated location of an entity, an amount of revenue associated with an entity, an amount of money in an entity's bank account, the name of an entity's bank, the age of an entity, people associated with an entity, etc.
  • At step 840, a second set of data is acquired. Similarly, this data can be pulled from a data store, which may be a different data store or the same data store that the first set of data was pulled from. The second set of data may be collected and/or added to the data structure before or after a set of queries are created and/or registered. This second set of data can include interactions, or attributes associated with interactions.
  • At step 850, the data structure is modified to include the second set of data. As such, the data structure can include both the first set of data and the second set of data. Of course, additional sets of data can be collected and stored in addition to the second set of data. Also, additional data can be tagged. For instance, a set of data added on a particular date can be tagged with a unique identifier (e.g., the date).
  • At step 860, the modified data structure is queried using the plurality of queries created and/or registered. As mentioned above, these queries may be registered before the second set of data is acquired or added to the data structure. In any event, the data derived from the query can be provided to an electronic device (e.g., via a network), or otherwise displayed to a user. In some embodiments, an electronic device can create a web-consumable version of the aggregates. Aggregates can be used to generate and/or modify a key-value store (e.g., Apache's Cassandra™ and/or Elasticsearch), where they can be accessed by the various front-end pieces of code. After being accessed, aggregates (or portions thereof) can be displayed to a user.
  • At step 870 flowchart 800 ends.
  • Embodiments of the present disclosure have been described herein with reference to numerous specific details that can vary from implementation to implementation. Certain adaptations and modifications of the described embodiments can be made. Other embodiments can be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the present disclosure being indicated by the following claims. It is also intended that the sequence of steps shown in figures are only for illustrative purposes and are not intended to be limited to any particular sequence of steps. As such, it is appreciated that these steps can be performed in a different order while implementing the exemplary methods or processes disclosed herein.

Claims (20)

1. A system comprising:
one or more computer processors;
one or more computer memories;
a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations for displaying an aggregate in at least near-real-time in a user interface, the facilitating including reducing an amount of processing time required to perform the displaying of the aggregate by incrementally updating the aggregate, the operations comprising:
producing the aggregate by running a query on a data structure storing a first set of data relating to interactions performed by a plurality of entities;
creating a modified data structure based on the data structure, the modified data structure including a second set of data relating to the interactions performed by the plurality of entities into the aggregate; and
based on the incremental updating of the aggregate, running the query on the modified data structure and modifying the user interface in at least near-real time to include at least some of the second set of data.
2. The system of claim 1, wherein the data structure is stored in random access memory of a cluster computing framework configured to process data within the data structure in at least near real-time.
3. The system of claim 1, wherein the first set of data is segmented by new customers and returning customers by determining whether a consuming entity identified in the first set of data or the second set of data has made multiple purchases within a predetermined amount of time.
4. The system of claim 1, wherein the first set of data and the second set of data are segmented by local customers and non-local customers by comparing a home address of a consuming entity with the first set of data or the second set of data.
5. The system of claim 1, wherein the second set of data corresponds to a consuming entity and at least one of a set of consuming entity categories, the consuming entity categories including at least one of identification, location, loyalty, credit card type, age, gender, income, children, product information, and service information.
6. The system of claim 1, where the second set of data is used to determine a cohort and the modifying of the user interface includes updating a comparison of entities in the cohort.
7. The system of claim 1, wherein the incremental updating of the aggregate includes running the query on the second set of data as it is acquired from a data stream after the producing of the aggregate.
8. A method comprising:
performing operations for displaying an aggregate in at least near-real-time in a user interface, the facilitating including reducing an amount of processing time required to perform the displaying of the aggregate by incrementally updating the aggregate, the operations comprising:
producing the aggregate by running a query on a data structure storing a first set of data relating to interactions performed by a plurality of entities;
creating a modified data structure based on the data structure, the modified data structure including a second set of data relating to the interactions performed by the plurality of entities into the aggregate; and
based on the incremental updating of the aggregate, running the query on the modified data structure and modifying the user interface in at least near-real time to include at least some of the second set of data.
9. The method of claim 8, wherein the data structure is stored in random access memory of a cluster computing framework configured to process data within the data structure in at least near real-time.
10. The method of claim 8, wherein the first set of data is segmented by new customers and returning customers by determining whether a consuming entity identified in the first set of data or the second set of data has made multiple purchases within a predetermined amount of time.
11. The method of claim 8, wherein the first set of data and the second set of data are segmented by local customers and non-local customers by comparing a home address of a consuming entity with the first set of data or the second set of data.
12. The method of claim 8, wherein the second set of data corresponds to a consuming entity and at least one of a set of consuming entity categories, the consuming entity categories including at least one of identification, location, loyalty, credit card type, age, gender, income, children, product information, and service information.
13. The method of claim 8, where the second set of data is used to determine a cohort and the modifying of the user interface includes updating a comparison of entities in the cohort.
14. The method of claim 8, wherein the incremental updating of the aggregate includes running the query on the second set of data as it is acquired from a data stream after the producing of the aggregate.
15. A non-transitory computer-readable medium storing a set of instructions that are executable by one or more processors of an apparatus to cause the apparatus to perform operations for displaying an aggregate in at least near-real-time in a user interface, the facilitating including reducing an amount of processing time required to perform the displaying of the aggregate by incrementally updating the aggregate, the operations comprising
producing the aggregate by running a query on a data structure storing a first set of data relating to interactions performed by a plurality of entities;
creating a modified data structure based on the data structure, the modified data structure including a second set of data relating to the interactions performed by the plurality of entities into the aggregate; and
based on the incremental updating of the aggregate, running the query on the modified data structure and modifying the user interface in at least near-real time to include at least some of the second set of data.
16. The non-transitory computer-readable medium of claim 15, wherein the data structure is stored in random access memory of a cluster computing framework configured to process data within the data structure in at least near real-time.
17. The non-transitory computer-readable medium of claim 15, wherein the first set of data is segmented by new customers and returning customers by determining whether a consuming entity identified in the first set of data or the second set of data has made multiple purchases within a predetermined amount of time.
18. The non-transitory computer-readable medium of claim 15, wherein the first set of data and the second set of data are segmented by local customers and non-local customers by comparing a home address of a consuming entity with the first set of data or the second set of data.
19. The non-transitory computer-readable medium of claim 15, wherein the second set of data corresponds to a consuming entity and at least one of a set of consuming entity categories, the consuming entity categories including at least one of identification, location, loyalty, credit card type, age, gender, income, children, product information, and service information.
20. The non-transitory computer-readable medium of claim 15, where the second set of data is used to determine a cohort and the modifying of the user interface includes updating a comparison of entities in the cohort.
US16/120,526 2015-05-12 2018-09-04 Methods and systems for analyzing entity performance Abandoned US20190020557A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/120,526 US20190020557A1 (en) 2015-05-12 2018-09-04 Methods and systems for analyzing entity performance

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562160541P 2015-05-12 2015-05-12
US14/800,447 US10103953B1 (en) 2015-05-12 2015-07-15 Methods and systems for analyzing entity performance
US16/120,526 US20190020557A1 (en) 2015-05-12 2018-09-04 Methods and systems for analyzing entity performance

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/800,447 Continuation US10103953B1 (en) 2015-05-12 2015-07-15 Methods and systems for analyzing entity performance

Publications (1)

Publication Number Publication Date
US20190020557A1 true US20190020557A1 (en) 2019-01-17

Family

ID=63761367

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/800,447 Active US10103953B1 (en) 2015-05-12 2015-07-15 Methods and systems for analyzing entity performance
US16/120,526 Abandoned US20190020557A1 (en) 2015-05-12 2018-09-04 Methods and systems for analyzing entity performance

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/800,447 Active US10103953B1 (en) 2015-05-12 2015-07-15 Methods and systems for analyzing entity performance

Country Status (1)

Country Link
US (2) US10103953B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10460602B1 (en) * 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US11263227B2 (en) 2013-11-04 2022-03-01 Palantir Technologies Inc. Interactive vehicle information map

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170200176A1 (en) * 2016-01-07 2017-07-13 Vantiv, Llc Systems and methods for tracking consumer spend behaviors
US9892020B1 (en) * 2016-03-11 2018-02-13 Signalfx, Inc. User interface for specifying data stream processing language programs for analyzing instrumented software
CA3028728A1 (en) * 2016-06-23 2017-12-28 Capital One Services, Llc Neural network systems and methods for generating distributed representations of electronic transaction information
US10902445B2 (en) * 2017-11-13 2021-01-26 International Business Machines Corporation Location evaluation
US11328309B1 (en) * 2018-03-20 2022-05-10 Worldpay, Llc Methods and systems for data analytics for payment facilitators
US11222048B2 (en) * 2018-10-23 2022-01-11 Yext, Inc. Knowledge search system
US20230119584A1 (en) * 2018-11-02 2023-04-20 Verona Holdings Sezc Pricing analytics for cryptographic tokens that link to real world objects
EP3874440A4 (en) 2018-11-02 2022-07-27 Verona Holdings Sezc A tokenization platform
JP7652765B2 (en) 2019-09-26 2025-03-27 ヤクブ シリフカ,ルカシュ Distributed ledger lending system with smart contract architecture and method thereof
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11972470B2 (en) 2020-04-01 2024-04-30 The Boston Consulting Group, Inc. Systems and methods for identifying item substitutions
US11321763B2 (en) * 2020-04-01 2022-05-03 The Boston Consulting Group, Inc. Systems for generating vectors for stock keeping units using a neural network
EP4420059A4 (en) * 2021-10-22 2025-08-06 William Edward Quigley Crawling and clustering of distributed ledger data, push-based advertising with digital tokens, and smart contract escrow to reduce the risk of digital token sales

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100145772A1 (en) * 2000-12-20 2010-06-10 Mccauley Sean System and Method for Analyzing Customer Segments
US20150101062A1 (en) * 2010-02-25 2015-04-09 American Express Travel Related Services Company, Inc. System and method for online data processing

Family Cites Families (583)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610815A (en) 1989-12-11 1997-03-11 Caterpillar Inc. Integrated vehicle positioning and navigation system, apparatus and method
US5021792A (en) 1990-01-12 1991-06-04 Rockwell International Corporation System for determining direction or attitude using GPS satellite signals
US5241625A (en) 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
US6101479A (en) * 1992-07-15 2000-08-08 Shaw; James G. System and method for allocating company resources to fulfill customer expectations
US5670987A (en) 1993-09-21 1997-09-23 Kabushiki Kaisha Toshiba Virtual manipulating apparatus and method
US5777549A (en) 1995-03-29 1998-07-07 Cabletron Systems, Inc. Method and apparatus for policy-based alarm notification in a distributed network management environment
US5999911A (en) 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US5832218A (en) 1995-12-14 1998-11-03 International Business Machines Corporation Client/server electronic mail system for providng off-line client utilization and seamless server resynchronization
US6006242A (en) 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
US8725493B2 (en) 2004-01-06 2014-05-13 Neuric Llc Natural language parsing method to provide conceptual flow
US5845300A (en) 1996-06-05 1998-12-01 Microsoft Corporation Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items
US5897636A (en) 1996-07-11 1999-04-27 Tandem Corporation Incorporated Distributed object computer system with hierarchical name space versioning
US5878434A (en) 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
US5826021A (en) 1996-09-17 1998-10-20 Sun Microsystems, Inc. Disconnected write authorization in a client/server computing system
US5870559A (en) 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
CA2190043C (en) 1996-11-12 2001-10-16 Don E. Hameluck Buffered screen capturing software tool usability testing of computer applications
US6430305B1 (en) 1996-12-20 2002-08-06 Synaptics, Incorporated Identity verification methods
US6065026A (en) 1997-01-09 2000-05-16 Document.Com, Inc. Multi-user electronic document authoring system with prompted updating of shared language
US5966706A (en) 1997-02-19 1999-10-12 At&T Corp Local logging in a distributed database management computer system
US6026233A (en) 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6463404B1 (en) 1997-08-08 2002-10-08 British Telecommunications Public Limited Company Translation
US6374251B1 (en) 1998-03-17 2002-04-16 Microsoft Corporation Scalable system for clustering of large databases
US6141659A (en) 1998-05-12 2000-10-31 International Businss Machines Corporation Systems, methods and computer program products for retrieving documents from multiple document servers via a single client session
US6272489B1 (en) 1998-05-12 2001-08-07 International Business Machines Corp. Visually oriented, easily navigable search facility
US6134582A (en) 1998-05-26 2000-10-17 Microsoft Corporation System and method for managing electronic mail messages using a client-based database
US8396824B2 (en) 1998-05-28 2013-03-12 Qps Tech. Limited Liability Company Automatic data categorization with optimally spaced semantic seed terms
US7168039B2 (en) 1998-06-02 2007-01-23 International Business Machines Corporation Method and system for reducing the horizontal space required for displaying a column containing text data
US6243706B1 (en) 1998-07-24 2001-06-05 Avid Technology, Inc. System and method for managing the creation and production of computer generated works
US6243717B1 (en) 1998-09-01 2001-06-05 Camstar Systems, Inc. System and method for implementing revision management of linked data entities and user dependent terminology
US6232971B1 (en) 1998-09-23 2001-05-15 International Business Machines Corporation Variable modality child windows
US7213030B1 (en) 1998-10-16 2007-05-01 Jenkins Steven R Web-enabled transaction and collaborative management system
US6189003B1 (en) 1998-10-23 2001-02-13 Wynwyn.Com Inc. Online business directory with predefined search template for facilitating the matching of buyers to qualified sellers
US6560578B2 (en) 1999-03-12 2003-05-06 Expanse Networks, Inc. Advertisement selection system supporting discretionary target market characteristics
US6922699B2 (en) 1999-01-26 2005-07-26 Xerox Corporation System and method for quantitatively representing data objects in vector space
US7418399B2 (en) 1999-03-10 2008-08-26 Illinois Institute Of Technology Methods and kits for managing diagnosis and therapeutics of bacterial infections
US7762453B2 (en) 1999-05-25 2010-07-27 Silverbrook Research Pty Ltd Method of providing information via a printed substrate with every interaction
US7373592B2 (en) 1999-07-30 2008-05-13 Microsoft Corporation Modeless child windows for application programs
WO2001022285A2 (en) 1999-09-21 2001-03-29 Borthwick Andrew E A probabilistic record linkage model derived from training data
US6523019B1 (en) 1999-09-21 2003-02-18 Choicemaker Technologies, Inc. Probabilistic record linkage model derived from training data
US6519627B1 (en) 1999-09-27 2003-02-11 International Business Machines Corporation System and method for conducting disconnected transactions with service contracts for pervasive computing devices
WO2001025906A1 (en) 1999-10-01 2001-04-12 Global Graphics Software Limited Method and system for arranging a workflow using graphical user interface
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US7216115B1 (en) 1999-11-10 2007-05-08 Fastcase.Com, Inc. Apparatus and method for displaying records responsive to a database query
US6370538B1 (en) 1999-11-22 2002-04-09 Xerox Corporation Direct manipulation interface for document properties
US6944821B1 (en) 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US7194680B1 (en) 1999-12-07 2007-03-20 Adobe Systems Incorporated Formatting content by example
US6567936B1 (en) 2000-02-08 2003-05-20 Microsoft Corporation Data clustering using error-tolerant frequent item sets
US20040117387A1 (en) 2000-02-25 2004-06-17 Vincent Civetta Database sizing and diagnostic utility
US7188100B2 (en) 2000-02-25 2007-03-06 Joseph De Bellis Search-on-the-fly report generator
US20020032677A1 (en) 2000-03-01 2002-03-14 Jeff Morgenthaler Methods for creating, editing, and updating searchable graphical database and databases of graphical images and information and displaying graphical images from a searchable graphical database or databases in a sequential or slide show format
AU2001249276A2 (en) 2000-03-24 2001-10-08 Access Business Group International Llc System and method for detecting fraudulent transactions
US6642945B1 (en) 2000-05-04 2003-11-04 Microsoft Corporation Method and system for optimizing a visual display for handheld computer systems
IE20010467A1 (en) 2000-05-16 2001-11-28 Garrett O'carroll A document processing system and method
US8386945B1 (en) 2000-05-17 2013-02-26 Eastman Kodak Company System and method for implementing compound documents in a production printing workflow
EP1299743A2 (en) 2000-07-03 2003-04-09 Ecole Polytechnique Federale De Lausanne (Epfl) Method and wireless terminal for generating and maintaining a relative positioning system
US6967589B1 (en) 2000-08-11 2005-11-22 Oleumtech Corporation Gas/oil well monitoring system
GB2366498A (en) 2000-08-25 2002-03-06 Copyn Ltd Method of bookmarking a section of a web-page and storing said bookmarks
US6795868B1 (en) 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
TWI244617B (en) 2000-09-16 2005-12-01 Ibm A client/server-based data processing system for performing transactions between clients and a server and a method of performing the transactions
US20020065708A1 (en) 2000-09-22 2002-05-30 Hikmet Senay Method and system for interactive visual analyses of organizational interactions
US7430717B1 (en) 2000-09-26 2008-09-30 International Business Machines Corporation Method for adapting a K-means text clustering to emerging data
US8117281B2 (en) 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US8707185B2 (en) 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US6754640B2 (en) 2000-10-30 2004-06-22 William O. Bozeman Universal positive pay match, authentication, authorization, settlement and clearing system
US6978419B1 (en) 2000-11-15 2005-12-20 Justsystem Corporation Method and apparatus for efficient identification of duplicate and near-duplicate documents and text spans using high-discriminability text fragments
GB0029229D0 (en) 2000-11-30 2001-01-17 Unisys Corp Counter measures for irregularities in financial transactions
US7058648B1 (en) 2000-12-01 2006-06-06 Oracle International Corporation Hierarchy-based secured document repository
US20020103705A1 (en) 2000-12-06 2002-08-01 Forecourt Communication Group Method and apparatus for using prior purchases to select activities to present to a customer
US7529698B2 (en) 2001-01-16 2009-05-05 Raymond Anthony Joao Apparatus and method for providing transaction history information, account history information, and/or charge-back information
US6850317B2 (en) 2001-01-23 2005-02-01 Schlumberger Technology Corporation Apparatus and methods for determining velocity of oil in a flow stream
US9053222B2 (en) 2002-05-17 2015-06-09 Lawrence A. Lynn Patient safety processor
US7921123B2 (en) 2001-02-20 2011-04-05 Hartford Fire Insurance Company Method and system for processing physician claims over a network
US20100057622A1 (en) 2001-02-27 2010-03-04 Faith Patrick L Distributed Quantum Encrypted Pattern Generation And Scoring
US6775675B1 (en) 2001-04-04 2004-08-10 Sagemetrics Corporation Methods for abstracting data from various data structures and managing the presentation of the data
US6980984B1 (en) 2001-05-16 2005-12-27 Kanisa, Inc. Content provider systems and methods using structured data
US7877421B2 (en) 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US7865427B2 (en) 2001-05-30 2011-01-04 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US6665683B1 (en) 2001-06-22 2003-12-16 E. Intelligence, Inc. System and method for adjusting a value within a multidimensional aggregation tree
US20020196229A1 (en) 2001-06-26 2002-12-26 Frank Chen Graphics-based calculator capable of directly editing data points on graph
US20040205492A1 (en) 2001-07-26 2004-10-14 Newsome Mark R. Content clipping service
US20040205524A1 (en) 2001-08-15 2004-10-14 F1F9 Spreadsheet data processing system
US7082365B2 (en) 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system
US20030036927A1 (en) 2001-08-20 2003-02-20 Bowen Susan W. Healthcare information search system and user interface
US20030061132A1 (en) * 2001-09-26 2003-03-27 Yu, Mason K. System and method for categorizing, aggregating and analyzing payment transactions data
US6877136B2 (en) 2001-10-26 2005-04-05 United Services Automobile Association (Usaa) System and method of providing electronic access to one or more documents
US7756728B2 (en) 2001-10-31 2010-07-13 Siemens Medical Solutions Usa, Inc. Healthcare system and user interface for consolidating patient related information from different sources
US6876996B2 (en) 2001-11-14 2005-04-05 Sun Microsystems, Inc. Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7089541B2 (en) 2001-11-30 2006-08-08 Sun Microsystems, Inc. Modular parser architecture with mini parsers
US7475242B2 (en) 2001-12-18 2009-01-06 Hewlett-Packard Development Company, L.P. Controlling the distribution of information
US7174377B2 (en) 2002-01-16 2007-02-06 Xerox Corporation Method and apparatus for collaborative document versioning of networked documents
US7225183B2 (en) 2002-01-28 2007-05-29 Ipxl, Inc. Ontology-based information management system and method
US6768816B2 (en) 2002-02-13 2004-07-27 Convey Corporation Method and system for interactive ground-truthing of document images
US7813937B1 (en) 2002-02-15 2010-10-12 Fair Isaac Corporation Consistency modeling of healthcare claims to detect fraud and abuse
US20030171942A1 (en) 2002-03-06 2003-09-11 I-Centrix Llc Contact relationship management system and method
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
WO2003081376A2 (en) 2002-03-20 2003-10-02 Catalina Marketing International Inc. Targeted incentives based upon predicted behavior
US7533026B2 (en) 2002-04-12 2009-05-12 International Business Machines Corporation Facilitating management of service elements usable in providing information technology service offerings
US7426559B2 (en) 2002-05-09 2008-09-16 International Business Machines Corporation Method for sequential coordination of external database application events with asynchronous internal database events
US7539680B2 (en) 2002-05-10 2009-05-26 Lsi Corporation Revision control for database of evolved design
US6952343B2 (en) 2002-06-11 2005-10-04 Fujitsu Limited Functional expansion apparatus and method for attaching electronic apparatus to the functional expansion apparatus
WO2004006046A2 (en) 2002-06-24 2004-01-15 Xymphonic Systems As Method for data-centric collaboration
US6996583B2 (en) 2002-07-01 2006-02-07 International Business Machines Corporation Real-time database update transaction with disconnected relational database clients
US20040006523A1 (en) 2002-07-08 2004-01-08 Coker Don W. System and method for preventing financial fraud
US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7076508B2 (en) 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
AU2002341048A1 (en) 2002-08-13 2004-03-03 Highdeal Editor and method for editing formulae for calculating the price of a service and system for automatic costing of a service
WO2005004007A1 (en) 2002-09-18 2005-01-13 Dmetrix, Inc. Method for referencing image data
US8799023B2 (en) 2002-10-18 2014-08-05 Medimpact Healthcare Systems, Inc. Mass customization for management of healthcare
US7831476B2 (en) 2002-10-21 2010-11-09 Ebay Inc. Listing recommendation in a network-based commerce system
GB0224589D0 (en) 2002-10-22 2002-12-04 British Telecomm Method and system for processing or searching user records
US20040083466A1 (en) 2002-10-29 2004-04-29 Dapp Michael C. Hardware parser accelerator
US7870078B2 (en) 2002-11-01 2011-01-11 Id Insight Incorporated System, method and computer program product for assessing risk of identity theft
US20040088177A1 (en) 2002-11-04 2004-05-06 Electronic Data Systems Corporation Employee performance management method and system
CN1757188A (en) 2002-11-06 2006-04-05 国际商业机器公司 Confidential data sharing and anonymous entity resolution
WO2004046957A2 (en) 2002-11-15 2004-06-03 Creo Inc. Methods and systems for sharing data
US20040111480A1 (en) 2002-12-09 2004-06-10 Yue Jonathan Zhanjun Message screening system and method
US8589273B2 (en) 2002-12-23 2013-11-19 Ge Corporate Financial Services, Inc. Methods and systems for managing risk management information
US7752117B2 (en) 2003-01-31 2010-07-06 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US20040153418A1 (en) 2003-02-05 2004-08-05 Hanweck Gerald Alfred System and method for providing access to data from proprietary tools
US7086028B1 (en) 2003-04-09 2006-08-01 Autodesk, Inc. Simplified generation of design change information on a drawing in a computer aided design (CAD) environment
US7719830B2 (en) 2005-05-09 2010-05-18 Apple Inc. Universal docking station for hand held electronic devices
US8386377B1 (en) 2003-05-12 2013-02-26 Id Analytics, Inc. System and method for credit scoring using an identity network connectivity
US20040236711A1 (en) 2003-05-21 2004-11-25 Bentley Systems, Inc. System and method for automating the extraction of information contained within an engineering document
US7441219B2 (en) 2003-06-24 2008-10-21 National Semiconductor Corporation Method for creating, modifying, and simulating electrical circuits over the internet
US8412566B2 (en) 2003-07-08 2013-04-02 Yt Acquisition Corporation High-precision customer-based targeting by individual usage statistics
AU2003903994A0 (en) 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US7373669B2 (en) 2003-08-13 2008-05-13 The 41St Parameter, Inc. Method and system for determining presence of probable error or fraud in a data set by linking common data values or elements
US20060143075A1 (en) 2003-09-22 2006-06-29 Ryan Carr Assumed demographics, predicted behaviour, and targeted incentives
US7584172B2 (en) 2003-10-16 2009-09-01 Sap Ag Control for selecting data query and visual configuration
US7441182B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Digital negatives
US20050091186A1 (en) 2003-10-24 2005-04-28 Alon Elish Integrated method and apparatus for capture, storage, and retrieval of information
US8627489B2 (en) 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
US20050108063A1 (en) 2003-11-05 2005-05-19 Madill Robert P.Jr. Systems and methods for assessing the potential for fraud in business transactions
US7080104B2 (en) 2003-11-07 2006-07-18 Plaxo, Inc. Synchronization and merge engines
US20050131935A1 (en) 2003-11-18 2005-06-16 O'leary Paul J. Sector content mining system using a modular knowledge base
US7254590B2 (en) 2003-12-03 2007-08-07 Informatica Corporation Set-oriented real-time data processing based on transaction boundaries
US20050125715A1 (en) 2003-12-04 2005-06-09 Fabrizio Di Franco Method of saving data in a graphical user interface
US7917376B2 (en) 2003-12-29 2011-03-29 Montefiore Medical Center System and method for monitoring patient care
US20050154628A1 (en) 2004-01-13 2005-07-14 Illumen, Inc. Automated management of business performance information
US20050154769A1 (en) 2004-01-13 2005-07-14 Llumen, Inc. Systems and methods for benchmarking business performance data against aggregated business performance data
US20060053097A1 (en) 2004-04-01 2006-03-09 King Martin T Searching and accessing documents on private networks for use with captures from rendered documents
US7596285B2 (en) 2004-02-26 2009-09-29 International Business Machines Corporation Providing a portion of an electronic mail message at a reduced resolution
US20050210409A1 (en) 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
US20060026120A1 (en) 2004-03-24 2006-02-02 Update Publications Lp Method and system for collecting, processing, and distributing residential property data
US20050222928A1 (en) 2004-04-06 2005-10-06 Pricewaterhousecoopers Llp Systems and methods for investigation of financial reporting information
US20060031779A1 (en) 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US7383053B2 (en) 2004-04-28 2008-06-03 Lawrence Livermore National Security, Llc Position estimation of transceivers in communication networks
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US8041701B2 (en) 2004-05-04 2011-10-18 DG FastChannel, Inc Enhanced graphical interfaces for displaying visual data
US7689601B2 (en) 2004-05-06 2010-03-30 Oracle International Corporation Achieving web documents using unique document locators
US7587721B2 (en) 2004-05-20 2009-09-08 Sap Ag Sharing objects in runtime systems
CN101288060B (en) 2004-05-25 2012-11-07 波斯蒂尼公司 Electronic message source reputation information system
EP1769435A1 (en) 2004-05-25 2007-04-04 Arion Human Capital Limited Data analysis and flow control system
US8885894B2 (en) 2004-06-14 2014-11-11 Michael John Rowen Reduction of transaction fraud through the use of automatic centralized signature/sign verification combined with credit and fraud scoring during real-time payment card authorization processes
GB2415317B (en) 2004-06-15 2007-08-15 Orange Personal Comm Serv Ltd Provision of group services in a telecommunications network
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
FR2872653B1 (en) 2004-06-30 2006-12-29 Skyrecon Systems Sa SYSTEM AND METHODS FOR SECURING COMPUTER STATIONS AND / OR COMMUNICATIONS NETWORKS
US20060010130A1 (en) 2004-07-09 2006-01-12 Avraham Leff Method and apparatus for synchronizing client transactions executed by an autonomous client
US7870487B2 (en) 2004-07-29 2011-01-11 International Business Machines Corporation Inserting into a document a screen image of a computer software application
US7552116B2 (en) 2004-08-06 2009-06-23 The Board Of Trustees Of The University Of Illinois Method and system for extracting web query interfaces
US20070271317A1 (en) 2004-08-16 2007-11-22 Beinsync Ltd. System and Method for the Synchronization of Data Across Multiple Computing Devices
US7617232B2 (en) 2004-09-02 2009-11-10 Microsoft Corporation Centralized terminology and glossary development
US7493333B2 (en) 2004-09-03 2009-02-17 Biowisdom Limited System and method for parsing and/or exporting data from one or more multi-relational ontologies
US20060059423A1 (en) 2004-09-13 2006-03-16 Stefan Lehmann Apparatus, system, and method for creating customized workflow documentation
US20060080139A1 (en) 2004-10-08 2006-04-13 Woodhaven Health Services Preadmission health care cost and reimbursement estimation tool
US20060080316A1 (en) 2004-10-08 2006-04-13 Meridio Ltd Multiple indexing of an electronic document to selectively permit access to the content and metadata thereof
US8892571B2 (en) 2004-10-12 2014-11-18 International Business Machines Corporation Systems for associating records in healthcare database with individuals
GB0422750D0 (en) 2004-10-13 2004-11-17 Ciphergrid Ltd Remote database technique
US7739246B2 (en) 2004-10-14 2010-06-15 Microsoft Corporation System and method of merging contacts
US7757220B2 (en) 2004-10-21 2010-07-13 Discovery Machine, Inc. Computer interchange of knowledge hierarchies
US7574409B2 (en) 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US7529734B2 (en) 2004-11-12 2009-05-05 Oracle International Corporation Method and apparatus for facilitating a database query using a query criteria template
US7797197B2 (en) 2004-11-12 2010-09-14 Amazon Technologies, Inc. Method and system for analyzing the performance of affiliate sites
US8938434B2 (en) 2004-11-22 2015-01-20 Intelius, Inc. Household grouping based on public records
US7899796B1 (en) 2004-11-23 2011-03-01 Andrew Borthwick Batch automated blocking and record matching
US20060178954A1 (en) 2004-12-13 2006-08-10 Rohit Thukral Iterative asset reconciliation process
US20060129746A1 (en) 2004-12-14 2006-06-15 Ithink, Inc. Method and graphic interface for storing, moving, sending or printing electronic data to two or more locations, in two or more formats with a single save function
US7451397B2 (en) 2004-12-15 2008-11-11 Microsoft Corporation System and method for automatically completing spreadsheet formulas
US9020887B2 (en) 2004-12-21 2015-04-28 Proofpoint, Inc. Managing the status of documents in a distributed storage system
US8700414B2 (en) 2004-12-29 2014-04-15 Sap Ag System supported optimization of event resolution
US20060143079A1 (en) 2004-12-29 2006-06-29 Jayanta Basak Cross-channel customer matching
US8271436B2 (en) 2005-02-07 2012-09-18 Mimosa Systems, Inc. Retro-fitting synthetic full copies of data
US7747648B1 (en) 2005-02-14 2010-06-29 Yahoo! Inc. World modeling using a relationship network with communication channels to entities
US20060190295A1 (en) 2005-02-22 2006-08-24 Richard Merkin Systems and methods for assessing and optimizing healthcare administration
US8402047B1 (en) 2005-02-25 2013-03-19 Adobe Systems Incorporated Method and apparatus for generating a query to search for matching forms
US7523100B1 (en) 2005-02-28 2009-04-21 Adobe Systems Incorporated Method and apparatus for using a rendered form as a search template
US20080186904A1 (en) 2005-02-28 2008-08-07 Kazuhiro Koyama Data Communication Terminal, Radio Base Station Searching Method, and Program
US8091784B1 (en) 2005-03-09 2012-01-10 Diebold, Incorporated Banking system controlled responsive to data bearing records
US8731708B2 (en) 2005-03-10 2014-05-20 Amazon Technologies, Inc. Method and apparatus for multi-destination item selection using motes
WO2006102270A2 (en) 2005-03-22 2006-09-28 Cooper Kim A Performance motivation systems and methods for contact centers
US7676845B2 (en) 2005-03-24 2010-03-09 Microsoft Corporation System and method of selectively scanning a file on a computing device for malware
US20060218941A1 (en) 2005-03-30 2006-10-05 Paul Drube Cryogenic fluid dispensing system
US7596528B1 (en) 2005-03-31 2009-09-29 Trading Technologies International, Inc. System and method for dynamically regulating order entry in an electronic trading environment
US20100262901A1 (en) 2005-04-14 2010-10-14 Disalvo Dean F Engineering process for a real-time user-defined data collection, analysis, and optimization tool (dot)
EP1717596A1 (en) 2005-04-28 2006-11-02 Cambridge Positioning Systems Limited Transfer of position information to a mobile terminal
US8145686B2 (en) 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US7672968B2 (en) 2005-05-12 2010-03-02 Apple Inc. Displaying a tooltip associated with a concurrently displayed database object
US8739059B2 (en) 2005-05-16 2014-05-27 Xcira, Inc. System for generating inspection reports for inspected items
US20060277460A1 (en) 2005-06-03 2006-12-07 Scott Forstall Webview applications
US8161122B2 (en) 2005-06-03 2012-04-17 Messagemind, Inc. System and method of dynamically prioritized electronic mail graphical user interface, and measuring email productivity and collaboration trends
US8341259B2 (en) 2005-06-06 2012-12-25 Adobe Systems Incorporated ASP for web analytics including a real-time segmentation workbench
EP1732034A1 (en) 2005-06-06 2006-12-13 First Data Corporation System and method for authorizing electronic payment transactions
US8429527B1 (en) 2005-07-12 2013-04-23 Open Text S.A. Complex data merging, such as in a workflow application
US8560413B1 (en) 2005-07-14 2013-10-15 John S. Quarterman Method and system for detecting distributed internet crime
US7991764B2 (en) 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US20070178501A1 (en) 2005-12-06 2007-08-02 Matthew Rabinowitz System and method for integrating and validating genotypic, phenotypic and medical information into a database according to a standardized ontology
US7421429B2 (en) 2005-08-04 2008-09-02 Microsoft Corporation Generate blog context ranking using track-back weight, context weight and, cumulative comment weight
US7734654B2 (en) 2005-08-16 2010-06-08 International Business Machines Corporation Method and system for linking digital pictures to electronic documents
US7529726B2 (en) 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US7917841B2 (en) 2005-08-29 2011-03-29 Edgar Online, Inc. System and method for rendering data
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
US7958147B1 (en) 2005-09-13 2011-06-07 James Luke Turner Method for providing customized and automated security assistance, a document marking regime, and central tracking and control for sensitive or classified documents in electronic format
US7941336B1 (en) 2005-09-14 2011-05-10 D2C Solutions, LLC Segregation-of-duties analysis apparatus and method
US8468441B2 (en) 2005-09-15 2013-06-18 Microsoft Corporation Cross-application support of charts
US7672833B2 (en) 2005-09-22 2010-03-02 Fair Isaac Corporation Method and apparatus for automatic entity disambiguation
US8306986B2 (en) 2005-09-30 2012-11-06 American Express Travel Related Services Company, Inc. Method, system, and computer program product for linking customer information
US7668769B2 (en) 2005-10-04 2010-02-23 Basepoint Analytics, LLC System and method of detecting fraud
US8682969B1 (en) 2005-10-07 2014-03-25 On24, Inc. Framed event system and method
US20090168163A1 (en) 2005-11-01 2009-07-02 Global Bionic Optics Pty Ltd. Optical lens systems
US20070118547A1 (en) 2005-11-22 2007-05-24 Monish Gupta Efficient index versioning in multi-version databases
US7814102B2 (en) 2005-12-07 2010-10-12 Lexisnexis, A Division Of Reed Elsevier Inc. Method and system for linking documents with multiple topics to related documents
US8147715B2 (en) 2005-12-08 2012-04-03 National Institute For Materials Science Phosphor, process for producing the same, and luminescent device
US20070136095A1 (en) 2005-12-09 2007-06-14 Arizona Board Of Regents On Behalf Of The University Of Arizona Icon Queues for Workflow Management
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US20090082997A1 (en) 2005-12-21 2009-03-26 Tokman Michael G Method of identifying clusters and connectivity between clusters
US8726144B2 (en) 2005-12-23 2014-05-13 Xerox Corporation Interactive learning-based document annotation
US7788296B2 (en) 2005-12-29 2010-08-31 Guidewire Software, Inc. Method and apparatus for managing a computer-based address book for incident-related work
US8712828B2 (en) 2005-12-30 2014-04-29 Accenture Global Services Limited Churn prediction and management system
US7818291B2 (en) 2006-02-03 2010-10-19 The General Electric Company Data object access system and method using dedicated task object
US20070185867A1 (en) 2006-02-03 2007-08-09 Matteo Maga Statistical modeling methods for determining customer distribution by churn probability within a customer population
US7912773B1 (en) 2006-03-24 2011-03-22 Sas Institute Inc. Computer-implemented data storage systems and methods for use with predictive model systems
US7743056B2 (en) 2006-03-31 2010-06-22 Aol Inc. Identifying a result responsive to a current location of a client device
US7490298B2 (en) 2006-04-12 2009-02-10 International Business Machines Corporation Creating documentation screenshots on demand
US20080040275A1 (en) 2006-04-25 2008-02-14 Uc Group Limited Systems and methods for identifying potentially fraudulent financial transactions and compulsive spending behavior
WO2007133206A1 (en) 2006-05-12 2007-11-22 Drawing Management Incorporated Spatial graphical user interface and method for using the same
US7756843B1 (en) 2006-05-25 2010-07-13 Juniper Networks, Inc. Identifying and processing confidential information on network endpoints
US9195985B2 (en) 2006-06-08 2015-11-24 Iii Holdings 1, Llc Method, system, and computer program product for customer-level data verification
US7866542B2 (en) 2006-06-08 2011-01-11 International Business Machines Corporation System and method for resolving identities that are indefinitely resolvable
US7720789B2 (en) 2006-06-23 2010-05-18 International Business Machines Corporation System and method of member unique names
JP4863791B2 (en) 2006-07-05 2012-01-25 アルパイン株式会社 Vehicle peripheral image generation apparatus and image switching method
US7933955B2 (en) 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
WO2008011728A1 (en) 2006-07-28 2008-01-31 Pattern Intelligence Inc. System and method for detecting and analyzing pattern relationships
US8230332B2 (en) 2006-08-30 2012-07-24 Compsci Resources, Llc Interactive user interface for converting unstructured documents
US7725547B2 (en) 2006-09-06 2010-05-25 International Business Machines Corporation Informing a user of gestures made by others out of the user's line of sight
US8054756B2 (en) 2006-09-18 2011-11-08 Yahoo! Inc. Path discovery and analytics for network data
US7945470B1 (en) 2006-09-29 2011-05-17 Amazon Technologies, Inc. Facilitating performance of submitted tasks by mobile task performers
US9183321B2 (en) 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US8065080B2 (en) 2006-10-31 2011-11-22 At&T Intellectual Property I, Lp Location stamping and logging of electronic events and habitat generation
US20080148398A1 (en) 2006-10-31 2008-06-19 Derek John Mezack System and Method for Definition and Automated Analysis of Computer Security Threat Models
US8229902B2 (en) 2006-11-01 2012-07-24 Ab Initio Technology Llc Managing storage of individually accessible data units
US20080109714A1 (en) 2006-11-03 2008-05-08 Sap Ag Capturing screen information
US20140006109A1 (en) 2006-11-13 2014-01-02 Vendavo, Inc. System and Methods for Generating Price Sensitivity
US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US7853614B2 (en) 2006-11-27 2010-12-14 Rapleaf, Inc. Hierarchical, traceable, and association reputation assessment of email domains
US7599945B2 (en) 2006-11-30 2009-10-06 Yahoo! Inc. Dynamic cluster visualization
US8126848B2 (en) 2006-12-07 2012-02-28 Robert Edward Wagner Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster
WO2008070860A2 (en) 2006-12-07 2008-06-12 Linker Sheldon O Method and system for machine understanding, knowledge, and conversation
US8290838B1 (en) 2006-12-29 2012-10-16 Amazon Technologies, Inc. Indicating irregularities in online financial transactions
US20080177782A1 (en) 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
US7900142B2 (en) 2007-01-15 2011-03-01 Microsoft Corporation Selective undo of editing operations performed on data objects
US8171418B2 (en) 2007-01-31 2012-05-01 Salesforce.Com, Inc. Method and system for presenting a visual representation of the portion of the sets of data that a query is expected to return
US20080208735A1 (en) 2007-02-22 2008-08-28 American Expresstravel Related Services Company, Inc., A New York Corporation Method, System, and Computer Program Product for Managing Business Customer Contacts
US7873557B2 (en) 2007-02-28 2011-01-18 Aaron Guidotti Information, document, and compliance management for financial professionals, clients, and supervisors
US8959568B2 (en) 2007-03-14 2015-02-17 Microsoft Corporation Enterprise security assessment sharing
US8204856B2 (en) 2007-03-15 2012-06-19 Google Inc. Database replication
WO2008115519A1 (en) 2007-03-20 2008-09-25 President And Fellows Of Harvard College A system for estimating a distribution of message content categories in source data
US20090018940A1 (en) 2007-03-30 2009-01-15 Liang Wang Enhanced Fraud Detection With Terminal Transaction-Sequence Processing
US8036971B2 (en) 2007-03-30 2011-10-11 Palantir Technologies, Inc. Generating dynamic date sets that represent market conditions
US20080255973A1 (en) 2007-04-10 2008-10-16 Robert El Wade Sales transaction analysis tool and associated method of use
US20090164387A1 (en) 2007-04-17 2009-06-25 Semandex Networks Inc. Systems and methods for providing semantically enhanced financial information
US8312546B2 (en) 2007-04-23 2012-11-13 Mcafee, Inc. Systems, apparatus, and methods for detecting malware
US20090024939A1 (en) 2007-04-27 2009-01-22 Bea Systems, Inc. Web based application constructor using querying across data
US7880921B2 (en) 2007-05-01 2011-02-01 Michael Joseph Dattilo Method and apparatus to digitally whiteout mistakes on a printed form
US7962904B2 (en) 2007-05-10 2011-06-14 Microsoft Corporation Dynamic parser
US10769290B2 (en) 2007-05-11 2020-09-08 Fair Isaac Corporation Systems and methods for fraud detection via interactive link analysis
US20080288425A1 (en) 2007-05-17 2008-11-20 Christian Posse Methods and Apparatus for Reasoning About Information Fusion Approaches
US8010507B2 (en) 2007-05-24 2011-08-30 Pado Metaware Ab Method and system for harmonization of variants of a sequential file
US20120084866A1 (en) 2007-06-12 2012-04-05 Stolfo Salvatore J Methods, systems, and media for measuring computer security
US7930547B2 (en) 2007-06-15 2011-04-19 Alcatel-Lucent Usa Inc. High accuracy bloom filter using partitioned hashing
US7783658B1 (en) 2007-06-18 2010-08-24 Seisint, Inc. Multi-entity ontology weighting systems and methods
US8180379B2 (en) 2007-06-28 2012-05-15 Apple Inc. Synchronizing mobile and vehicle devices
WO2009006448A1 (en) 2007-06-28 2009-01-08 Cashedge, Inc. Global risk administration method and system
US20090125359A1 (en) 2007-07-09 2009-05-14 Robert Knapic Integrating a methodology management system with project tasks in a project management system
US7966199B1 (en) 2007-07-19 2011-06-21 Intuit Inc. Method and system for identification of geographic condition zones using aggregated claim data
US8600872B1 (en) 2007-07-27 2013-12-03 Wells Fargo Bank, N.A. System and method for detecting account compromises
US8156166B2 (en) 2007-08-06 2012-04-10 Intuit Inc. Method and apparatus for selecting a doctor based on an observed experience level
US7761525B2 (en) 2007-08-23 2010-07-20 International Business Machines Corporation System and method for providing improved time references in documents
US20130066673A1 (en) 2007-09-06 2013-03-14 Digg, Inc. Adapting thresholds
WO2009039391A1 (en) 2007-09-21 2009-03-26 The Methodist Hospital System Systems, methods and apparatuses for generating and using representations of individual or aggregate human medical data
US9060012B2 (en) 2007-09-26 2015-06-16 The 41St Parameter, Inc. Methods and apparatus for detecting fraud with time based computer tags
US8191005B2 (en) 2007-09-27 2012-05-29 Rockwell Automation Technologies, Inc. Dynamically generating visualizations in industrial automation environment as a function of context and state information
EP2051173A3 (en) 2007-09-27 2009-08-12 Magix Ag System and method for dynamic content insertion from the internet into a multimedia work
US8849728B2 (en) 2007-10-01 2014-09-30 Purdue Research Foundation Visual analytics law enforcement tools
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
US20090094270A1 (en) 2007-10-08 2009-04-09 Alirez Baldomero J Method of building a validation database
US8554719B2 (en) 2007-10-18 2013-10-08 Palantir Technologies, Inc. Resolving database entity information
US8214308B2 (en) 2007-10-23 2012-07-03 Sas Institute Inc. Computer-implemented systems and methods for updating predictive models
US20090112678A1 (en) 2007-10-26 2009-04-30 Ingram Micro Inc. System and method for knowledge management
US7650310B2 (en) 2007-10-30 2010-01-19 Intuit Inc. Technique for reducing phishing
US20090126020A1 (en) 2007-11-09 2009-05-14 Norton Richard Elliott Engine for rule based content filtering
US8688607B2 (en) 2007-11-12 2014-04-01 Debra Pacha System and method for detecting healthcare insurance fraud
US9898767B2 (en) 2007-11-14 2018-02-20 Panjiva, Inc. Transaction facilitating marketplace platform
US20090143052A1 (en) 2007-11-29 2009-06-04 Michael Bates Systems and methods for personal information management and contact picture synchronization and distribution
US20090150868A1 (en) 2007-12-10 2009-06-11 Al Chakra Method and System for Capturing Movie Shots at the Time of an Automated Graphical User Interface Test Failure
US8270577B2 (en) 2007-12-13 2012-09-18 Verizon Patent And Licensing Inc. Multiple visual voicemail mailboxes
EP2071355B1 (en) 2007-12-13 2015-07-29 Swisscom AG System and method for determining a location area of a mobile user
US8010886B2 (en) 2008-01-04 2011-08-30 Microsoft Corporation Intelligently representing files in a view
US8055633B2 (en) 2008-01-21 2011-11-08 International Business Machines Corporation Method, system and computer program product for duplicate detection
KR100915295B1 (en) 2008-01-22 2009-09-03 성균관대학교산학협력단 System and method for search service having a function of automatic classification of search results
US20090199106A1 (en) 2008-02-05 2009-08-06 Sony Ericsson Mobile Communications Ab Communication terminal including graphical bookmark manager
US7805457B1 (en) 2008-02-14 2010-09-28 Securus Technologies, Inc. System and method for identifying members of a gang or security threat group
US8473519B1 (en) * 2008-02-25 2013-06-25 Cisco Technology, Inc. Unified communication audit tool
US7765489B1 (en) 2008-03-03 2010-07-27 Shah Shalin N Presenting notifications related to a medical study on a toolbar
MX337333B (en) 2008-03-26 2016-02-26 Theranos Inc Methods and systems for assessing clinical outcomes.
US8856088B2 (en) 2008-04-01 2014-10-07 Microsoft Corporation Application-managed file versioning
US20090254970A1 (en) 2008-04-04 2009-10-08 Avaya Inc. Multi-tier security event correlation and mitigation
US20090265105A1 (en) 2008-04-21 2009-10-22 Igt Real-time navigation devices, systems and methods
US8266168B2 (en) 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US8121962B2 (en) 2008-04-25 2012-02-21 Fair Isaac Corporation Automated entity identification for efficient profiling in an event probability prediction system
US20090282068A1 (en) 2008-05-12 2009-11-12 Shockro John J Semantic packager
US8844033B2 (en) 2008-05-27 2014-09-23 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting network anomalies using a trained probabilistic model
WO2009149063A1 (en) 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US20090307049A1 (en) 2008-06-05 2009-12-10 Fair Isaac Corporation Soft Co-Clustering of Data
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8301593B2 (en) 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US7962458B2 (en) 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8860754B2 (en) 2008-06-22 2014-10-14 Tableau Software, Inc. Methods and systems of automatically generating marks in a graphical view
US8207820B2 (en) 2008-06-24 2012-06-26 International Business Machines Corporation Location localization method and system
US8301904B1 (en) 2008-06-24 2012-10-30 Mcafee, Inc. System, method, and computer program product for automatically identifying potentially unwanted data as unwanted
EP2329357A4 (en) 2008-08-04 2013-09-25 Quid Inc PERFORMANCE ANALYZING MACHINES FOR UNITS
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US8417561B2 (en) * 2008-09-24 2013-04-09 Bank Of America Corporation Market dynamics
JP4764941B2 (en) 2008-09-25 2011-09-07 シャープ株式会社 Optical element, optical element wafer, optical element wafer module, optical element module, optical element module manufacturing method, electronic element wafer module, electronic element module manufacturing method, electronic element module, and electronic information device
CN101685449B (en) 2008-09-26 2012-07-11 国际商业机器公司 Method and system for connecting tables in a plurality of heterogeneous distributed databases
US20100114887A1 (en) 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US8391584B2 (en) 2008-10-20 2013-03-05 Jpmorgan Chase Bank, N.A. Method and system for duplicate check detection
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US20100106611A1 (en) 2008-10-24 2010-04-29 Uc Group Ltd. Financial transactions systems and methods
US8306947B2 (en) 2008-10-30 2012-11-06 Hewlett-Packard Development Company, L.P. Replication of operations on objects distributed in a storage system
US9818118B2 (en) 2008-11-19 2017-11-14 Visa International Service Association Transaction aggregator
US20100131502A1 (en) 2008-11-25 2010-05-27 Fordham Bradley S Cohort group generation and automatic updating
CA2646117A1 (en) 2008-12-02 2010-06-02 Oculus Info Inc. System and method for visualizing connected temporal and spatial information as an integrated visual representation on a user interface
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
CN101414375A (en) 2008-12-15 2009-04-22 阿里巴巴集团控股有限公司 System and method for networking trading using intermediate platform
US8719350B2 (en) 2008-12-23 2014-05-06 International Business Machines Corporation Email addressee verification
US8352347B2 (en) 2008-12-29 2013-01-08 Athenainvest, Inc. Investment classification and tracking system using diamond ratings
US20100173619A1 (en) 2009-01-07 2010-07-08 Lucent Technologies Inc. Healthy weight reminder service via wireless networks
US8073877B2 (en) 2009-01-20 2011-12-06 Yahoo! Inc. Scalable semi-structured named entity detection
US20100262688A1 (en) 2009-01-21 2010-10-14 Daniar Hussain Systems, methods, and devices for detecting security vulnerabilities in ip networks
US20100191563A1 (en) 2009-01-23 2010-07-29 Doctors' Administrative Solutions, Llc Physician Practice Optimization Tracking
US20110213655A1 (en) 2009-01-24 2011-09-01 Kontera Technologies, Inc. Hybrid contextual advertising and related content analysis and display techniques
US8073857B2 (en) 2009-02-17 2011-12-06 International Business Machines Corporation Semantics-based data transformation over a wire in mashups
IL197168A (en) 2009-02-22 2017-10-31 Verint Systems Ltd System and method for predicting future meetings of wireless users
US9846690B2 (en) 2009-03-02 2017-12-19 International Business Machines Corporation Automating interrogative population of electronic forms using a real-time communication platform
US8473454B2 (en) 2009-03-10 2013-06-25 Xerox Corporation System and method of on-demand document processing
US20100235915A1 (en) 2009-03-12 2010-09-16 Nasir Memon Using host symptoms, host roles, and/or host reputation for detection of host infection
US8754889B2 (en) 2009-03-18 2014-06-17 National Instruments Corporation Cursor synchronization in a plurality of graphs
US8327351B2 (en) 2009-04-30 2012-12-04 Sap Ag Application modification framework
US20100306285A1 (en) 2009-05-28 2010-12-02 Arcsight, Inc. Specifying a Parser Using a Properties File
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US9141911B2 (en) 2009-05-29 2015-09-22 Aspen Technology, Inc. Apparatus and method for automated data selection in model identification and adaptation in multivariable process control
US8966414B2 (en) 2009-05-29 2015-02-24 Cypress Semiconductor Corporation Implementing a circuit using an integrated circuit including parametric analog elements
US20100306029A1 (en) 2009-06-01 2010-12-02 Ryan Jolley Cardholder Clusters
US8495151B2 (en) 2009-06-05 2013-07-23 Chandra Bodapati Methods and systems for determining email addresses
US20100313239A1 (en) 2009-06-09 2010-12-09 International Business Machines Corporation Automated access control for rendered output
KR101076887B1 (en) 2009-06-26 2011-10-25 주식회사 하이닉스반도체 Method of fabricating landing plug in semiconductor device
US20110004498A1 (en) 2009-07-01 2011-01-06 International Business Machines Corporation Method and System for Identification By A Cardholder of Credit Card Fraud
EP2454661A1 (en) 2009-07-15 2012-05-23 Proviciel - Mlstate System and method for creating a parser generator and associated computer program
US8392556B2 (en) * 2009-07-16 2013-03-05 Ca, Inc. Selective reporting of upstream transaction trace data
US20110022312A1 (en) 2009-07-23 2011-01-27 Fmr Llc Generating and Tracking Activity Patterns for Mobile Devices
US9104695B1 (en) 2009-07-27 2015-08-11 Palantir Technologies, Inc. Geotagging structured data
US8321943B1 (en) 2009-07-30 2012-11-27 Symantec Corporation Programmatic communication in the event of host malware infection
US20110047540A1 (en) 2009-08-24 2011-02-24 Embarcadero Technologies Inc. System and Methodology for Automating Delivery, Licensing, and Availability of Software Products
US9280777B2 (en) 2009-09-08 2016-03-08 Target Brands, Inc. Operations dashboard
US20110066497A1 (en) 2009-09-14 2011-03-17 Choicestream, Inc. Personalized advertising and recommendation
US8214490B1 (en) 2009-09-15 2012-07-03 Symantec Corporation Compact input compensating reputation data tracking mechanism
US8347398B1 (en) 2009-09-23 2013-01-01 Savvystuff Property Trust Selected text obfuscation and encryption in a local, network and cloud computing environment
CN102549390B (en) 2009-09-30 2015-06-24 录象射流技术公司 Thermal ink jet ink composition
US20110078173A1 (en) 2009-09-30 2011-03-31 Avaya Inc. Social Network User Interface
US8917272B2 (en) 2009-09-30 2014-12-23 Mckesson Financial Holdings Methods, apparatuses, and computer program products for facilitating visualization and analysis of medical data
US20110087519A1 (en) 2009-10-09 2011-04-14 Visa U.S.A. Inc. Systems and Methods for Panel Enhancement with Transaction Data
US8595058B2 (en) 2009-10-15 2013-11-26 Visa U.S.A. Systems and methods to match identifiers
JP5039891B2 (en) 2009-10-19 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and method for generating a replica of a database
US9165304B2 (en) 2009-10-23 2015-10-20 Service Management Group, Inc. Analyzing consumer behavior using electronically-captured consumer location data
US20110112995A1 (en) 2009-10-28 2011-05-12 Industrial Technology Research Institute Systems and methods for organizing collective social intelligence information using an organic object data model
CN102054015B (en) 2009-10-28 2014-05-07 财团法人工业技术研究院 System and method for organizing community intelligence information using an organic object data model
US20110131131A1 (en) 2009-12-01 2011-06-02 Bank Of America Corporation Risk pattern determination and associated risk pattern alerts
US11122009B2 (en) 2009-12-01 2021-09-14 Apple Inc. Systems and methods for identifying geographic locations of social media content collected over social networks
US8645478B2 (en) 2009-12-10 2014-02-04 Mcafee, Inc. System and method for monitoring social engineering in a computer network environment
US20110153384A1 (en) 2009-12-17 2011-06-23 Matthew Donald Horne Visual comps builder
US8849254B2 (en) 2009-12-18 2014-09-30 Trueposition, Inc. Location intelligence management system
US20110158469A1 (en) 2009-12-29 2011-06-30 Mastykarz Justin P Methods and apparatus for management of field operations, projects and/or collected samples
EP2524299A4 (en) 2010-01-11 2013-11-13 Panjiva Inc Evaluating public records of supply transactions for financial investment decisions
US9026552B2 (en) 2010-01-18 2015-05-05 Salesforce.Com, Inc. System and method for linking contact records to company locations
US8571919B2 (en) 2010-01-20 2013-10-29 American Express Travel Related Services Company, Inc. System and method for identifying attributes of a population using spend level data
US8620948B2 (en) 2010-02-18 2013-12-31 Alon Atsmon System and method for crowdsourced template based search
US20110208822A1 (en) 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US20110208565A1 (en) * 2010-02-23 2011-08-25 Michael Ross complex process management
US8478709B2 (en) 2010-03-08 2013-07-02 Hewlett-Packard Development Company, L.P. Evaluation of client status for likelihood of churn
US8863279B2 (en) 2010-03-08 2014-10-14 Raytheon Company System and method for malware detection
US8868728B2 (en) 2010-03-11 2014-10-21 Accenture Global Services Limited Systems and methods for detecting and investigating insider fraud
US20110225482A1 (en) 2010-03-15 2011-09-15 Wizpatent Pte Ltd Managing and generating citations in scholarly work
US20110231296A1 (en) 2010-03-16 2011-09-22 UberMedia, Inc. Systems and methods for interacting with messages, authors, and followers
US8738418B2 (en) 2010-03-19 2014-05-27 Visa U.S.A. Inc. Systems and methods to enhance search data with transaction based data
US20110238553A1 (en) 2010-03-26 2011-09-29 Ashwin Raj Electronic account-to-account funds transfer
US8739118B2 (en) 2010-04-08 2014-05-27 Microsoft Corporation Pragmatic mapping specification, compilation and validation
US8306846B2 (en) 2010-04-12 2012-11-06 First Data Corporation Transaction location analytics systems and methods
US20110251951A1 (en) 2010-04-13 2011-10-13 Dan Kolkowitz Anti-fraud event correlation
US20110258216A1 (en) 2010-04-20 2011-10-20 International Business Machines Corporation Usability enhancements for bookmarks of browsers
US8874432B2 (en) 2010-04-28 2014-10-28 Nec Laboratories America, Inc. Systems and methods for semi-supervised relationship extraction
US8255399B2 (en) 2010-04-28 2012-08-28 Microsoft Corporation Data classifier
US8473415B2 (en) 2010-05-04 2013-06-25 Kevin Paul Siegel System and method for identifying a point of compromise in a payment transaction processing system
US20110289397A1 (en) 2010-05-19 2011-11-24 Mauricio Eastmond Displaying Table Data in a Limited Display Area
US20110295649A1 (en) 2010-05-31 2011-12-01 International Business Machines Corporation Automatic churn prediction
US8756224B2 (en) 2010-06-16 2014-06-17 Rallyverse, Inc. Methods, systems, and media for content ranking using real-time data
US20110310005A1 (en) 2010-06-17 2011-12-22 Qualcomm Incorporated Methods and apparatus for contactless gesture recognition
US8380719B2 (en) 2010-06-18 2013-02-19 Microsoft Corporation Semantic content searching
US20110320959A1 (en) 2010-06-23 2011-12-29 Christopher Kresimir Maly System and method for real time inspection information recording and reporting
KR101196935B1 (en) 2010-07-05 2012-11-05 엔에이치엔(주) Method and system for providing reprsentation words of real-time popular keyword
US8364642B1 (en) 2010-07-07 2013-01-29 Palantir Technologies, Inc. Managing disconnected investigations
US8352883B2 (en) 2010-07-08 2013-01-08 Alexey Kashik Analysis of complex data objects and multiple parameter systems
US8407341B2 (en) 2010-07-09 2013-03-26 Bank Of America Corporation Monitoring communications
US9037407B2 (en) 2010-07-12 2015-05-19 Palantir Technologies Inc. Method and system for determining position of an inertial computing device in a distributed network
US8554653B2 (en) 2010-07-22 2013-10-08 Visa International Service Association Systems and methods to identify payment accounts having business spending activities
DE102010036906A1 (en) 2010-08-06 2012-02-09 Tavendo Gmbh Configurable pie menu
US8775530B2 (en) 2010-08-25 2014-07-08 International Business Machines Corporation Communication management method and system
US20120066166A1 (en) 2010-09-10 2012-03-15 International Business Machines Corporation Predictive Analytics for Semi-Structured Case Oriented Processes
US20120078595A1 (en) 2010-09-24 2012-03-29 Nokia Corporation Method and apparatus for ontology matching
US8549004B2 (en) 2010-09-30 2013-10-01 Hewlett-Packard Development Company, L.P. Estimation of unique database values
US20120084135A1 (en) 2010-10-01 2012-04-05 Smartslips Inc. System and method for tracking transaction records in a network
KR101462058B1 (en) 2010-10-22 2014-11-19 에스케이 텔레콤주식회사 Method for Estimating Access Point Position by Using Log Data, Apparatus And Terminal Therefor
CN102467596B (en) 2010-11-15 2016-09-21 商业对象软件有限公司 Instrument board evaluator
JP5706137B2 (en) 2010-11-22 2015-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method and computer program for displaying a plurality of posts (groups of data) on a computer screen in real time along a plurality of axes
AU2011332881B2 (en) 2010-11-24 2016-06-30 LogRhythm Inc. Advanced intelligence engine
US8706540B2 (en) 2010-12-08 2014-04-22 Motorola Solutions, Inc. Task management in a workforce environment using an acoustic map constructed from aggregated audio
WO2012079001A1 (en) 2010-12-10 2012-06-14 Solodko Properties, Llc System and method for directing and monitoring the activities of remote agents.
CN102546446A (en) 2010-12-13 2012-07-04 太仓市浏河镇亿网行网络技术服务部 Email device
US9141405B2 (en) 2010-12-15 2015-09-22 International Business Machines Corporation User interface construction
US8521135B2 (en) 2010-12-20 2013-08-27 Research In Motion Limited Message relay host for delivering messages to out of coverage communications devices
IL298116A (en) 2010-12-22 2023-01-01 Syqe Medical Ltd Method and system for drug delivery
US20120166929A1 (en) 2010-12-28 2012-06-28 International Business Machines Corporation System and method for providing a context-sensitive user interface
US20120173381A1 (en) 2011-01-03 2012-07-05 Stanley Benjamin Smith Process and system for pricing and processing weighted data in a federated or subscription based data source
WO2012103517A1 (en) 2011-01-27 2012-08-02 L-3 Communications Corporation Internet isolation for avoiding internet security threats
US20120197657A1 (en) 2011-01-31 2012-08-02 Ez Derm, Llc Systems and methods to facilitate medical services
US20120197660A1 (en) 2011-01-31 2012-08-02 Ez Derm, Llc Systems and methods to faciliate medical services
IL211163A0 (en) 2011-02-10 2011-04-28 Univ Ben Gurion A method for generating a randomized data structure for representing sets, based on bloom filters
US20120215898A1 (en) 2011-02-17 2012-08-23 Nitin Jayant Shah Applications of a Network-Centric Information Distribution Platform on the Internet
US8413039B2 (en) 2011-02-23 2013-04-02 Io Services, Inc. Computer-implemented system and method for conducting field inspections and generating reports
EP2678774A4 (en) 2011-02-24 2015-04-08 Lexisnexis Division Of Reed Elsevier Inc Methods for electronic document searching and graphically representing electronic document searches
WO2012119008A2 (en) 2011-03-01 2012-09-07 Early Warning Services, Llc System and method for suspect entity detection and mitigation
US9449010B2 (en) 2011-04-02 2016-09-20 Open Invention Network, Llc System and method for managing sensitive data using intelligent mobile agents on a network
US20120268269A1 (en) 2011-04-19 2012-10-25 Qualcomm Incorporated Threat score generation
US10395256B2 (en) 2011-06-02 2019-08-27 Visa International Service Association Reputation management in a transaction processing system
US10380585B2 (en) 2011-06-02 2019-08-13 Visa International Service Association Local usage of electronic tokens in a transaction processing system
US20120310778A1 (en) 2011-06-03 2012-12-06 Uc Group Limited Systems and methods for clearing and settling transaction activity
US9104765B2 (en) 2011-06-17 2015-08-11 Robert Osann, Jr. Automatic webpage characterization and search results annotation
US8725307B2 (en) 2011-06-28 2014-05-13 Schneider Electric It Corporation System and method for measurement aided prediction of temperature and airflow values in a data center
US20130006656A1 (en) 2011-06-30 2013-01-03 Verizon Patent And Licensing Inc. Case management of healthcare fraud detection information
US8533165B2 (en) 2011-07-03 2013-09-10 Microsoft Corporation Conflict resolution via metadata examination
US9384464B2 (en) 2011-07-05 2016-07-05 AutoDocs, L.L.C. Web based template reporting system
US9240011B2 (en) 2011-07-13 2016-01-19 Visa International Service Association Systems and methods to communicate with transaction terminals
US8982130B2 (en) 2011-07-15 2015-03-17 Green Charge Networks Cluster mapping to highlight areas of electrical congestion
US8726379B1 (en) 2011-07-15 2014-05-13 Norse Corporation Systems and methods for dynamic protection from electronic attacks
US8751399B2 (en) 2011-07-15 2014-06-10 Wal-Mart Stores, Inc. Multi-channel data driven, real-time anti-money laundering system for electronic payment cards
US8762870B2 (en) 2011-07-19 2014-06-24 Salesforce.Com, Inc. Multifunction drag-and-drop selection tool for selection of data objects in a social network application
US8447674B2 (en) 2011-07-21 2013-05-21 Bank Of America Corporation Multi-stage filtering for fraud detection with customer history filters
US20130036038A1 (en) 2011-08-02 2013-02-07 Tata Consultancy Services Limited Financial activity monitoring system
US9996807B2 (en) 2011-08-17 2018-06-12 Roundhouse One Llc Multidimensional digital platform for building integration and analysis
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8630892B2 (en) 2011-08-31 2014-01-14 Accenture Global Services Limited Churn analysis system
US8949164B1 (en) 2011-09-08 2015-02-03 George O. Mohler Event forecasting system
WO2013044141A2 (en) 2011-09-22 2013-03-28 Capgemini U.S. Llc Process transformation and transitioning apparatuses, methods and systems
US8807948B2 (en) 2011-09-29 2014-08-19 Cadence Design Systems, Inc. System and method for automated real-time design checking
WO2013052872A2 (en) 2011-10-05 2013-04-11 Mastercard International Incorporated Nomination engine
US8626545B2 (en) 2011-10-17 2014-01-07 CrowdFlower, Inc. Predicting future performance of multiple workers on crowdsourcing tasks and selecting repeated crowdsourcing workers
US8849776B2 (en) 2011-10-17 2014-09-30 Yahoo! Inc. Method and system for resolving data inconsistency
US8843421B2 (en) 2011-11-01 2014-09-23 Accenture Global Services Limited Identification of entities likely to engage in a behavior
US20130124193A1 (en) 2011-11-15 2013-05-16 Business Objects Software Limited System and Method Implementing a Text Analysis Service
US9159024B2 (en) 2011-12-07 2015-10-13 Wal-Mart Stores, Inc. Real-time predictive intelligence platform
CN103167093A (en) 2011-12-08 2013-06-19 青岛海信移动通信技术股份有限公司 Filling method of mobile phone email address
US20130151305A1 (en) 2011-12-09 2013-06-13 Sap Ag Method and Apparatus for Business Drivers and Outcomes to Enable Scenario Planning and Simulation
US20130151388A1 (en) 2011-12-12 2013-06-13 Visa International Service Association Systems and methods to identify affluence levels of accounts
US20130160120A1 (en) 2011-12-20 2013-06-20 Yahoo! Inc. Protecting end users from malware using advertising virtual machine
US9026480B2 (en) 2011-12-21 2015-05-05 Telenav, Inc. Navigation system with point of interest classification mechanism and method of operation thereof
US20130166550A1 (en) 2011-12-21 2013-06-27 Sap Ag Integration of Tags and Object Data
US8880420B2 (en) 2011-12-27 2014-11-04 Grubhub, Inc. Utility for creating heatmaps for the study of competitive advantage in the restaurant marketplace
US8843431B2 (en) 2012-01-16 2014-09-23 International Business Machines Corporation Social network analysis for churn prediction
US8909648B2 (en) 2012-01-18 2014-12-09 Technion Research & Development Foundation Limited Methods and systems of supervised learning of semantic relatedness
US9014660B2 (en) 2012-01-29 2015-04-21 Livesafe, Inc. Mobile alert reporting and monitoring systems and methods
US20130197925A1 (en) 2012-01-31 2013-08-01 Optumlnsight, Inc. Behavioral clustering for removing outlying healthcare providers
US9279898B2 (en) 2012-02-09 2016-03-08 Pgs Geophysical As Methods and systems for correction of streamer-depth bias in marine seismic surveys
US9024252B2 (en) 2012-02-21 2015-05-05 Entegris-Jetalon Solutions, Inc. Optical sensor apparatus to detect light based on the refractive index of a sample
US20130226944A1 (en) 2012-02-24 2013-08-29 Microsoft Corporation Format independent data transformation
GB2508573A (en) 2012-02-28 2014-06-11 Qatar Foundation A computer-implemented method and computer program for detecting a set of inconsistent data records in a database including multiple records
US20130232045A1 (en) 2012-03-04 2013-09-05 Oracle International Corporation Automatic Detection Of Fraud And Error Using A Vector-Cluster Model
JP2013191187A (en) 2012-03-15 2013-09-26 Fujitsu Ltd Processing device, program and processing system
US20130263019A1 (en) * 2012-03-30 2013-10-03 Maria G. Castellanos Analyzing social media
US20130262497A1 (en) 2012-04-02 2013-10-03 Caterpillar Inc. Inspection Tool
US9298856B2 (en) 2012-04-23 2016-03-29 Sap Se Interactive data exploration and visualization tool
US9043710B2 (en) 2012-04-26 2015-05-26 Sap Se Switch control in report generation
US10304036B2 (en) 2012-05-07 2019-05-28 Nasdaq, Inc. Social media profiling for one or more authors using one or more social media platforms
EP2662782A1 (en) 2012-05-10 2013-11-13 Siemens Aktiengesellschaft Method and system for storing data in a database
US20140032506A1 (en) 2012-06-12 2014-01-30 Quality Attributes Software, Inc. System and methods for real-time detection, correction, and transformation of time series data
WO2015002630A2 (en) 2012-07-24 2015-01-08 Deloitte Development Llc Fraud detection methods and systems
US20140149272A1 (en) 2012-08-17 2014-05-29 Trueex Group Llc Interoffice bank offered rate financial product and implementation
US10163158B2 (en) 2012-08-27 2018-12-25 Yuh-Shen Song Transactional monitoring system
US20140068487A1 (en) 2012-09-05 2014-03-06 Roche Diagnostics Operations, Inc. Computer Implemented Methods For Visualizing Correlations Between Blood Glucose Data And Events And Apparatuses Thereof
US20140081652A1 (en) 2012-09-14 2014-03-20 Risk Management Solutions Llc Automated Healthcare Risk Management System Utilizing Real-time Predictive Models, Risk Adjusted Provider Cost Index, Edit Analytics, Strategy Management, Managed Learning Environment, Contact Management, Forensic GUI, Case Management And Reporting System For Preventing And Detecting Healthcare Fraud, Abuse, Waste And Errors
US20140095509A1 (en) 2012-10-02 2014-04-03 Banjo, Inc. Method of tagging content lacking geotags with a location
US9513780B2 (en) 2012-10-08 2016-12-06 Fisher-Rosemount Systems, Inc. Distribution policy for propagation of changes to process control objects
US9104786B2 (en) 2012-10-12 2015-08-11 International Business Machines Corporation Iterative refinement of cohorts using visual exploration and data analytics
US8688573B1 (en) 2012-10-16 2014-04-01 Intuit Inc. Method and system for identifying a merchant payee associated with a cash transaction
US8914886B2 (en) 2012-10-29 2014-12-16 Mcafee, Inc. Dynamic quarantining for malware detection
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US9501799B2 (en) 2012-11-08 2016-11-22 Hartford Fire Insurance Company System and method for determination of insurance classification of entities
US8924910B2 (en) 2012-11-09 2014-12-30 Analog Devices, Inc. Filter design tool
US9378030B2 (en) 2013-10-01 2016-06-28 Aetherpal, Inc. Method and apparatus for interactive mobile device guidance
US10504127B2 (en) 2012-11-15 2019-12-10 Home Depot Product Authority, Llc System and method for classifying relevant competitors
US20140143009A1 (en) 2012-11-16 2014-05-22 International Business Machines Corporation Risk reward estimation for company-country pairs
US9146969B2 (en) 2012-11-26 2015-09-29 The Boeing Company System and method of reduction of irrelevant information during search
US20140149130A1 (en) 2012-11-29 2014-05-29 Verizon Patent And Licensing Inc. Healthcare fraud detection based on statistics, learning, and parameters
US20140156527A1 (en) 2012-11-30 2014-06-05 Bank Of America Corporation Pre-payment authorization categorization
US20140157172A1 (en) 2012-11-30 2014-06-05 Drillmap Geographic layout of petroleum drilling data and methods for processing data
US10672008B2 (en) 2012-12-06 2020-06-02 Jpmorgan Chase Bank, N.A. System and method for data analytics
US9497289B2 (en) 2012-12-07 2016-11-15 Genesys Telecommunications Laboratories, Inc. System and method for social message classification based on influence
US9294576B2 (en) 2013-01-02 2016-03-22 Microsoft Technology Licensing, Llc Social media impact assessment
US20140195515A1 (en) 2013-01-10 2014-07-10 I3 Analytics Methods and systems for querying and displaying data using interactive three-dimensional representations
US8819604B2 (en) 2013-01-20 2014-08-26 International Business Machines Corporation Real-time display of electronic device design changes between schematic and/or physical representation and simplified physical representation of design
US8639552B1 (en) 2013-01-24 2014-01-28 Broadvision, Inc. Systems and methods for creating and sharing tasks
US9123086B1 (en) 2013-01-31 2015-09-01 Palantir Technologies, Inc. Automatically generating event objects from images
US20140222793A1 (en) 2013-02-07 2014-08-07 Parlance Corporation System and Method for Automatically Importing, Refreshing, Maintaining, and Merging Contact Sets
US20140222521A1 (en) 2013-02-07 2014-08-07 Ibms, Llc Intelligent management and compliance verification in distributed work flow environments
US9264393B2 (en) 2013-02-13 2016-02-16 International Business Machines Corporation Mail server-based dynamic workflow management
US8744890B1 (en) 2013-02-14 2014-06-03 Aktana, Inc. System and method for managing system-level workflow strategy and individual workflow activity
US20140244284A1 (en) 2013-02-25 2014-08-28 Complete Consent, Llc Communication of medical claims
US9189468B2 (en) 2013-03-07 2015-11-17 Ricoh Company, Ltd. Form filling based on classification and identification of multimedia data
US9286618B2 (en) 2013-03-08 2016-03-15 Mastercard International Incorporated Recognizing and combining redundant merchant designations in a transaction database
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
GB2513721A (en) 2013-03-15 2014-11-05 Palantir Technologies Inc Computer-implemented systems and methods for comparing and associating objects
US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9265015B2 (en) 2013-03-15 2016-02-16 Whistle Labs, Inc. Detecting interaction among entities via proximity
US8818892B1 (en) 2013-03-15 2014-08-26 Palantir Technologies, Inc. Prioritizing data clusters with customizable scoring strategies
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9230280B1 (en) 2013-03-15 2016-01-05 Palantir Technologies Inc. Clustering data based on indications of financial malfeasance
GB2513720A (en) 2013-03-15 2014-11-05 Palantir Technologies Inc Computer-implemented systems and methods for comparing and associating objects
US9372929B2 (en) 2013-03-20 2016-06-21 Securboration, Inc. Methods and systems for node and link identification
US20140351070A1 (en) 2013-05-22 2014-11-27 Cube, Co. Role-based transaction management system for multi-point merchants
US9351116B2 (en) 2013-05-30 2016-05-24 Hong Kong Baptist University System and method for providing proximity information
US9576248B2 (en) 2013-06-01 2017-02-21 Adam M. Hurwitz Record linkage sharing using labeled comparison vectors and a machine learning domain classification trainer
DE102014213036A1 (en) 2013-07-05 2015-01-22 Palantir Technologies, Inc. Data Quality Monitors
US8601326B1 (en) 2013-07-05 2013-12-03 Palantir Technologies, Inc. Data quality monitors
US9389761B2 (en) 2013-07-19 2016-07-12 General Electric Company Systems and methods for dynamically controlling content displayed on a condition monitoring system
US8838538B1 (en) 2013-07-31 2014-09-16 Palantir Technologies, Inc. Techniques for replicating changes to access control lists on investigative analysis data
US9313233B2 (en) 2013-09-13 2016-04-12 Plantir Technologies Inc. Systems and methods for detecting associated devices
US9787760B2 (en) 2013-09-24 2017-10-10 Chad Folkening Platform for building virtual entities using equity systems
US8938686B1 (en) * 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8812960B1 (en) 2013-10-07 2014-08-19 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US8832594B1 (en) 2013-11-04 2014-09-09 Palantir Technologies Inc. Space-optimized display of multi-column tables with selective text truncation based on a combined text width
US9356937B2 (en) 2013-11-13 2016-05-31 International Business Machines Corporation Disambiguating conflicting content filter rules
US9165100B2 (en) 2013-12-05 2015-10-20 Honeywell International Inc. Methods and apparatus to map schematic elements into a database
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US20150178825A1 (en) 2013-12-23 2015-06-25 Citibank, N.A. Methods and Apparatus for Quantitative Assessment of Behavior in Financial Entities and Transactions
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US10545986B2 (en) 2013-12-27 2020-01-28 General Electric Company Systems and methods for dynamically grouping data analysis content
US8832832B1 (en) 2014-01-03 2014-09-09 Palantir Technologies Inc. IP reputation
US9836502B2 (en) 2014-01-30 2017-12-05 Splunk Inc. Panel templates for visualization of data within an interactive dashboard
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US20150235334A1 (en) 2014-02-20 2015-08-20 Palantir Technologies Inc. Healthcare fraud sharing system
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
US9129219B1 (en) 2014-06-30 2015-09-08 Palantir Technologies, Inc. Crime risk forecasting
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US9202249B1 (en) 2014-07-03 2015-12-01 Palantir Technologies Inc. Data item clustering and analysis
EP3742694B1 (en) 2014-07-03 2025-08-27 Palantir Technologies Inc. Computer system for malware analysis based on data clustering
US20160026923A1 (en) 2014-07-22 2016-01-28 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US20160055501A1 (en) 2014-08-19 2016-02-25 Palantir Technologies Inc. System and method for determining a cohort
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100145772A1 (en) * 2000-12-20 2010-06-10 Mccauley Sean System and Method for Analyzing Customer Segments
US20150101062A1 (en) * 2010-02-25 2015-04-09 American Express Travel Related Services Company, Inc. System and method for online data processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263227B2 (en) 2013-11-04 2022-03-01 Palantir Technologies Inc. Interactive vehicle information map
US10460602B1 (en) * 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system

Also Published As

Publication number Publication date
US10103953B1 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
US10103953B1 (en) Methods and systems for analyzing entity performance
US9727622B2 (en) Methods and systems for analyzing entity performance
EP2884440A1 (en) Methods and systems for analyzing entity performance
US9996229B2 (en) Systems and methods for analyzing performance of an entity
EP2988258A1 (en) System and method for determining a cohort
US20180174205A1 (en) Systems and methods for recommending merchants to a consumer
US10163147B2 (en) Systems and methods of location based merchant recommendations
US20190164176A1 (en) Systems and methods for processing transaction data
US11782936B2 (en) Entity data attribution using disparate data sets
US20160335649A1 (en) Systems and methods for determining an impact event on a sector location
US10706434B1 (en) Methods and systems for determining location information
US10579647B1 (en) Methods and systems for analyzing entity performance
US11615439B2 (en) Method and apparatus for clustering platform sessions and user accounts associated with the platform sessions
KR102137230B1 (en) Server for providing artificial intelligence based real estate auction information service using analysis of real estate title and deeds
US20160300267A1 (en) Systems and methods for providing recommendations to residential relocators
US20180075468A1 (en) Systems and methods for merchant business intelligence tools
US20240112204A1 (en) Systems and methods for merging networks of heterogeneous data
US20240378210A1 (en) Systems and methods for customizing search ranges for labels associated with domains of attribute values
US11797526B2 (en) Data structures and methods for electronically recording events
KR20240069789A (en) Information processing method, information processing device, information processing program and recording medium

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

AS Assignment

Owner name: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT, CANADA

Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:051709/0471

Effective date: 20200127

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:051713/0149

Effective date: 20200127

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

AS Assignment

Owner name: PALANTIR TECHNOLOGIES INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANG, ALLEN;SILLS, MATTHEW;BRAINARD, KATHERINE;AND OTHERS;SIGNING DATES FROM 20150716 TO 20150720;REEL/FRAME:052650/0194

AS Assignment

Owner name: PALANTIR TECHNOLOGIES INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:ROYAL BANK OF CANADA;REEL/FRAME:052856/0382

Effective date: 20200604

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:052856/0817

Effective date: 20200604

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: PALANTIR TECHNOLOGIES INC., CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST;ASSIGNOR:ROYAL BANK OF CANADA;REEL/FRAME:057335/0753

Effective date: 20200604

AS Assignment

Owner name: WELLS FARGO BANK, N.A., NORTH CAROLINA

Free format text: ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:060572/0640

Effective date: 20220701

Owner name: WELLS FARGO BANK, N.A., NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:PALANTIR TECHNOLOGIES INC.;REEL/FRAME:060572/0506

Effective date: 20220701