The disclosure relates to the general areas of Sales and Marketing analytics.
Marketers have long collected and used sets of values describing specific characteristic or dimensions of the individual entities (companies, people and other entities) that are relevant to the markets they are working to reach. Typically, each individual entity in a population of entities has its own set of values following the same template (same dimensions, different values). The records for each entity (with the set of values for each entity) may be captured and stored.
Once a database of such records is constructed the marketer may use this data in a variety of ways including querying the database to find sets of individual entities that meet specified criteria. For example, a marketer may execute queries to identify all known companies that have employees in a specific geographical region (Kansas), with annual revenues in a specified range (between $30 million and $70 million) and that sell goods/services mostly to consumers (vs. to other companies).
In many cases, marketers describe their addressable market in terms of these types of queries. The general structure of these query-based descriptions is that they have “sharp boundaries”, in other words they are based upon threshold values such as the revenue range upper and lower bounds in the example above. Continuing with the above example, a company that has a record with annual revenue=$29.999 million does not fall in the range, although it is quite close to the sharp boundary.
In many cases, the data describing a specific characteristic is collected and stored as a categorical value wherein an individual entity is either in or not in any of a number of specific categories (for example, a company is either a healthcare company or it is not, either a manufacturer or it is not, either an education company or it is not and so on for some finite set). In other cases the data is binary (a company either sells to consumers or it does not). In some cases values can assume any real value (ratios, such as revenue per employee, for example). In other cases values are limited to integer values (number of full-time employees, for example). Marketers, in general, specify their queries using a mix of data types (real-valued, integer, categorical, binary, and others). In many cases standards have emerged for specific characteristics (for example SIC and NAICS codes are widely-used codes for a company's industry).
As the amount of data describing individual entities has grown marketers have been able to specify more and more complex queries. With this increase in query complexity it has become increasingly difficult for marketers to understand the boundaries that they are specifying. For example, when these queries are used to specify the population of targets for a marketing campaign it is difficult for marketers to understand the impact of changing the query. Sometimes a small change in a query can produce a very large change in the type and number of entities returned. In other cases a larger change in the query can produce little or no change in the results. In practice, important data values (for example, the industry codes for a given company) are often inaccurate. It is difficult for marketers to know how much these inaccuracies will impact the results of their queries.
The number of dimensions required to capture the relevant aspects of a market, the data inaccuracies and the complexity that arises from mixing different types of values (real, integer, categorical, binary, ordinal and more) make it difficult for marketers to create understandable queries that accurately produce the desired results. This poses a significant problem in the data analytics industry.
The disclosure is particularly applicable to a b2b or b2c economic system as disclosed below for illustration purposes and it is in this context that the disclosure will be described. It will be appreciated, however, that the system and method for creating/updating entity vectors has greater utility since it can be used with or be part of any system or method in which it is desirable to be able to generate the disclosed entity vectors. Each entity vector may be for a particular entity in which the entity may be a person, a company, a group within a company, a product, product lines, a service, service lines, an organization, people, a team, capital, content, a school or a capital source. Each entity may be an entity that is important for B2B marketing.
Thus, the system and method provide a technical solution to the above problem and generates and entirely real-valued vector of values that encode entity characteristics for each of the individual entities in a population. The system and method also produces more accurate entity vectors from an initial set of entity vectors and the relationships among them (all or part of the Dynamic B2B network described in the patent application entitled “Method And System For The Construction Of Dynamic, Non-Homogeneous B2b Or B2c Networks” that is incorporated herein by reference. In more detail, the entity vector system and method disclosed below addresses the problem identified above by creating an entirely real-valued encoding of all dimensions (hereafter referred to as “entity vectors”) and by providing a way to use the relationships among entities along with initial values for entity vectors to create new versions of the entity vectors with more accurate values. Note that the disclosed system and method for the entity vector and the entity vector itself is unconventional, not routine and not well understood in the marketing industry as proven in part by the conventional records currently being used by the marketing industry. The detail of what make the disclosed system and method for the entity vector and the entity vector itself is unconventional, not routine and not well understood in the marketing industry are detailed below.
Each entity vector captures a set of characteristics, C={c1, c2, . . . , cN} where there is no requirement for any of the values to refer to any specific point or range of points in time. In some embodiments the entity vectors are time-aware. For example, Ct={c1t, c2t, . . . cNt} has values that all relate to the same specific point in time, t. The system and method supports entity vectors with values covering any number of time-slices (like a movie created from a sequence of still images). For example, for any entity vector, C={c1, c2, . . . cN}, there is a dynamic version, C*={(c1t, c1t+1 . . . c1t+m), (c2t, c2t+1 . . . c2t+m), . . . , (cNt, cNt+1 . . . cNt+m)}. All of these embodiments of an entity vector (C, Ct and C*) have the same general structure, are within the scope of the disclosure and the disclosed system and method may be applied to all of them. In general, entity vectors may have any number of levels of sub-vectors but when these layers of sub-vectors are flattened into a single level they are simply lists of real numbers. They are real-valued vectors in the mathematical sense. Equivalently, they are points in RN (where N is the number of dimensions in the flattened entity vector).
The communication path 102 may be one or more wired networks, one or more wireless networks or a combination of wired and wireless networks that communicate data between each computing device 101 and the backend 103. For example, the elements of the communication path 102 may include the Internet, Ethernet, a cellular network, a digital data network, a WiFi network and the like. The communication path 102 may use various data transfer and data communication protocols. For example, the communication path 102 may use TCP/IP, HTTPS or HTTP, JSON, HTML and the like.
The backend 103 may be implemented using a plurality of computing resources, such as server computers, blade servers, processors, database servers, application servers, etc. The backend 103 establishes a connection with each computing device 101 over the communication network 102 may receive input from each computing device that may include a request for an output from the backend, an entity vector specification, entity vector parameters, or entity vector update parameters or input internal or external data used to update an entity vector(s). The backend 103 may also construct an entity vector(s) or update an existing entity vector(s) as described below and generate a visualization of the entity vector(s) or updated entity vector(s).
The backend 103 may further comprise an entity vector constructor 103A that has an interface for incoming entity vector data and may process the incoming entity vector data and the entity vector specifications and generate the novel entity vector. The backend 103 may further comprise an entity vector updater 103B that updates an existing entity vector(s). Each or both of the entity vector constructor 103A and the entity vector updater 103B may be implemented in hardware or software. When implemented in hardware, the entity vector constructor 103A and/or the entity vector updater 103B may be a hardware circuit, such as a microprocessor, microcontroller, a state machine, an ASIC, etc. that is configured to perform the processes described below. When implemented in software, the entity vector constructor 103A and/or the entity vector updater 103B may be a plurality of lines of computer code that may be executed by a processor of the computer system that hosts the software so that the processor is programmed and thus configured to perform the various processes and operations as described below. Although the entity vector constructor 103A and the entity vector updater 103B are implemented using known and conventional computer hardware as described above, the processes performed by each of the entity vector constructor 103A and the entity vector updater 103B are not well understood, not conventional and not routine in the marketing industry. For example, the creation of the novel entity vector is not well understood, not conventional and not routine in the marketing industry. Furthermore, the modification/updating of an entity vector is also not well understood, not conventional and not routine in the marketing industry.
The system 100 may further comprise a storage device 104, that may be software or hardware implemented storage device, that stores various data used by the system to generate and/or update dynamic networks. For example, the storage device 104 may store one or more datasets 104A (structured and/or unstructured input data from which an entity vector(s) may be constructed) and/or one or more initial entity vector(s) (IEVs) 104B (previously generated by the system or used as input when an entity vector(s) is updated or modified) and/or one or more relationship datasets (RD) 104C (indicating relationships between or among entities). In addition to the system described above in which the backend performs the entity vector construction or update, in an alternative embodiment, a mobile device processor may perform the entity vector construction or update.
Marketers typically use data records to describe relevant entities (companies, people and others) and these records typically have a mix of data types (text, categorical, binary, integer, real, and others). These records may range from a few data fields (industry, revenue, headcount for example) to several hundred data fields (including, for example, all of the technologies or branded products that a company has purchased and/or all of the types of marketing programs with which the company has experience). The properties of these records that arise from mixed data types and limited information capacity of certain data types (especially binary and categorical types) is the cause of many difficulties and limitations that marketers experience as they use these records to complete common tasks such as defining their target markets, specifying account candidates for campaigns and many other tasks.
The novel entity vectors disclosed below are different in that they encode characteristics data as a set of real numbers (the vector). Entity vectors may optionally have descriptive, index and/or other data that is not real-valued and is used for access, unique identification, display or other purposes. But entity vectors always have entity descriptive data that encoded as real numbers. The encoding of the descriptive data used by marketers in the form of real-numbers is often straightforward (obvious, for example in cases such as using the percentage of a company's customers that are consumers vs. businesses to derive a real-valued representation of the degree to which a company's market is B2B vs. B2C). But, in other cases, for example in the encoding of a company's industry, market to which they sell or supply chain roles they perform, creating a real-valued encoding requires novel methods.
Entity vectors enable a number of fundamentally new functions that are not achievable using current record structures that contain data elements that are not real-valued. Once scaled (using any of a number of well-known scaling processes such as Z-scaling) entity vectors allow single entities (for example, a specific company) to meaningfully be compared to a population of entities (for example, a set of companies that share an important characteristics such as having purchased a particular good or service). This direct comparison is only possible when individual entities and populations of entities have a common data representation. In this example, because real-valued vectors can be combined (for example, by vector addition) to form another real-valued vector of exactly the same structure a population of entities may have (as a population entity) an entity vector of its own of exactly the same form as any individual entity of the same type. In practice, this enables a number of valuable marketing functions such as determining the similarity of a company or person to a population with known behavior or properties (similarity to “best customers”, similarity to “worst customers”, similarity to customers that responded to specific marketing methods, etc.) These similarity operations become difficult or practically infeasible when the data elements describing the relevant entities are not entirely real-valued. The real-valued entity descriptions in the entity vectors also allow marketers to apply all of the mathematics associated with real-valued vector spaces. For example, it is possible to “blend” two entities by averaging them (weighted or unweighted).
One embodiment of the novel and unconventional entity vector system and method includes methods to create one or more dimensions (these dimensions may be all or part of the full entity vector) of entity vectors that encode specific characteristics that capture a company's core activities, commonly referred to as the company's “industry”. In this specific embodiment, real-valued encodings are produced in the entity vector that overcome many of the significant issues with current encodings of industry.
There are many coding schemes currently used to encode a company's industry. These include the widely adopted standard taxonomies (SIC and NAICS) as well as other schemes developed by organizations (LinkedIn, for example) for particular uses. All of these current schemes have fundamental flaws that are corrected by the novel entity vector and those flaws include:
As an example of the first type of flaw consider 2-digit NAICS codes. Answering the question “What are this company's core activities?” for a company like Apple Inc. is complicated. Clearly Apple Inc. a manufacturer (2-digit NAICS code=33), a retail company (2-digit NAICS code=44), an information and software company (2-digit NAICS code=51), a professional and technical services company (2-digit NAICS code=54) and Apple Inc. also has a significant presence in other industries such as financial services (2-digit NAICS code=52) and entertainment (2-digit NAICS code=71). In many data sources, Apple Inc. will be listed as being in one and only one of these categories. This clearly fails to capture a true and accurate picture of Apple Inc. In the best case, Apple Inc.'s industry will be encoded as being a member of many (perhaps even all of the above) industry categories. This still fails to accurately capture what Apple Inc. does. Even if the concepts of “primary” and “secondary” industry are applied, this type of encoding is still unable to accurately capture what Apple Inc. does because it lacks precision.
The novel and unconventional entity vector addresses this first type of flaw in two ways. First, the entity vector allows a company's membership in any specific industry category to assume any real value as shown in
Second, the entity vector supports the use of any number of additional dimensions (not directly dedicated to capturing a company's industry). These additional dimensions of the entity vector provide valuable context that enables human users and/or analytic models to more accurately interpret the entity vector values that are dedicated to encoding industry information. The second type of flaw (conflation of industry, market and supply chain role) is also common in current industry coding schemes. For example, 2-digit NAICS codes include categories for wholesale trade (2-digit NAICS=42) and warehousing (2-digit NAICS=49). Both of these are to a significant degree supply chain roles that may apply to any of a number of different industry categories. Encoding a company's industry as one of these categories leads to significant uncertainty. This second flaw also appears due to the way users of the scheme interpret the categories. For example, the industry of a company that produces and sells hospital management software is, in practice, often encoded as being in the healthcare category (2-digit NAICS=62). This type of inaccuracy is not forced by the encoding scheme but it is made worse by the common conflation of the concepts of “industry” and “market” (in the example, the company's market does include the healthcare category).
The entity vector addresses this second type of flaw by explicitly separating industry, market and supply chain role. For example, in one embodiment, the entity vector may create an entirely separate sub-vector of the company entity vector that captures the company's market (which may be spread across many different categories of buyers, where buyers may be any of a number of types of entities including companies and individual consumers).
Each dimension of the industry sub-vector of the entity vector for a company represents a single industry category and the value for any given company is a real number between 0 (indicating that the company has no membership in the industry category) and 1 (indicating that the company has maximal membership in the industry category). The entity vector is agnostic as to the specific category structure and supports hierarchical category structures with any number of levels.
The entity vector may include “cross category structures”. A cross category structure occurs when one category structure (for example, the industry sub-vector) interacts with another (for example the supply-chain role or market sub-vector) to form a new category structure.
In the entity vector, category membership values (for the industry vector or any sub-vector where dimensions represent categories) may be computed using any of a number of well-known estimation methods. In one embodiment a set of statistical or machine learning models are used to produce the category membership estimates. This is done by first identifying a number of both positive exemplars (the entity is in the category) and negative exemplars (the entity is not in the category). This may be done manually, using an algorithm or any combination of manual and algorithmic processes. For each positive and each negative exemplar descriptive data is collected. This descriptive may include any number of structured data elements (such as number of employees and/or annual revenues) and any number of unstructured data elements (such as the words or topics the company has on its website). Using these positive and negative exemplars for each category in a set of categories we may follow any number of well known model development methods (for example, splitting the data into training and validation samples and building a suite of single category classification models or multi-class classification models). The validation data may be used in the usual way to measure classification accuracy. Once built in this way, the classification model (which may include any number of sub-models) may be executed on any set of entities for which we collect a viable subset of the same descriptive information as was used as input to the classification model. Applied in this way, the classification model may be used to create category membership values for any population of entities for which we can collect and/or construct the required descriptive data.
To produce membership estimates for cross category encodings, the disclosed method may create classification models as described above (using any of a number of well known machine learning methods) for each of the interacting category sub-vectors and then apply the generalized vector multiplication process (with parameters indicating scaling, weighting and which parts of the input vectors to include in the generalized multiplication process and which parts of the input vectors or resulting product to include in the output encoding).
The process continues to encode each dimension as long as dimensions remain to be encoded 504. Once all dimensions are encoded for a given entity any additional data is appended 505. This data may include, for example, entity identifier data, human readable fields that add clarity (for example company name and/or address) or other types of data that are not required to assume real-values. Once the data is appended to the constructed entity vector the entity vector with appended data is stored for subsequent use 506.
Note that there are many well-known methods for encoding arbitrary types of data as real-values including computing ratios of known values, measuring the frequency that a specific value occurs across a population of entities, creating a ranking of values by sorting them according to specified criteria and many others. The method is agnostic as to the selection and application of these known methods to transform inputs into a real valued encoding (referred to as “straightforward case” encodings). For example, an example of a straightforward algorithm to compute the value for a dimension of an entity vector that represents the degree to which a company's market is B2B vs. B2C is to assign the dimension a value equal to the percentage of a company's customers that are consumers vs. businesses. Any/all values comprising an entity vector may be created using any combination of direct algorithms, manual processes or network algorithms (that rely upon some set of existing entity vector values and relationships among these entities). In general, any entity vector may have values for some dimensions and lack values for others (partial entity vectors). In one embodiment, this information about entities and the relationships among them is specified in the form of all or part of a dynamic, non-homogeneous B2B Network (described in the already incorporated by reference patent entitled “METHOD AND SYSTEM FOR THE CONSTRUCTION OF DYNAMIC, NON-HOMOGENEOUS B2B OR B2C NETWORKS.”
To this point, enabling the creation and encoding of entity data in the form of real-valued vectors has been described. The values for different dimensions in an entity vector may be created using data elements that are already represented as real numbers, by applying straightforward transformations or by applying processes that allow categorical information (such as company industry or cross category information) to be encoded in the form of real-valued vectors.
In practical use, for example when a user is trying to understand a market that comprises a population of entities (companies, people or other), the user may desire to improve the accuracy or consistency of values in existing entity vectors, add new data elements (dimensions) to existing entity vectors and/or create entity vectors for entities for which we have little or no direct descriptive information. To help accomplish these tasks, the system and method include a method 600 shown in
In the method, one of the entity vector dimension values is selected for update 603. This may be a random selection or may be done in sequence or accomplished via any of a number of selection criteria. The selection of which entity vector value to update is not particularly important. The idea is to “spin through” all of the values at some point to update them. Doing them in a specific sequence (possibly many time through the sequence) may in some cases lead to suboptimal results, but otherwise it doesn't matter as long as some reasonable process is followed. The entity vector update process 604 is then chosen 604a. The update may be either explicit 604b or implicit 604c. For an explicit update 604b, the relationship information may be used to directly compute values for certain entity vectors using values from certain other entity vectors. An example of explicit update can be seen in the dimension values that we can compute for companies using the values of certain dimensions of the entity vectors for the individual people they employ (for example, one way to estimate a company's collective expertise in a specific technology is to look at the individual expertise of the company's employees).
The purpose of implicit update 604c is to arrive at a more complete set of entity vectors with values for all entity vectors that are increasingly more “fit” with each iteration. The fitness function may be any of a number of well-known functions such as self-consistency and/or accuracy relative to a known benchmark for all or a sample of the entity vector values. In the case of implicit update, there is no known algorithm for using the entity relationship data. Instead, the closeness of one entity to another (using any of a number of well-known graph distance metrics, such as geodesic distance) is used to allow the values for one entity vector to influence the values of another entity. The method is agnostic to the specific approach used to adjust entity vector values. In one embodiment the approach is to create a machine learning model that estimates each of the entity vector values for each entity in the network using all of the other values for entities connected to the entity whose value is being estimated. In another embodiment, we may cluster entities (using any of a number of well known clustering methods such as K-means and agglomerative clustering) using the entity vector data that we do have for a given entity to estimate its membership in each cluster and use properties of the distribution of values within the cluster (such as median) to derive a value for the entity vector dimension being estimated. In all cases, we may use the estimate to fill in a missing entity vector value or to replace an existing entity vector value or update an existing value a blend of the existing value and estimated value. One example of a fitness function is “maximum confidence” where each entity vector value has an associated confidence score and the fitness of a set of values is simply an aggregate measure such as “total confidence” or “median confidence”.
The process continues to iterate through the set of entity vector values being updated 605. Once we have iterated through the entity value update process until stopping criteria have been met 606 (any of a number of well known criteria may be used including convergence criteria and/or time or iteration threshold limits) the update process is halted.
In both the method for creating the entity vector and updating/modifying the entity vector, the method may display the created entity vector or modified/updated entity vector to a user so that the user can take advantage of the novel, unconventional entity vector. In one embodiment, the system 100 shown in
This example shows a single iteration of the process for using a set of entity vectors to improve another (possibly overlapping) set of entity vectors. In general, the process may be iterated many times. Consider, for example, that company vectors for a person's employers (prior and current) can provide valuable information about the person. These company vectors for current and prior employers can tell us, for example, if the person has a history of working for high growth rate companies, if there is a sequential trend in size of the companies the person worked for (increasingly larger or smaller), the industry mix with which the person has the most experience and many other characteristics of one's employers that provide information about the person's skills, preferences, impact etc.).
There are many other relationships among entities that enable one set of entity vectors to adjust or add values to another set of entity vectors, the employment relationship is just one of many. For example, the entity vectors of a company's customers (individual consumers, companies or other entities) may tell much about the company selling the goods/services.
A dynamic network object is described in the already incorporated patent application entitled “METHOD AND SYSTEM FOR THE CONSTRUCTION OF DYNAMIC, NON-HOMOGENEOUS B2B OR B2C NETWORKS.” In general, the disclosed entity vector may be applied to any sub-network of a dynamic network object of this type. Entity to entity connections in the dynamic network object include entities that are different versions of the same underlying entity (for example same company, same person) at different times. Sub-networks that include these “same entity different time” relationships provide yet another example of how the invention allows vectors for one set of entities to be used to create or improve the values in the entity vectors for another set of entities. For example, the entity vectors for a company at times t−1 and t+1 (where t−1 might, for example, indicate the year or quarter prior to time t) place constraints on the values for certain dimensions in the entity's vector at time t (for example, maintaining a degree of continuity in headcount and revenue). In this way, we can use entity vector values we have (or in which we have high confidence) to fill in values for entity vectors we might be missing (or in which we have low confidence)
It will be appreciated that both an entity vector taken as a whole (where the data type is a real vector of N dimensions, for any positive integer N) and/or the value for any dimension an entity vector (where the data type is a real number) may be data associated with any node in a dynamic, non-homogeneous B2B or B2C network. As such, the system and method described in METHOD AND SYSTEM FOR THE CONSTRUCTION OF DYNAMIC, NON-HOMOGENEOUS B2B OR B2C NETWORKS may be applied to the entity vector or any dimension of an entity vector to create or update said value(s). This allows us to create entity vectors and their component values and/or modify entity vectors and their component values using the information contained in an existing dynamic, non-homogeneous B2B or B2C network.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, to thereby enable others skilled in the art to best utilize the disclosure and various embodiments with various modifications as are suited to the particular use contemplated.
The system and method disclosed herein may be implemented via one or more components, systems, servers, appliances, other subcomponents, or distributed between such elements. When implemented as a system, such systems may include an/or involve, inter alia, components such as software modules, general-purpose CPU, RAM, etc. found in general-purpose computers. In implementations where the innovations reside on a server, such a server may include or involve components such as CPU, RAM, etc., such as those found in general-purpose computers.
Additionally, the system and method herein may be achieved via implementations with disparate or entirely different software, hardware and/or firmware components, beyond that set forth above. With regard to such other components (e.g., software, processing components, etc.) and/or computer-readable media associated with or embodying the present inventions, for example, aspects of the innovations herein may be implemented consistent with numerous general purpose or special purpose computing systems or configurations. Various exemplary computing systems, environments, and/or configurations that may be suitable for use with the innovations herein may include, but are not limited to: software or other components within or embodied on personal computers, servers or server computing devices such as routing/connectivity components, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, consumer electronic devices, network PCs, other existing computer platforms, distributed computing environments that include one or more of the above systems or devices, etc.
In some instances, aspects of the system and method may be achieved via or performed by logic and/or logic instructions including program modules, executed in association with such components or circuitry, for example. In general, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular instructions herein. The inventions may also be practiced in the context of distributed software, computer, or circuit settings where circuitry is connected via communication buses, circuitry or links. In distributed settings, control/instructions may occur from both local and remote computer storage media including memory storage devices.
The software, circuitry and components herein may also include and/or utilize one or more type of computer readable media. Computer readable media can be any available media that is resident on, associable with, or can be accessed by such circuits and/or computing components. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and can accessed by computing component. Communication media may comprise computer readable instructions, data structures, program modules and/or other components. Further, communication media may include wired media such as a wired network or direct-wired connection, however no media of any such type herein includes transitory media. Combinations of the any of the above are also included within the scope of computer readable media.
In the present description, the terms component, module, device, etc. may refer to any type of logical or functional software elements, circuits, blocks and/or processes that may be implemented in a variety of ways. For example, the functions of various circuits and/or blocks can be combined with one another into any other number of modules. Each module may even be implemented as a software program stored on a tangible memory (e.g., random access memory, read only memory, CD-ROM memory, hard disk drive, etc.) to be read by a central processing unit to implement the functions of the innovations herein. Or, the modules can comprise programming instructions transmitted to a general purpose computer or to processing/graphics hardware via a transmission carrier wave. Also, the modules can be implemented as hardware logic circuitry implementing the functions encompassed by the innovations herein. Finally, the modules can be implemented using special purpose instructions (SIMD instructions), field programmable logic arrays or any mix thereof which provides the desired level performance and cost.
As disclosed herein, features consistent with the disclosure may be implemented via computer-hardware, software and/or firmware. For example, the systems and methods disclosed herein may be embodied in various forms including, for example, a data processor, such as a computer that also includes a database, digital electronic circuitry, firmware, software, or in combinations of them. Further, while some of the disclosed implementations describe specific hardware components, systems and methods consistent with the innovations herein may be implemented with any combination of hardware, software and/or firmware. Moreover, the above-noted features and other aspects and principles of the innovations herein may be implemented in various environments. Such environments and related applications may be specially constructed for performing the various routines, processes and/or operations according to the invention or they may include a general-purpose computer or computing platform selectively activated or reconfigured by code to provide the necessary functionality. The processes disclosed herein are not inherently related to any particular computer, network, architecture, environment, or other apparatus, and may be implemented by a suitable combination of hardware, software, and/or firmware. For example, various general-purpose machines may be used with programs written in accordance with teachings of the invention, or it may be more convenient to construct a specialized apparatus or system to perform the required methods and techniques.
Aspects of the method and system described herein, such as the logic, may also be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (“PLDs”), such as field programmable gate arrays (“FPGAs”), programmable array logic (“PAL”) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits. Some other possibilities for implementing aspects include: memory devices, microcontrollers with memory (such as EEPROM), embedded microprocessors, firmware, software, etc. Furthermore, aspects may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. The underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (“MOSFET”) technologies like complementary metal-oxide semiconductor (“CMOS”), bipolar technologies like emitter-coupled logic (“ECL”), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, and so on.
It should also be noted that the various logic and/or functions disclosed herein may be enabled using any number of combinations of hardware, firmware, and/or as data and/or instructions embodied in various machine-readable or computer-readable media, in terms of their behavioral, register transfer, logic component, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) though again does not include transitory media. Unless the context clearly requires otherwise, throughout the description, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “hereunder,” “above,” “below,” and words of similar import refer to this application as a whole and not to any particular portions of this application. When the word “or” is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.
Although certain presently preferred implementations of the invention have been specifically described herein, it will be apparent to those skilled in the art to which the invention pertains that variations and modifications of the various implementations shown and described herein may be made without departing from the spirit and scope of the invention. Accordingly, it is intended that the invention be limited only to the extent required by the applicable rules of law.
While the foregoing has been with reference to a particular embodiment of the disclosure, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the disclosure, the scope of which is defined by the appended claims.
This application claims the benefit under 35 USC 119(e) to U.S. Provisional Patent Application Ser. No. 62/528,400, filed Jul. 3, 2017 and entitled “Creation, Update and Analysis of Dynamic, Nonhomogeneous Economic Networks” and claims priority under 35 USC 120 and is a Continuation in Part of U.S. patent application Ser. No. 15/907,165 filed Feb. 27, 2018 and entitled “Method And System For The Construction Of Dynamic, Non-Homogeneous B2b Or B2c Networks”, the entirety of both of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62528400 | Jul 2017 | US |