US20120158458A1 - Method And Apparatus For Pricing Products In Multi-Level Product And Organizational Groups - Google Patents
Method And Apparatus For Pricing Products In Multi-Level Product And Organizational Groups Download PDFInfo
- Publication number
- US20120158458A1 US20120158458A1 US13/334,380 US201113334380A US2012158458A1 US 20120158458 A1 US20120158458 A1 US 20120158458A1 US 201113334380 A US201113334380 A US 201113334380A US 2012158458 A1 US2012158458 A1 US 2012158458A1
- Authority
- US
- United States
- Prior art keywords
- pricing
- product
- price
- groups
- hierarchy
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Definitions
- This invention relates to the field of computer-based pricing of products.
- the large amounts of data required to provide accurate pricing is understood by describing the factors that go into pricing.
- pricing is typically performed on a customer by customer basis. That is, for a particular product, each customer gets a price that is different from the price offered to other customers (in the present application the term “product” is used generically to refer to tangible products as well as intangible products, such as services).
- the difference in price for a particular product is a function of numerous factors.
- the type of product e.g., hardware, software, or a particular service
- the size of the customer e.g., a wholesaler, distributor, or value added reseller
- the customer's geographic location are only a few of many factors that are used to determine a price recommendation for a sales representative.
- Each product may have several attributes that contribute to pricing differential.
- the weight or size of a product could increase its base shipping cost.
- the product may be priced differently when it is sold separately instead of as part of a system. If there are ten possible attributes for the same product, the price table described above would have one billion entries. Further, for each product there are usually various adjustments to the basic price. For example, there are usually applicable state and local taxes, actual shipping charges, currency conversions, and a number of possible discounts. If there are ten different types of price adjustments for the same product for a given customer, the size of the table would grow to ten billion entries.
- Each category of possible price adjustments has its own sub-adjustments.
- the adjustment category of discounts includes different types of discounts (i.e. sub-adjustments).
- the different types of discounts can be a volume discount, a general purchase agreement discount, a time-limited discount effective for purchases within a certain date range, an initial offer discount, and so forth. If there are ten different types of discounts for each product or customer, the size of the price table would grow to one hundred billion entries.
- mainframe computer refers to any computer with a large database.
- the customer order is entered in a central billing and financing system within the mainframe computer.
- the mainframe computer then performs the pricing calculation according to the price tables stored in the database.
- FIG. 1 shows an example of a basic price table. Each row in the table designates a potential customer that the product would be sold to, and each column designates the product will be sold, and the table entry corresponding to the basic unadjusted price for the product.
- a 486/33 CPU is sold to Adam at a price of $40
- a 486/50 CPU is sold to Adam at a price of $60
- a 486/66 CPU is sold to Adam at a price of $80.
- a 486/33 CPU is sold to Bob at a price of $42
- a 486/50 CPU is sold to Bob at $58, and a 486/66 CPU is sold to Bob at $72.
- each particular product is sold to each customer at a price that is different from the price that the same product is sold to another customer.
- FIG. 2 shows a volume discount table that corresponds to the basic price table of FIG. 1 .
- the price $40 would be reduced by a discount of 10% if Adam purchases 486/33 CPU's in volume.
- Adam can purchase each 486/33 CPU at a volume-discounted price of $40*(1 ⁇ (10/100)), i.e. at $36, as compared with the original price $40.
- a volume discount of 12% corresponds to the original price $60
- a volume discount of 14% corresponds to the original price of $80, and so forth.
- R3 A pricing application called R3 made by SAP has the prior art disadvantages explained above. For example, R3 requires a number of price adjustment tables and a number of database queries to retrieve applicable price adjustments. Likewise, an order entry application made by Oracle has a similar shortcoming in that a number of database queries are required to retrieve various price adjustments from a large number of price adjustment tables.
- the prior art has attempted to provide more responsive pricing systems by providing sales representatives with price tables on portable computers that can be looked up during a sales transaction.
- current portable computers do not have the storage capacity for all of the price tables that are stored on the central database.
- the pricing generated by the portable computers may not be reliable, potentially costing the selling company money when the prices are two low, and potentially causing lost sales opportunities when the prices generated are too high.
- the present invention is a method and apparatus for determining prices for various products offered to various purchasing organizations (in the present application the term “purchasing organization” refers to a single person as well as to purchasing entities such as companies and the like).
- the term “product” is used generically to refer to tangible products well as intangible products, such as services.
- the invention overcomes the prior art's difficulty in storing, maintaining, and retrieving the large amounts of data required to apply pricing adjustments to determine prices for various products. Because of the invention's method and apparatus, prices for a large number of products can be determined by a laptop computer and the prior art's need to utilize a mainframe computer is alleviated.
- the invention operates under the paradigm of WHO (the purchasing organization) is buying WHAT (the product).
- WHO the purchasing organization
- the WHO is defined by creating an organizational hierarchy of organizational groups, where each group represents a characteristic of the organizational group.
- One or more customers i.e. purchasing organizations
- all of the groups to which that customer belongs, and all pricing adjustments for which each group is eligible, are identified. For example, when the “customer type” group to which a particular customer belongs is identified, all of the pricing adjustments applicable to that customer type are applied to that particular customer. This allows pricing rules to be based on characteristics of each organizational group instead of basing the rules on a per-customer basis.
- a product group hierarchy is defined that can be applied to products.
- a “hardware” product group may be defined that may include as members a number of products.
- Special pricing adjustments may be defined as applying to all hardware products.
- the price adjustments for a particular purchasing organization are determined by retrieving the price adjustments for that particular purchasing organization as well as the price adjustments for other organizational groups that are above the particular purchasing organization in the organizational groups hierarchy.
- the price adjustments for a particular product are determined by retrieving the price adjustments for that particular product as well as the price adjustments for other product groups that are above the particular product in the product groups hierarchy.
- the invention sorts the various pricing adjustments applicable to a particular product offered to a particular purchasing organization based on several criteria. After the sorting is accomplished the pricing adjustments are applied in sequence to arrive at a final price at which a particular product can be sold to a particular purchasing organization.
- the combination of organizational groups and product groups hierarchies and the denormalized pricing table relating a particular organization (or an entire organizational group) to a particular product (or an entire product group) result in some of the advantages of the present invention over the prior art pricing systems.
- These advantages enable the method and apparatus of the present invention to overcome the prior art's need to store, maintain, and retrieve huge amounts of data required to determine prices for various products offered to various purchasing organizations while applying a large number of price adjustments.
- the invention also overcomes the disadvantages of having to “hard-code” the “business logic” into the pricing system. In other words, the invention provides for flexibility in formulating a desired pricing system while reducing the prior art need to store, maintain, and retrieve huge amounts of data.
- FIG. 1 illustrates a basic price table according to the prior art.
- FIG. 2 shows a prior art volume discount table corresponding to the basic price table of FIG. 1 .
- FIG. 3 shows an example of a computer system used to generate price recommendations according to the present invention.
- FIG. 4A shows an example of an arrangement of an organizational group according to the present invention.
- FIG. 4B shows an example of an arrangement of an product group according to the present invention.
- FIG. 5 is an example of the invention's denormalized table for relating various purchasing organizations (or various organizational groups) to various products (or various product groups).
- FIG. 6 shows a computer screen according to the present invention illustrating user arranged organizational and product groups.
- FIG. 7 is an example of a computer screen according to the present inventions showing the various user specified pricing types and user specified pricing sequence.
- FIG. 8 is another example of user specified pricing types and user specified pricing sequence.
- FIG. 9 is an example of a computer screen according to the present invention showing pricing adjustment details for a specific purchasing organization and a specific product.
- FIG. 10 is an example of a computer screen according to the present invention showing product details for a specific purchasing organization and a specific product.
- FIG. 11 is an example of a computer screen according to the present invention showing customer details for a specific purchasing organization and a specific product.
- FIG. 12 is an example of a computer screen according to the present invention showing pricing adjustment details for an organizational group and a product group.
- FIG. 13 is an example of a computer screen according to the present invention showing pricing adjustment details for a geographical organizational group and a product group, using a Tax pricing type.
- FIG. 14 is another example of a computer screen according to the present invention showing pricing adjustment details for a geographical organizational group and a product group, using a Tax pricing type.
- FIGS. 15A through 15C illustrate the execution flow according to the present invention.
- the present invention may be implemented on any conventional or general purpose computer system.
- An example of one embodiment of a computer system for implementing this invention is illustrated in FIG. 3 .
- a keyboard 10 and mouse 11 are, coupled to a bi-directional system 19 .
- the keyboard and mouse are for introducing user input to the computer system and communicating that, user input to CPU 13 .
- the computer system of FIG. 3 also includes a video memory 14 , main memory 15 and mass storage 12 , all coupled to bi-directional system bus 19 along with keyboard 10 , mouse 11 and CPU 13 .
- the mass storage 12 may include both fixed and removable media, such as magnetic, optical or magneto-optical storage systems or any other available mass storage, technology.
- the mass storage may be shared on a network, or it may be a dedicated mass storage.
- Bus 19 may contain, for example, 32 address lines for addressing video memory 14 or main memory 15 .
- the system bus 19 also includes, for example, a 32-bit data bus for transferring data between and among the components, such as CPU 13 , main memory 15 , video memory, 14 and mass storage 12 .
- multiplexed data/address lines may be used instead of separate data and address lines.
- the CPU 13 is a 32-bit microprocessor manufactured by Motorola, such as the 68030 or 68040. However, any other suitable microprocessor or microcomputer may be utilized.
- the Motorola microprocessor and its instruction set, bus structure and control lines are described in MC68030 User's Manual, and MC68040 User's Manual, published by Motorola Inc. of Phoenix, Ariz.
- Main memory 15 is typically comprised of random access memory (RAM) and in the preferred embodiment of this invention, comprises 8 megabytes of memory. More or less memory may be used without departing from the scope of this invention.
- Video memory 14 is a dual-ported video random access memory (RAM), and in this invention consists, for example, of 256 kbytes of memory.
- Video multiplexer and shifter 16 is coupled to video amplifier 17 .
- the video amplifier 17 is used to drive the cathode ray tube (CRT) raster monitor 18 .
- Video multiplexing shifter circuitry 16 and video amplifier 17 are well known in the art and may be implemented by any suitable means. This circuitry converts pixel data stored in video memory 14 to a raster signal suitable for use by monitor 18 .
- Monitor 18 is a type of monitor suitable for displaying graphic images.
- the computer system described above is for purposes of example only.
- the present invention may be implemented in any type of computer system or programming or processing environment.
- the invention's pricing, system is implemented on a server in a computer network. In that case, no keyboard, mouse, or display is required to implement the present invention.
- the invention is typically implemented with the aid of a laptop, or otherwise remote terminal or computer which communicates with the server via a wired or wireless connection.
- the communication between the laptop computer and the server can be accomplished through a cellular modem.
- the invention overcomes the prior art's disadvantages in storing, maintaining, and, retrieving large amounts of data.
- the invention operates under a simple paradigm of WHO (the purchasing organization) is buying WHAT (the product).
- WHO is defined by creating an organizational hierarchy of purchasing organizations.
- a “purchasing organization” also referred to as a customer
- a purchasing organization may be a single person.
- Adam in FIG. 1 is a purchasing organization.
- a purchasing organization may also be a larger entity, such as a company.
- One or more customers i.e. purchasing, organizations
- one or more products may be members of each product group and each product may be a member of more than one product group.
- FIG. 4A is an, example of a hierarchy of purchasing organizations (i.e. the WHO's) according to the present invention.
- the hierarchy of purchasing organizations and organizational groups shown in FIG. 4A is an example of a unique hierarchy that can be specified by a user.
- a user may group various purchasing organizations into a broad category of “World,” and create organizational groups such as “Geography,” “Customer Size,” and “Customer Type” branching off of the root category “World.”
- the Geography branch can be divided into “U.S.” and “Europe,” and the U.S. branch can in turn be divided into different “States” such as “CA,” “TX,” and “FL.”
- FIG. 4A is an, example of a hierarchy of purchasing organizations (i.e. the WHO's) according to the present invention.
- the hierarchy of purchasing organizations and organizational groups shown in FIG. 4A is an example of a unique hierarchy that can be specified by a user.
- a user may group various purchasing organizations into a broad category of “World,” and create organizational
- the Customer Size branch can be divided into “Small,” “Medium,” and “Large.”
- the Customer Type branch is divided into “Reseller,” “VAR,” and “End-User.”
- this particular grouping of various purchasing organizations is wholly arbitrary and determined by the user of the invention's pricing system. For example, the branch “Europe” can be replaced by “Germany,” or alternatively, the entire “Geography” branch can be deleted.
- the prior art pricing systems do not provide users with the capability of generically specifying organizational groups.
- the invention identifies the organizational groups to which the purchasing organization belongs. For example, if the user selects Adam or Bob as the purchasing organization, the invention identifies Adam or Bob as a Reseller. Accordingly, the various discounts that are applicable to a Reseller would also become automatically applicable to Adam or Bob. In this way, the invention simplifies the prior art's need for maintaining separate tables for each individual purchasing organization such as Adam or Bob. In other words, since Adam along with a number of others, such as Bob, are categorized as Resellers, the need to store, update, and retrieve separate tables for Adam or Bob is alleviated.
- a purchasing organization may belong to a number of organizational groups.
- Bob belongs to Resellers as, well as to purchasing organizations located in Texas.
- Charlie is a Reseller as well as a purchasing organization located in California.
- Adam belongs to Resellers as well as to purchasing organizations in Germany.
- this feature of the invention has significant advantages over the prior art pricing systems.
- the prior art pricing systems are “hard-coded” and do not permit categorizing a purchasing organization under multiple organizational groups. Accordingly, the prior art requires storage, retrieval, and maintenance of a number of separate pricing tables for organizations that are similar, but may belong to categories which make them not identical. For, example, although Bob and Charlie are both Resellers, the prior art systems have to store separate price tables and price adjustment tables for Bob and Charlie since one is a Reseller in Texas and the other is a Reseller in California.
- the invention overcomes the need to maintain separate tables for a Reseller who is located in Texas as opposed to one who is located in California.
- the invention automatically identifies Germany as the Geographic location of Adam. Subsequently, the invention recalls price adjustments for all Resellers, price adjustments for any purchasing organization located in Germany, and price adjustments specifically applicable to Resellers located in Germany. In the final determination of adjustments, the invention recognizes that the last price adjustment category (namely, the price adjustment category applicable specifically to Resellers in Germany) is more specific than the other two categories (namely, the category of purchasing organizations in Germany and the category of all Resellers). The invention then recalls the most restrictive category of adjustments (i.e. the adjustments applicable specifically to Resellers in Germany) to Adam.
- the last price adjustment category namely, the price adjustment category applicable specifically to Resellers in Germany
- the most restrictive category of adjustments i.e. the adjustments applicable specifically to Resellers in Germany
- the invention may determine that one category of price adjustments applicable to Resellers in Germany are currency exchange rate adjustments. Accordingly, the invention recalls a currency conversion table for converting U.S. currency to German currency.
- the prior art pricing systems had to store, update and retrieve a separate price adjustment for each purchaser based on the currency exchange rate for that purchaser's particular geographic location.
- the prior art system requires that a separate price table be updated for Adam alone every time the exchange rate for U.S. versus German currencies changes. Manifestly, this imposes tremendous demand on the computer system and the storage space required by the prior art pricing systems. Since the invention identifies Adam as a Reseller in Germany, the currency conversion requires a single table to keep track of the changes in the currency exchange rate between Germany and the U.S. As stated above, this table is automatically recalled when the user selects Adam as the purchaser.
- FIG. 4B is an example of a hierarchy of products (i.e. the WHAT's) according to the present invention.
- the hierarchy of products and product groups shown in FIG. 4B is an example of a unique hierarchy that can be specified by a user.
- a user may group various products into a broad category of “All Products,” and create product groups such as “Hardware,” “Software,” and “Support” branching from the broad category of “All Products.”
- the “Hardware” branch can be divided into “Storage Devices” and “CPU,” and the “CPU” branch can in turn be divided into “386,” “486,” and “Pentium.”
- FIG. 4B is an example of a hierarchy of products (i.e. the WHAT's) according to the present invention.
- the hierarchy of products and product groups shown in FIG. 4B is an example of a unique hierarchy that can be specified by a user.
- a user may group various products into a broad category of “All Products,” and create product groups such as “Hard
- the “Software” branch can be divided into “Utility,” “Application,” and “Operating System.”
- the “Support” branch is divided into “Maintenance,” “Consulting,” and “Upgrades.”
- organizational groups the particular grouping of various products is entirely arbitrary and determined by the user of the invention's pricing system.
- the prior art pricing systems do not provide users with the capability of generically specifying product groups.
- the invention identifies the product groups to which the product belongs. For example, if the user selects “Pentium” as the product, the invention identifies Pentium as a CPU. Accordingly, the various discounts that are applicable to a CPU and all Hardware products would also become automatically applicable to a Pentium. In this way, the invention simplifies the prior art's need for maintaining, separate tables for each individual products such as a Pentium.
- Pentium along with a number of other products (such as “486” and “386”), are categorized as a CPU, the need to store, update, and retrieve, separate tables for a Pentium CPU (and a 486 CPU and a 386 CPU) is alleviated.
- the invention works up the hierarchical arrangement of organizations and products and identifies all of the organizational groups and product groups that are at higher levels than those selected by the user. For example, if the user selects a 486/33 CPU, the invention identifies and invokes the categories of “486,” “CPU,” and “Hardware” (see FIG. 4B ). Accordingly, all of the applicable price adjustments associated with the categories of “486,” “CPU,” and “Hardware” are retrieved and applied to 486/33. In this manner, the prior art need to maintain separate and unique price adjustment tables for 486/33 alone is overcome. As with the categorization of purchasing organizations under multiple organizational groups discussed above, a particular product may belong to a number of product groups. This feature of the invention has significant advantages over the prior art pricing systems. The prior art pricing systems do not permit categorizing a single product under multiple product groups. Accordingly, the prior art requires storage, retrieval, and maintenance of a number of separate pricing tables for similar products.
- FIG. 5 shows an example of a “denormalized” price table utilized in the present invention.
- Column 42 contains information as to “who” is the purchaser of the product being sold. In the example shown in FIG. 5 , the purchaser may be Adam, Bob, Charlie, David, Eric, or Frank.
- Column 46 contains information as to “what” product is being purchased.
- Column 44 is designated a “how much” column and contains “denormalized” numbers.
- denormalized numbers refers to numbers that do not have, a fixed unit and may assume a different meaning and different units depending on the pricing operation that is being performed. In other words, each denormalized number has a unique significance.
- a denormalized number used in column 44 can refer, to the price of, a product in, dollars.
- Another denormalized number used in column 44 may be a fraction, such as 1.08, and have no units associated with it.
- This denormalized number i.e. 1.08) can refer to a tax rate and be used as a multiplying factor to calculate the final price of a product.
- a denormalized number such as 16 can refer to a fixed rebate. This number is used in a subtraction operation.
- this number (i.e. 16) is deducted from the price of a product as an adjustment to the price.
- the specific units of a denormalized number and how it will be applied to adjust the price of a product are determined during “run time” of the invention's system based on information associated with each denormalized number.
- the invention uses a price adjustment sequence (discussed below) to determine how and when each denormalized number will be applied to, adjust the price of a particular product.
- a basic price table such as that shown in FIG. 1 .
- a table such as the one shown in FIG. 1 would be one of many basic price tables, stored in the prior art database. The reason is that there is a huge number of possible purchasers and possible products, and in a worst case scenario each purchaser may be offered a different price on a particular product.
- the retrieved basic price table of FIG. 1 would be one which contains price information for Adam as the prospective purchaser and a 486/33 CPU as the particular product being sold.
- the basic price table shown in FIG. 1 does not take into account whether the prospective purchaser (for example, Adam) is in a category common with other purchasers. Nor does it take into account whether the particular product (for example, a 486/33 CPU) is in a category common with other products. Accordingly, a large number of different tables are needed to accommodate all possible combinations of purchasers and products. To make matters worse, the prior art pricing systems need various tables to apply various adjustments to the basic price of a particular product for a prospective purchaser. These adjustments can be, for example, applicable state and local taxes, actual shipping charges, currency conversions, and various discounts. Moreover, each category of adjustments in the prior art has its own sub-adjustment tables. For each product and for a given customer, there are usually different types of discounts.
- volume discount there can be a volume discount, a general purchase agreement discount, a discount effective for certain dates of purchase, an initial offer discount, and so forth.
- the prior art table in FIG. 2 is an example of a volume discount adjustment that may apply to the price of a 486/33 CPU offered to Adam.
- the table in FIG. 2 would result in a price reduction of 10% from the basic price of $40 obtained from the basic price table of FIG. 1 .
- the organizational category of the purchaser and the product category of the product are determined prior to determining the basic price and applicable adjustments to the basic price. For example, as shown in FIG. 5 , the invention first determines that the purchaser (Adam) is a Reseller. It is seen that Bob and Charlie are also Resellers. FIG. 5 also shows that David, Eric, and Frank are purchasers that are “Value Added Resellers” (“VAR”). Other purchasers (not shown in FIG. 5 ) would also belong to a specific category. The invention then determines that a 486/33 CPU belongs to the category of 486 CPU's, and that 486 CPU's belong to the category of CPU's, and that CPU's, belong to the category of Hardware.
- VAR Value Added Resellers
- the organization (in the example, Adam) and the product (in the example, a 486/33 CPU) are categorized as a Reseller and Hardware respectively.
- the present invention recognizes that all Resellers get a certain price adjustment, for example a general discount of 10%, when purchasing Hardware.
- the general discount of 10% applies to all categories, of Hardware purchased by Resellers.
- the invention also recognizes that a 486/33 CPU is offered to all resellers at a certain basic price, for example $40.
- the selling, price of a 486/33 CPU to Adam is then determined by applying a price reduction of 10% to the basic price of $40.
- a 486/33 CPU is offered to Adam for $36.
- the invention can also account for any combination of purchasing organizations, organizational groups, products, or product groups and arrive at a final offering price in an efficient manner. For example, all CPU's may be offered to all Resellers at a general discount of 5%. This means that the same discount would be applicable to Adam (a Reseller) when purchasing a 486/33 CPU. This 5% general discount may or may not be in addition to the general discount of 10% (discussed above) applicable to Resellers for purchasing Hardware. As another example, another general discount can apply to all Resellers purchasing 486 CPU's, and yet a specific discount can apply to all Hardware purchased by a particular Reseller such as Adam. The invention would also apply this general and specific discounts to Adam when purchasing a 486/33 CPU.
- the invention can account for and apply a combination of various discounts to a purchase of a 486/33 CPU by Adam.
- the invention applies general discounts applicable to Resellers when purchasing various sub-categories of Hardware, as well as a specific discount applicable uniquely to Adam when purchasing Hardware.
- the invention can combine any number of general or specific discounts to determine the offering price of a particular product offered to a particular purchasing organization.
- the invention can apply a number of complicated price adjustments.
- the invention can apply price adjustments to subcategories to which the organization or the product belongs.
- a price adjustment (in addition to the 5% discount discussed above) may be applicable to all 486 CPU's purchased by Resellers. Since a 486/33 CPU belongs to the subcategory of a 486 CPU, the additional price adjustment would apply to a 486/33 CPU purchased by a Reseller.
- price adjustments applicable to CPU's in general would also be applicable to a 486/33 CPU as shown in FIG. 5 .
- the same reasoning applies to subcategories in the organizational groups. For example, if a Reseller (such as Adam) has three branches in three different cities (not shown in FIG.
- the price adjustment applicable to Adam would also apply to each of its three branches.
- additional price adjustments can apply in various levels in the organizational groups. Therefore, grouping of products and organizations into various categories eliminates the need to maintain a huge number of basic price and adjustment tables to account for every possible combination of purchasing organizations and products.
- column 44 is labeled as a “how much” column.
- the numbers in this column are used to arrive at a price adjustment.
- the numbers in this column are “denormalized,” meaning that each number in this column has a unique significance.
- a number in this column could refer to a basic price, or an adjustment to the basic price such as a tax rate, a shipping charge, a currency conversion rate, or various discounts applicable to the basic price.
- Use of denormalized tables results in further advantages in the present invention as described below.
- the invention's denormalized price table overcomes a prior art disadvantage since the invention is not limited in speed or in storage space by the prior, art's requirement of retrieving several tables from the database (it is noted that, although the invention is discussed in terms of a “database,” the invention can be implemented using any data source that may be different from a conventional database).
- the entries in the denormalized column (i.e. column 44 ) of the present invention can signify numeric values of a variety of different parameters. These parameters can be the basic price of a product or various adjustments and sub-adjustments, applicable to the basic price. As stated above, these parameters would have required their own separate tables in the prior art.
- X 1 in column 44 can refer to a discount applicable to a general discount of 10% applicable to all categories of hardware purchased by Resellers.
- X 1 could denote a shipping charge of $15 applicable to shipment of all hardware to resellers.
- X 1 could designate a state tax of 8% applicable to all Hardware sold to Resellers. In each of these cases, the meaning of X 1 and the interpretation of the value assigned to X 1 is different.
- X 1 has a value of 0.10 and is used in an equation involving the basic price of a product in order to reduce the basic price by 10%.
- X 1 has a value of 0.08 and is used in an equation involving the price of a Product after certain adjustments (such as a general discount).
- the particular treatment of the value of X 1 is determined during run time.
- the numbers in the prior art tables are “abstracted” and stored as a denormalized number in the “how much” column (i.e. column 44 in FIG. 5 ), and the interpretation of the numbers are left up to the interpretation engine of the present invention.
- the prior art pricing systems utilize fixed and predetermined pricing and price adjustment tables that are “hard-coded” and cannot be changed to match a particular user's pricing preferences or the user's method of doing business.
- the invention also permits a user to define the sequence in which various price adjustments are applied. For example, the user can define a sequence in which a tax adjustment is the last adjustment, and a currency conversion is the first adjustment.
- R3 has the prior art disadvantages in requiring a number of, price adjustment tables and a number of database queries to retrieve applicable, price adjustments.
- an order entry application made by Oracle has a similar shortcoming in that it does not use denormalized price tables and as such the Oracle application requires a number of database queries to retrieve various price adjustments from a large number of, price adjustment tables.
- FIG. 5 illustrates that the invention greatly, simplifies the prior art tables in at least two ways.
- products and organizations are categorized in different product and organizational groups.
- Second, the various product and organizational groups are associated with denormalized numbers whose interpretation is determined during run time.
- Each of these two simplifications introduced by the present invention results in a great reduction in the number of tables stored in different locations of the prior art mainframe database.
- One way to view these two simplifications is that each of these two simplifications result in a reduction of the number of queries to the database.
- the prior art made a number of queries for obtaining the data in the basic price table and various adjustment and subadjustment tables in the prior art.
- the invention makes fewer queries because the invention has eliminated the need for the very large number of prior art tables.
- a reduction in the number of queries to the database also results in a speed advantage in the present invention.
- Each query to a typical pricing database takes about one to two seconds for completion.
- the reduction in the number of queries results in the speed advantage in the present invention.
- the prior art price generation systems have a predefined organizational hierarchy that is fixed and cannot be changed by a user.
- the present invention provides great flexibility for a user to specify a unique organizational hierarchy.
- the “who” column (column 42 ) in FIG. 5 shows an example of two different organizations, i.e. a Reseller and a Value Added Reseller (“VAR”). These organizations are typically part of a family or tree of organizations. Just as a 486/33 CPU belongs to the families of 486 CPU's, CPU's, and hardware respectively, a Reseller or a VAR is typically part of a family or hierarchy of organizations.
- the invention permits the user to specify, with total flexibility, a unique hierarchy (or family tree) for various organizations that are purchasers of the user's products or services.
- Another advantage of the present invention is that the invention greatly simplifies creation and maintenance of the invention's pricing data.
- creation of pricing data for a new product requires addition of new price tables such as that shown in FIG. 1 .
- the prior art requires a number of adjustment tables such as the volume discount table shown in FIG. 2 .
- the addition of a new product requires a large amount of data to be added to the prior art pricing systems.
- the present invention permits a user to add price adjustments to an entire category of products, thus overcoming the prior art need to add a number of price adjustment tables for each product. For example, a modification in the price adjustments applicable to the Hardware product group in FIG.
- 4B is sufficient to modify price adjustments applied to all 486 CPU's. Accordingly, the need to create price adjustment tables separately applicable to 486 CPU's is overcome. Specifically, the need to create price adjustment tables separately applicable to 486/33 CPU, 486/50 CPU, and 486/66 CPU is overcome. Thus, according to the present invention, the common price adjustments in a product group that is above a new, product eliminate the prior art need for the large number of separate price adjustment tables needed for accommodating the addition of a new product.
- the need to create price adjustment tables separately applicable to Adam, Bob, and Charlie is overcome.
- the common price adjustments in an organizational group that is above a new purchaser eliminate the prior art need for, the large number of separate price adjustment tables needed for accommodating the addition of a new purchaser.
- FIG. 6 An example of an organizational and a product group is shown in FIG. 6 .
- Window 610 shows an example of organizational groups as shown on a computer screen according to the present invention.
- a user can arbitrarily select the different grouping of the organizations. For example, in FIG. 6 , the user has selected to divide the “World” into two broad categories of “United States” and “Europe.” The category “United States” is in turn divided into “Discount Hierarchy” and “Tax Hierarchy.” The “Discount Hierarchy” is itself divided into “US Resellers” which comprises “Dealers” and “VARs.” The “Tax Hierarchy” is divided into “California” and “Texas.” The broad category of “Europe” is itself divided into “France,” “England,” and “Germany.” As stated above, each of the organizational groups are determined solely by the user.
- the user To add a particular organizational group, the user first highlights the target group. For example, the user may highlight “England” as the target group. Then the user selects the folder icon 616 , indicating that a new group is to be added. The user then determines whether the organizational group is to be added as a subcategory of “England” or in the same category as “England.” In the first case, the user selects “Child” 612 . This causes a branch to be created under the category of “England.” For example, the user can create branches such as “Southern England,” “Central England,” and “Northern England.” In the second case, the user selects “Sibling” 614 .
- Window 620 shows an example of the grouping of “All Products” according to a particular user's way of doing business. As shown in window 620 of FIG. 6 , “All Products” are divided into broad categories of “Hardware,” “Software,” “Support,” “Special Product Classes,” “Charged by Weight,” “Vendors,” and “Externally Manufactured.” Each of these broad categories is in turn divided into subcategories as shown in window 620 . As stated above, each of the product groups are determined solely by the user. To add a particular product group, the user first highlights the target group.
- the user may highlight “Vendors” as the target group. Then the user adds a desired product group as desired in the manner described above with respect to the organizational groups. Any product group may be deleted simply by “dragging” and dropping the group in the trash can icon 618 .
- FIG. 7 illustrates how the numbers in the “How Much” column 44 of FIG. 5 are determined.
- Window 710 in FIG. 7 shows the various “pricing types,” and window 720 shows a sample “pricing sequence.”
- Examples of pricing types specified by a user are shown in column 712 .
- Some of the pricing types shown in column 712 are Base Cost, Currency Conversion Factor, Customer Discount, Customer Negotiated Discount, Customer Negotiated Price, Discount off List Price, General Uplift, List Price, Rebate, Shipping Charges, Tax, and Volume Discount.
- a user may simply click on “New Pricing Type” icon 714 to specify any desired pricing type. For example, the user may specify a pricing type called, the “President's Discount” applicable to certain designated customers.
- Operation column 716 specifies the type of mathematical operation that is performed for each pricing type. For example, Operation column 716 specifies that a Base Cost is an override operation. In other words, a Base Cost overrides all prior pricing calculations. Thus, if various price adjustments yield a price that is lower than the Base Cost, the Base Cost operation would replace that price with a price equal to the basic cost of the product. Operation column 716 specifies that a List Price is also an override operation. However, a Currency Conversion Factor is specified to be a Factor Change operation according to Operation column 716 . For example, a factor of 1.33 may be multiplied by the price of a product in U.S.
- the Currency Conversion Percentage pricing type in column 712 is specified to be a Percentage operation in column 716 .
- the percentage can be 133%. In other words, the price of a product in U.S. currency is multiplied by 133% to yield the price of the product in a particular foreign currency.
- a Customer Negotiated Discount pricing type (shown in column 712 ) is a Percentage operation as specified in column 716 .
- the percentage can, be 75%.
- the price of a product is multiplied by 75% to yield the price of the product after the Customer Negotiated Discount.
- a Tax pricing type (shown in column 712 ) is also, a Percentage, operation as shown in column 716 .
- the prior art does not allow user to specify or modify any pricing types.
- the invention's feature in permitting a user to specify various pricing types allows the user, to flexibly set a pricing scheme applicable to various products and purchasing organizations.
- the prior art systems have a fixed number, and fixed types, of pricing types.
- the user had to modify his or her pricing, system and, business methods in order to accommodate the prior art pricing systems.
- the invention adjusts, in a completely, flexible manner, to the user's specific pricing methodology. Not only does the invention permit, a user to uniquely specify his or her own various pricing types, but the invention also allows a user, to specify the sequence in which the various pricing types are applied in arriving at the final price of the product. This is described in more detail below.
- the invention permits the user to also specify the sequence in which the different Pricing Types are applied in order to arrive at the final offering price of a particular product.
- Column 718 shows a sample sequence used to apply the various Pricing Types.
- the Maximum Discount is the first applicable operation. For example, the Maximum Discount can be 50%.
- the Maximum Discount is followed by the Base Cost. Since Base Cost is an override operation, the Maximum Discount is automatically overridden by the Base Cost. Thus, if the Base Cost is $80.00, the number 80.00 overrides the number 0.5 (i.e. 50%). Nevertheless, the number corresponding to the Maximum Discount (i.e.
- the Maximum Discount may be used to override a total discount that exceeds the Maximum Discount.
- the Maximum Discount may be used as a flag to prevent sale of a product at a discount that exceeds the Maximum Discount.
- the numerical value assigned to the Maximum Discount pricing type (in this example, 0.5) can be thought of as a denormalized number discussed in relation with FIG. 5 . In other words, the significance of this number (in this example, 0.5) is determined during run time.
- the numerical value assigned to a Maximum Discount pricing type is not used in an addition, subtraction, or multiplication operation. However, the numerical value of the Maximum Discount is used in a comparison operation to ensure that the net result of all discounts applied to a particular product does not exceed a certain limit (i.e. the limit set by the Maximum Discount pricing type).
- a Tax operation is applied after many operations are applied to arrive at the final offering price.
- a Tax Pricing Type is a percentage. Operation. As shown in column 718 , a percentage increase due to a Tax operation will be applied near the end of the pricing sequence. In other words, taxes are applied after almost all other operations.
- the only two operations that are applied after the Tax operation are the Shipping Charges and the Freight Charges by Weight operation. The reason is that shipping charges and freight charges are not taxed. Thus, the final offering price of the product is determined by applying tax charges just prior to applying shipping and freight charges.
- FIG. 8 shows an alternative sequence (shown in column 818 ) in which the various Pricing Types in column 712 may get applied.
- sequence is a simpler sequence and involves the List Price, Currency. Conversion Percentage, Currency Conversion Factor, Customer Negotiated Discount, and Customer Negotiated Price.
- the List Price override operation is the first step in designating an offering price for the product. Then currency conversion operations are performed, and finally negotiated discount and negotiated price operations are performed.
- the invention permits a user to arrange a customized sequence to apply to the Pricing Types (also specified by the user) in order to arrive at the final offering price.
- a sequence can include only the Base Cost, List Price, and Tax.
- the price of the product is determined first by the Base Cost override operation, then by the List Price override operation, and then by applying taxes.
- the List Price override operation overrides all prior price determinations for a given product, the Base Cost is still useful for informational purposes.
- the Base Cost still remains as an operation which begins the sequence based on the basic cost of a given product.
- any other pricing sequence can be designated by the user and applied to the user selected Pricing Types.
- the invention provides a further feature in determining the final price of a product by providing a “Target” operation shown in column 722 of FIG. 7 .
- a product's initial sales price is equal to its base cost of $100
- two 10% discounts must be applied to arrive at the final offering price.
- the invention permits the target price to remain the initial sales price, i.e. the base cost of $100 in the example.
- the target price is the Base Cost
- both of the 10% discounts are applied to the base cost of $100.
- the provision of the Target operation permits the user to have further flexibility in determining the final offering price of a product. For example, even if the final offering price of a product reflects a deep discount to a′ certain purchasing organization, the user (here, the selling organization) can specify that maintenance fees should be calculated off of the list price or the base cost, instead of the deeply discounted offering price.
- the user can also specify the target price to be the minimum or maximum value of another pricing type. In the above example, the maintenance fees can be calculated based on the minimum or maximum value of a particular pricing type, such as the “Cost of Customer Specific Pricing.”
- FIG. 9 is an, example of a computer screen according to the invention which corresponds to the table of FIG. 5 .
- the user selects a specific customer (for example, Trilogy Development Group) in box 912 .
- a Pricing Type such as a List Price as shown in box 914 .
- the invention automatically displays the operation associated with the Pricing Type in box 916 .
- the operation associated with a List Price
- the user selects product A as the specific product offered for sale to the customer (here Trilogy Development Group).
- the user specifies that the List Price for Product A offered to Trilogy Development Group is $100.
- the user indicates that the effective date for this List Price is Mar. 15, 1996.
- the user indicates that the termination date for the List Price is Dec. 31, 1999.
- the user specifies the required quantity of Product A offered to Trilogy Development Group at the List Price of $100. In the present example, the user has set the quantity to be between 100 and 1000 units (boxes 928 and 930 ). In other words, the List Price for quantities below 100 and above 1000 units would be different than $100.
- the invention permits the user to, specify the organizational groups to which the specified customer (here the Trilogy Development Group) belongs.
- the invention also permits the user to specify the product groups to which the specified product (here Product A) belongs.
- FIG. 10 shows the “Product Details” corresponding to Product A (folder tab 1018 indicates that this is a Product Details screen).
- Box 1014 shows that the product specified by the user is Product A.
- the user specifies that the product group to which Product A belongs is Storage Devices group. This is accomplished by selecting Storage Devices group 1025 from the Product Groups window 1030 , and then “dragging” the Storage Devices product group and “dropping” it in box 1024 .
- Box 1024 is used to display the product group which the user has identified as the group containing a particular product. In this example, Product A is shown to belong to the Storage Devices product group.
- FIG. 11 is an example of how a user can specify the organizational group for a specified customer.
- Folder tab 1108 (“Customer Detail”) indicates that this computer screen permits the user to specify customer details.
- Box 1102 shows the specified customer to be Trilogy Development Group.
- the user specifies the organizational group to which the customer belongs. This is accomplished by “dragging” the desired organizational group from the organizational groups window 1110 and “dropping” the group in box 1104 .
- the user has specified that “Dealers” is the organizational group to which the specified customer belongs.
- boxes 1102 and 1104 show that Trilogy Development Group is a Dealer.
- FIG. 12 shows some of the price adjustment parameters specified for the “Dealers” organizational group and the “Storage Devices” product group.
- Folder tab 1208 (“Adjustment Detail”) indicates that the computer screen shown in FIG. 12 permits, a user to specify various price adjustments.
- the price adjustment parameters relate an entire category of products, (shown in the “What” column of FIG. 5 ) to an entire category of organizational groups (shown in the “Who” column of FIG. 5 ).
- FIG. 5 also showed, the various price adjustments in the “How Much” column.
- the organizational category of Dealers is the “Who” in FIG. 5
- the product category of Storage Devices is, the “What” in FIG. 5 .
- the organizational group category of Dealers is shown in box 1202 and the product category of Storage. Devices is shown in box 1212 .
- the price adjustment i.e. the “How Much” in FIG. 5
- the Program Discount is a Pricing Type and is shown in box 1204 .
- the Program Discount is a percentage decrease Pricing Type.
- the effective date and the termination date for the Program Discount are specified as Mar. 15, 1996 and Dec. 31, 1999, respectively.
- boxes 1214 , 1216 , and 1218 show that the dollar amount for the Program. Discount, must be in the range of $1,000 to $100,000.
- the amount of the percentage decrease is shown in box 1210 as 0.1.
- any product belonging to the Storage Device group is sold to a customer belonging to the Dealers group at a 10% discount, on the condition that the product is purchased between Mar. 15, 1996 and Dec. 31, 1999, and that the customer buys between $1,000 and $100,000 worth of the product.
- the List Price for Product/sold to Trilogy Development Group was specified to be $100
- the Program Discount of 10% automatically applies to the purchase of Product A by Trilogy Development Group.
- the reason is that the invention recognizes that Trilogy is a dealer and that all dealers get a 10% discount when purchasing a storage device and that Product A is a storage device.
- the 10% discount applies if the purchase is made between Mar. 15, 1996 and Dec. 31, 1999, and if the amount purchased is between $100 and $100,000 worth of Product A.
- the feature of the present invention that relates an entire category of products with an entire category of organizational groups presents a significant advantage over the prior art due to simplification of the prior art's price tables and price adjustment tables.
- the invention permits the user to select a tax rate for purchasing organizations located in various geographic locations.
- the invention permits a user to generate a desired geographic group in window 1302 .
- the user has specified one geographic group to be “California.”
- the user places the geographic designation “California” in box 1304 by “dragging” the group “California” and “dropping” it in box 1304 .
- the Pricing Type that the user would select for specifying a tax rate is “Tax.” Accordingly, the user would select “Tax” as the Pricing Type as shown in box 1306 .
- the Operation corresponding to a “Tax” Pricing Type is a “Percentage Increase” as shown in box 1308 .
- the user specifies the “Amount” of the percentage increase to be “0.0825” (This is interpreted as an 8.25% tax rate by the present invention).
- the user selects the product group to which this tax rate would apply. This is accomplished by “dragging” and “dropping” the product group “All Products” from window 1310 into box 1312 . It is noted that an equal tax rate is usually applicable to all products. Thus, the appropriate product group to select is usually the “All Products” group.
- the tax rate is typically independent of the quantity or dollar volume of a purchase. The user specifies this by checking boxes 1314 and 1316 indicating that no conditional ranges apply. In other words, there are no applicable lower and upper quantity (or dollar volume
- FIG. 14 illustrates how the invention permits a user to effectively make exceptions to the general rule that the tax rate applies equally to every group in the “All Products” category.
- a user may desire that services, such as consulting and support services, not be taxed.
- Consulting and support services may be categorized under the “Support” group shown in window 1410 of FIG. 14 .
- the user “drags” and “drops” the Support group into box 1412 .
- the user specifies that the applicable tax rate for the “Support” group is 0%. This is shown as 0.00 in box 1408 .
- the remaining information shown in FIG. 14 is the same as that shown in FIG. 13 .
- Every product group with the exception of the “Support” group in window 1410 is taxed at 8.25%.
- the “Support” group tax rate overrides the tax rate designated at a higher level in the hierarchy.
- every group (with the exception of the “Support” group) is taxed at the rate designated for the root group “All Products,” the “Support” group is taxed at a different rate.
- FIGS. 15A through 15C illustrate the execution flow of the present invention.
- the execution flow of the invention begins in step 1502 .
- the user specifies a pricing sequence to operate on the various Pricing Types.
- the user may specify a pricing sequence such, as that shown in FIG. 8 .
- a Tax Pricing Type is also typically applied.
- a Tax Pricing Type is typically near the end of a pricing sequence.
- the user specifies effective dates during which various price adjustments are applicable.
- step 1506 the user specifies products, price adjustments or other user selected parameters.
- step 1508 the user specifies the specific purchasing organization for the specific product.
- step 1510 the present invention identifies all organizational groups that are higher than the user specified purchasing organization in the organizational hierarchy.
- step 1512 the present invention performs a database query for retrieving all product records related to user specified products.
- the database query is directed to user specified products, the user specified purchasing organization, the identified organizational groups, and the effective dates specified by the user.
- step 1514 the invention identifies all product groups that are higher than user specified products in the product group hierarchy.
- step 1516 the invention, performs a database query for retrieving all pricing adjustments applicable to user specified products and the user specified organization.
- the query is also directed to retrieving all pricing adjustments applicable to identified products and organizational groups, and to the user specified effective dates.
- Each pricing adjustment consists of the application of those Pricing Types that apply to user specified products (and in the user specified pricing sequence).
- step 1518 the invention sorts the retrieved list of applicable pricing adjustments according to their respective specificities.
- the list of the pricing adjustments is sorted according to the sequence of the Pricing Types associated with each pricing adjustment.
- the list of the pricing adjustments is sorted according to the product hierarchy. Pricing adjustments specified at a lower level of the product hierarchy are assumed to be more specific and are thus placed after the pricing adjustments specified at a higher level of the product hierarchy.
- the list of pricing adjustments is sorted according to the organizational hierarchy. Pricing adjustments specified at a lower level of the organizational hierarchy are assumed to be more specific and are thus placed after the pricing adjustments specified at a higher level of the organizational hierarchy.
- pricing adjustments with quantity range checks are placed after pricing adjustments with amount and volume range checks.
- pricing adjustments with a higher low range criteria are placed after those with a lower low range criteria and pricing adjustments with a higher high range criteria are placed after those with a lower high range criteria.
- step 1520 the less restrictive pricing adjustments with the same Pricing Types are eliminated.
- step 1522 the price of the user specified product is set to zero so that the price can be determined by application of the sorted pricing adjustments.
- step 1524 the various Pricing Types included in the sorted pricing adjustments are applied in the user specified pricing sequence. Thus, the price of the user specified product is increased, decreased, and/or overridden until the final price is determined.
- step 1526 the invention's execution flow ends.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Technology Law (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
In one embodiment, various pricing tables and price adjustment tables and various products and purchasing organizations are organized based on “who” (i.e. which purchasing organization) is purchasing “what” (i.e. which product). In one embodiment, various purchasing organizations and products are organized into respective organizational groups and product groups. Various price adjustments may be specified for each level of the organizational groups and product groups hierarchies. In one embodiment, the price adjustments for a particular purchasing organization are determined by retrieving the price adjustments for that particular purchasing organization and the price adjustments for organizational groups above the particular purchasing organization in the organizational groups hierarchy. Likewise, the price adjustments for a particular product are determined by retrieving the price adjustments for that particular product as well as the price adjustments for product groups above the particular product in the product groups hierarchy.
Description
- 1. Field of the Invention
- This invention relates to the field of computer-based pricing of products.
- 2. Background Art
- Many business enterprises use field sales representatives to initiate, negotiate, and consummate sales transactions with customers. These sales representatives compete with sales representatives from other business enterprises. Sales representatives would prefer to conclude the sales transaction as completely as possible, while meeting with the customer. However, it is often not possible to provide timely pricing information to potential customers at the time of the transaction.
- As is explained below, there are large amounts of data that must be stored and used to provide accurate pricing for sales transactions. As a result, many companies maintain pricing information in a large central database. Sales representatives must access the database at the home office remotely through network access or by communicating with another person at the home office. The sales representative provides product information as input and receives pricing data as output. The sales representative then communicates this pricing information to the potential customer, often days after the sales meeting occurred. A delay in providing such critical data as pricing to a potential client can be fatal to the transaction, reducing sales.
- The large amounts of data required to provide accurate pricing is understood by describing the factors that go into pricing. For many enterprises pricing is typically performed on a customer by customer basis. That is, for a particular product, each customer gets a price that is different from the price offered to other customers (in the present application the term “product” is used generically to refer to tangible products as well as intangible products, such as services). The difference in price for a particular product is a function of numerous factors. The type of product (e.g., hardware, software, or a particular service), the size of the customer, the type of customer organization (e.g., a wholesaler, distributor, or value added reseller), and the customer's geographic location are only a few of many factors that are used to determine a price recommendation for a sales representative.
- Assuming that each product is sold at a unique price to a particular purchasing organization (the term “purchasing organization” refers to a single person as well as to purchasing entities such as companies and the like), conventional price determination methods tabulate the price for each product sold to a certain purchasing organization into a price table. For example, if the selling organization has ten thousand different products and there are ten thousand different purchasers, the price table would have one hundred million (i.e., ten thousand multiplied by ten thousand) entries.
- Each product may have several attributes that contribute to pricing differential. The weight or size of a product could increase its base shipping cost. The product may be priced differently when it is sold separately instead of as part of a system. If there are ten possible attributes for the same product, the price table described above would have one billion entries. Further, for each product there are usually various adjustments to the basic price. For example, there are usually applicable state and local taxes, actual shipping charges, currency conversions, and a number of possible discounts. If there are ten different types of price adjustments for the same product for a given customer, the size of the table would grow to ten billion entries.
- Each category of possible price adjustments has its own sub-adjustments. For example, the adjustment category of discounts includes different types of discounts (i.e. sub-adjustments). The different types of discounts can be a volume discount, a general purchase agreement discount, a time-limited discount effective for purchases within a certain date range, an initial offer discount, and so forth. If there are ten different types of discounts for each product or customer, the size of the price table would grow to one hundred billion entries.
- In the prior art, a large mainframe computer database contains the price table (“mainframe computer” refers to any computer with a large database). The customer order is entered in a central billing and financing system within the mainframe computer. The mainframe computer then performs the pricing calculation according to the price tables stored in the database.
- The following discussion provides a specific example of various tables used in the conventional pricing system discussed above.
FIG. 1 shows an example of a basic price table. Each row in the table designates a potential customer that the product would be sold to, and each column designates the product will be sold, and the table entry corresponding to the basic unadjusted price for the product. In the example ofFIG. 1 , a 486/33 CPU is sold to Adam at a price of $40, a 486/50 CPU is sold to Adam at a price of $60 and a 486/66 CPU is sold to Adam at a price of $80. A 486/33 CPU is sold to Bob at a price of $42, a 486/50 CPU is sold to Bob at $58, and a 486/66 CPU is sold to Bob at $72. Thus, as the basic price table ofFIG. 1 indicates, each particular product is sold to each customer at a price that is different from the price that the same product is sold to another customer. - According to the prior art, in addition to the basic price table of
FIG. 1 , various other tables must be stored and maintained in the mainframe database. For example,FIG. 2 shows a volume discount table that corresponds to the basic price table ofFIG. 1 . Thus, the price $40 would be reduced by a discount of 10% if Adam purchases 486/33 CPU's in volume. Thus, Adam can purchase each 486/33 CPU at a volume-discounted price of $40*(1−(10/100)), i.e. at $36, as compared with the original price $40. Similarly, a volume discount of 12% corresponds to the original price $60, and a volume discount of 14% corresponds to the original price of $80, and so forth. - A pricing application called R3 made by SAP has the prior art disadvantages explained above. For example, R3 requires a number of price adjustment tables and a number of database queries to retrieve applicable price adjustments. Likewise, an order entry application made by Oracle has a similar shortcoming in that a number of database queries are required to retrieve various price adjustments from a large number of price adjustment tables.
- The prior art has attempted to provide more responsive pricing systems by providing sales representatives with price tables on portable computers that can be looked up during a sales transaction. However, current portable computers do not have the storage capacity for all of the price tables that are stored on the central database. As a result, the pricing generated by the portable computers may not be reliable, potentially costing the selling company money when the prices are two low, and potentially causing lost sales opportunities when the prices generated are too high.
- The present invention is a method and apparatus for determining prices for various products offered to various purchasing organizations (in the present application the term “purchasing organization” refers to a single person as well as to purchasing entities such as companies and the like). As stated above, in the present application the term “product” is used generically to refer to tangible products well as intangible products, such as services. The invention overcomes the prior art's difficulty in storing, maintaining, and retrieving the large amounts of data required to apply pricing adjustments to determine prices for various products. Because of the invention's method and apparatus, prices for a large number of products can be determined by a laptop computer and the prior art's need to utilize a mainframe computer is alleviated.
- The invention operates under the paradigm of WHO (the purchasing organization) is buying WHAT (the product). In the invention the WHO is defined by creating an organizational hierarchy of organizational groups, where each group represents a characteristic of the organizational group. One or more customers (i.e. purchasing organizations) may be members of each organizational group and each customer may be a member of more than one organizational group.
- When a customer is selected in the present invention, all of the groups to which that customer belongs, and all pricing adjustments for which each group is eligible, are identified. For example, when the “customer type” group to which a particular customer belongs is identified, all of the pricing adjustments applicable to that customer type are applied to that particular customer. This allows pricing rules to be based on characteristics of each organizational group instead of basing the rules on a per-customer basis.
- Similarly, a product group hierarchy is defined that can be applied to products. For example, a “hardware” product group may be defined that may include as members a number of products. Special pricing adjustments may be defined as applying to all hardware products. When a product is selected using the invention, all product groups to which the product belongs, and all applicable pricing adjustments, are identified.
- The price adjustments for a particular purchasing organization are determined by retrieving the price adjustments for that particular purchasing organization as well as the price adjustments for other organizational groups that are above the particular purchasing organization in the organizational groups hierarchy. Likewise, the price adjustments for a particular product are determined by retrieving the price adjustments for that particular product as well as the price adjustments for other product groups that are above the particular product in the product groups hierarchy. The invention sorts the various pricing adjustments applicable to a particular product offered to a particular purchasing organization based on several criteria. After the sorting is accomplished the pricing adjustments are applied in sequence to arrive at a final price at which a particular product can be sold to a particular purchasing organization.
- The combination of organizational groups and product groups hierarchies and the denormalized pricing table relating a particular organization (or an entire organizational group) to a particular product (or an entire product group) result in some of the advantages of the present invention over the prior art pricing systems. These advantages enable the method and apparatus of the present invention to overcome the prior art's need to store, maintain, and retrieve huge amounts of data required to determine prices for various products offered to various purchasing organizations while applying a large number of price adjustments. The invention also overcomes the disadvantages of having to “hard-code” the “business logic” into the pricing system. In other words, the invention provides for flexibility in formulating a desired pricing system while reducing the prior art need to store, maintain, and retrieve huge amounts of data.
-
FIG. 1 illustrates a basic price table according to the prior art. -
FIG. 2 shows a prior art volume discount table corresponding to the basic price table ofFIG. 1 . -
FIG. 3 shows an example of a computer system used to generate price recommendations according to the present invention. -
FIG. 4A shows an example of an arrangement of an organizational group according to the present invention. -
FIG. 4B shows an example of an arrangement of an product group according to the present invention. -
FIG. 5 is an example of the invention's denormalized table for relating various purchasing organizations (or various organizational groups) to various products (or various product groups). -
FIG. 6 shows a computer screen according to the present invention illustrating user arranged organizational and product groups. -
FIG. 7 is an example of a computer screen according to the present inventions showing the various user specified pricing types and user specified pricing sequence. -
FIG. 8 is another example of user specified pricing types and user specified pricing sequence. -
FIG. 9 is an example of a computer screen according to the present invention showing pricing adjustment details for a specific purchasing organization and a specific product. -
FIG. 10 is an example of a computer screen according to the present invention showing product details for a specific purchasing organization and a specific product. -
FIG. 11 is an example of a computer screen according to the present invention showing customer details for a specific purchasing organization and a specific product. -
FIG. 12 is an example of a computer screen according to the present invention showing pricing adjustment details for an organizational group and a product group. -
FIG. 13 is an example of a computer screen according to the present invention showing pricing adjustment details for a geographical organizational group and a product group, using a Tax pricing type. -
FIG. 14 is another example of a computer screen according to the present invention showing pricing adjustment details for a geographical organizational group and a product group, using a Tax pricing type. -
FIGS. 15A through 15C illustrate the execution flow according to the present invention. - A method and apparatus for pricing products in multi-level product and organizational groups is described. In the following description, numerous specific details are set forth in order to provide a more thorough description of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail so as not to obscure the invention.
- The present invention may be implemented on any conventional or general purpose computer system. An example of one embodiment of a computer system for implementing this invention is illustrated in
FIG. 3 . Akeyboard 10 andmouse 11 are, coupled to abi-directional system 19. The keyboard and mouse are for introducing user input to the computer system and communicating that, user input toCPU 13. The computer system ofFIG. 3 also includes avideo memory 14,main memory 15 andmass storage 12, all coupled tobi-directional system bus 19 along withkeyboard 10,mouse 11 andCPU 13. Themass storage 12 may include both fixed and removable media, such as magnetic, optical or magneto-optical storage systems or any other available mass storage, technology. The mass storage may be shared on a network, or it may be a dedicated mass storage.Bus 19 may contain, for example, 32 address lines for addressingvideo memory 14 ormain memory 15. Thesystem bus 19 also includes, for example, a 32-bit data bus for transferring data between and among the components, such asCPU 13,main memory 15, video memory, 14 andmass storage 12. Alternatively, multiplexed data/address lines may be used instead of separate data and address lines. - In one embodiment of the invention, the
CPU 13 is a 32-bit microprocessor manufactured by Motorola, such as the 68030 or 68040. However, any other suitable microprocessor or microcomputer may be utilized. The Motorola microprocessor and its instruction set, bus structure and control lines are described in MC68030 User's Manual, and MC68040 User's Manual, published by Motorola Inc. of Phoenix, Ariz.Main memory 15 is typically comprised of random access memory (RAM) and in the preferred embodiment of this invention, comprises 8 megabytes of memory. More or less memory may be used without departing from the scope of this invention.Video memory 14 is a dual-ported video random access memory (RAM), and in this invention consists, for example, of 256 kbytes of memory. However, more or less video memory may be provided as well. One port of thevideo memory 14 is coupled to video multiplexer andshifter 16, which in turn is coupled tovideo amplifier 17. Thevideo amplifier 17 is used to drive the cathode ray tube (CRT)raster monitor 18. Videomultiplexing shifter circuitry 16 andvideo amplifier 17 are well known in the art and may be implemented by any suitable means. This circuitry converts pixel data stored invideo memory 14 to a raster signal suitable for use bymonitor 18.Monitor 18 is a type of monitor suitable for displaying graphic images. - The computer system described above is for purposes of example only. The present invention may be implemented in any type of computer system or programming or processing environment. For example, in one embodiment, the invention's pricing, system is implemented on a server in a computer network. In that case, no keyboard, mouse, or display is required to implement the present invention. In this embodiment, the invention is typically implemented with the aid of a laptop, or otherwise remote terminal or computer which communicates with the server via a wired or wireless connection. For example, the communication between the laptop computer and the server can be accomplished through a cellular modem.
- As stated above, the invention overcomes the prior art's disadvantages in storing, maintaining, and, retrieving large amounts of data. The invention operates under a simple paradigm of WHO (the purchasing organization) is buying WHAT (the product). In the invention the WHO is defined by creating an organizational hierarchy of purchasing organizations. A “purchasing organization” (also referred to as a customer) may be a single person. For example, Adam in
FIG. 1 is a purchasing organization. A purchasing organization may also be a larger entity, such as a company. One or more customers (i.e. purchasing, organizations) may be members of each organizational group and each customer may be a member of more than one organizational group. Similarly, one or more products may be members of each product group and each product may be a member of more than one product group. -
FIG. 4A is an, example of a hierarchy of purchasing organizations (i.e. the WHO's) according to the present invention. The hierarchy of purchasing organizations and organizational groups shown inFIG. 4A is an example of a unique hierarchy that can be specified by a user. As shown inFIG. 4A , a user may group various purchasing organizations into a broad category of “World,” and create organizational groups such as “Geography,” “Customer Size,” and “Customer Type” branching off of the root category “World.” The Geography branch can be divided into “U.S.” and “Europe,” and the U.S. branch can in turn be divided into different “States” such as “CA,” “TX,” and “FL.” As shown inFIG. 4A , the Customer Size branch can be divided into “Small,” “Medium,” and “Large.” The Customer Type branch is divided into “Reseller,” “VAR,” and “End-User.” As stated above, this particular grouping of various purchasing organizations is wholly arbitrary and determined by the user of the invention's pricing system. For example, the branch “Europe” can be replaced by “Germany,” or alternatively, the entire “Geography” branch can be deleted. In contrast, the prior art pricing systems do not provide users with the capability of generically specifying organizational groups. - According to the present invention, once the user selects a purchasing organization, the invention identifies the organizational groups to which the purchasing organization belongs. For example, if the user selects Adam or Bob as the purchasing organization, the invention identifies Adam or Bob as a Reseller. Accordingly, the various discounts that are applicable to a Reseller would also become automatically applicable to Adam or Bob. In this way, the invention simplifies the prior art's need for maintaining separate tables for each individual purchasing organization such as Adam or Bob. In other words, since Adam along with a number of others, such as Bob, are categorized as Resellers, the need to store, update, and retrieve separate tables for Adam or Bob is alleviated.
- According to the present invention a purchasing organization may belong to a number of organizational groups. For example, as shown in
FIG. 4A , Bob belongs to Resellers as, well as to purchasing organizations located in Texas. Charlie, is a Reseller as well as a purchasing organization located in California. Adam belongs to Resellers as well as to purchasing organizations in Germany. As illustrated below, this feature of the invention has significant advantages over the prior art pricing systems. The prior art pricing systems are “hard-coded” and do not permit categorizing a purchasing organization under multiple organizational groups. Accordingly, the prior art requires storage, retrieval, and maintenance of a number of separate pricing tables for organizations that are similar, but may belong to categories which make them not identical. For, example, although Bob and Charlie are both Resellers, the prior art systems have to store separate price tables and price adjustment tables for Bob and Charlie since one is a Reseller in Texas and the other is a Reseller in California. - By way of example, according to the present invention, if Bob is a Reseller located in the state of Texas, selecting Bob as the purchaser would automatically invoke the applicable state tax for Texas. Likewise, if Charlie was a Reseller located in California, selecting Charlie would automatically invoke the applicable state tax for California. Thus, the invention overcomes the need to maintain separate tables for a Reseller who is located in Texas as opposed to one who is located in California.
- Yet as another example, since Adam is a Reseller in Germany, when the user selects Adam, the invention automatically identifies Germany as the Geographic location of Adam. Subsequently, the invention recalls price adjustments for all Resellers, price adjustments for any purchasing organization located in Germany, and price adjustments specifically applicable to Resellers located in Germany. In the final determination of adjustments, the invention recognizes that the last price adjustment category (namely, the price adjustment category applicable specifically to Resellers in Germany) is more specific than the other two categories (namely, the category of purchasing organizations in Germany and the category of all Resellers). The invention then recalls the most restrictive category of adjustments (i.e. the adjustments applicable specifically to Resellers in Germany) to Adam.
- The invention may determine that one category of price adjustments applicable to Resellers in Germany are currency exchange rate adjustments. Accordingly, the invention recalls a currency conversion table for converting U.S. currency to German currency. In this example, the prior art pricing systems had to store, update and retrieve a separate price adjustment for each purchaser based on the currency exchange rate for that purchaser's particular geographic location. The prior art system requires that a separate price table be updated for Adam alone every time the exchange rate for U.S. versus German currencies changes. Manifestly, this imposes tremendous demand on the computer system and the storage space required by the prior art pricing systems. Since the invention identifies Adam as a Reseller in Germany, the currency conversion requires a single table to keep track of the changes in the currency exchange rate between Germany and the U.S. As stated above, this table is automatically recalled when the user selects Adam as the purchaser.
-
FIG. 4B is an example of a hierarchy of products (i.e. the WHAT's) according to the present invention. The hierarchy of products and product groups shown inFIG. 4B is an example of a unique hierarchy that can be specified by a user. As shown inFIG. 4B , a user may group various products into a broad category of “All Products,” and create product groups such as “Hardware,” “Software,” and “Support” branching from the broad category of “All Products.” The “Hardware” branch can be divided into “Storage Devices” and “CPU,” and the “CPU” branch can in turn be divided into “386,” “486,” and “Pentium.” As shown inFIG. 4B , the “Software” branch can be divided into “Utility,” “Application,” and “Operating System.” The “Support” branch is divided into “Maintenance,” “Consulting,” and “Upgrades.” As with organizational groups, the particular grouping of various products is entirely arbitrary and determined by the user of the invention's pricing system. By contrast, the prior art pricing systems do not provide users with the capability of generically specifying product groups. - According to the present invention, once the user selects a product, the invention identifies the product groups to which the product belongs. For example, if the user selects “Pentium” as the product, the invention identifies Pentium as a CPU. Accordingly, the various discounts that are applicable to a CPU and all Hardware products would also become automatically applicable to a Pentium. In this way, the invention simplifies the prior art's need for maintaining, separate tables for each individual products such as a Pentium. In other words, since a Pentium, along with a number of other products (such as “486” and “386”), are categorized as a CPU, the need to store, update, and retrieve, separate tables for a Pentium CPU (and a 486 CPU and a 386 CPU) is alleviated.
- In general, the invention works up the hierarchical arrangement of organizations and products and identifies all of the organizational groups and product groups that are at higher levels than those selected by the user. For example, if the user selects a 486/33 CPU, the invention identifies and invokes the categories of “486,” “CPU,” and “Hardware” (see
FIG. 4B ). Accordingly, all of the applicable price adjustments associated with the categories of “486,” “CPU,” and “Hardware” are retrieved and applied to 486/33. In this manner, the prior art need to maintain separate and unique price adjustment tables for 486/33 alone is overcome. As with the categorization of purchasing organizations under multiple organizational groups discussed above, a particular product may belong to a number of product groups. This feature of the invention has significant advantages over the prior art pricing systems. The prior art pricing systems do not permit categorizing a single product under multiple product groups. Accordingly, the prior art requires storage, retrieval, and maintenance of a number of separate pricing tables for similar products. - The present invention results in an efficient storage, management and retrieval of pricing data and generation of price recommendations. One aspect of the invention is now explained by referring to
FIG. 5 and comparing the invention with, the prior art systems for generation of price recommendations.FIG. 5 shows an example of a “denormalized” price table utilized in the present invention.Column 42 contains information as to “who” is the purchaser of the product being sold. In the example shown inFIG. 5 , the purchaser may be Adam, Bob, Charlie, David, Eric, or Frank.Column 46 contains information as to “what” product is being purchased.Column 44 is designated a “how much” column and contains “denormalized” numbers. For, purposes of the present invention, “denormalized” numbers refers to numbers that do not have, a fixed unit and may assume a different meaning and different units depending on the pricing operation that is being performed. In other words, each denormalized number has a unique significance. For example, a denormalized number used incolumn 44 can refer, to the price of, a product in, dollars. Another denormalized number used incolumn 44 may be a fraction, such as 1.08, and have no units associated with it. This denormalized number (i.e. 1.08) can refer to a tax rate and be used as a multiplying factor to calculate the final price of a product. As another, example, a denormalized number such as 16 can refer to a fixed rebate. This number is used in a subtraction operation. In other words, this number (i.e. 16) is deducted from the price of a product as an adjustment to the price. The specific units of a denormalized number and how it will be applied to adjust the price of a product are determined during “run time” of the invention's system based on information associated with each denormalized number. The invention uses a price adjustment sequence (discussed below) to determine how and when each denormalized number will be applied to, adjust the price of a particular product. - Suppose that Adam is interested in purchasing a 486/33 CPU. According to the prior art, this would require retrieving a basic price table such as that shown in
FIG. 1 . As explained above, a table such as the one shown inFIG. 1 would be one of many basic price tables, stored in the prior art database. The reason is that there is a huge number of possible purchasers and possible products, and in a worst case scenario each purchaser may be offered a different price on a particular product. Thus, the retrieved basic price table ofFIG. 1 would be one which contains price information for Adam as the prospective purchaser and a 486/33 CPU as the particular product being sold. - The basic price table shown in
FIG. 1 does not take into account whether the prospective purchaser (for example, Adam) is in a category common with other purchasers. Nor does it take into account whether the particular product (for example, a 486/33 CPU) is in a category common with other products. Accordingly, a large number of different tables are needed to accommodate all possible combinations of purchasers and products. To make matters worse, the prior art pricing systems need various tables to apply various adjustments to the basic price of a particular product for a prospective purchaser. These adjustments can be, for example, applicable state and local taxes, actual shipping charges, currency conversions, and various discounts. Moreover, each category of adjustments in the prior art has its own sub-adjustment tables. For each product and for a given customer, there are usually different types of discounts. For example, there can be a volume discount, a general purchase agreement discount, a discount effective for certain dates of purchase, an initial offer discount, and so forth. The prior art table inFIG. 2 is an example of a volume discount adjustment that may apply to the price of a 486/33 CPU offered to Adam. Thus, in case Adam is purchasing 486/33 CPU's in volume, the table inFIG. 2 would result in a price reduction of 10% from the basic price of $40 obtained from the basic price table ofFIG. 1 . - According to the present invention, the organizational category of the purchaser and the product category of the product are determined prior to determining the basic price and applicable adjustments to the basic price. For example, as shown in
FIG. 5 , the invention first determines that the purchaser (Adam) is a Reseller. It is seen that Bob and Charlie are also Resellers.FIG. 5 also shows that David, Eric, and Frank are purchasers that are “Value Added Resellers” (“VAR”). Other purchasers (not shown inFIG. 5 ) would also belong to a specific category. The invention then determines that a 486/33 CPU belongs to the category of 486 CPU's, and that 486 CPU's belong to the category of CPU's, and that CPU's, belong to the category of Hardware. Thus, the organization (in the example, Adam) and the product (in the example, a 486/33 CPU) are categorized as a Reseller and Hardware respectively. The present invention then recognizes that all Resellers get a certain price adjustment, for example a general discount of 10%, when purchasing Hardware. The general discount of 10% applies to all categories, of Hardware purchased by Resellers. The invention also recognizes that a 486/33 CPU is offered to all resellers at a certain basic price, for example $40. The selling, price of a 486/33 CPU to Adam is then determined by applying a price reduction of 10% to the basic price of $40. Thus, a 486/33 CPU is offered to Adam for $36. - The invention can also account for any combination of purchasing organizations, organizational groups, products, or product groups and arrive at a final offering price in an efficient manner. For example, all CPU's may be offered to all Resellers at a general discount of 5%. This means that the same discount would be applicable to Adam (a Reseller) when purchasing a 486/33 CPU. This 5% general discount may or may not be in addition to the general discount of 10% (discussed above) applicable to Resellers for purchasing Hardware. As another example, another general discount can apply to all Resellers purchasing 486 CPU's, and yet a specific discount can apply to all Hardware purchased by a particular Reseller such as Adam. The invention would also apply this general and specific discounts to Adam when purchasing a 486/33 CPU. Thus, the invention can account for and apply a combination of various discounts to a purchase of a 486/33 CPU by Adam. In other words, the invention applies general discounts applicable to Resellers when purchasing various sub-categories of Hardware, as well as a specific discount applicable uniquely to Adam when purchasing Hardware. Thus, the invention can combine any number of general or specific discounts to determine the offering price of a particular product offered to a particular purchasing organization.
- The invention can apply a number of complicated price adjustments. For example, the invention can apply price adjustments to subcategories to which the organization or the product belongs. For example, a price adjustment (in addition to the 5% discount discussed above) may be applicable to all 486 CPU's purchased by Resellers. Since a 486/33 CPU belongs to the subcategory of a 486 CPU, the additional price adjustment would apply to a 486/33 CPU purchased by a Reseller. Likewise, price adjustments applicable to CPU's in general would also be applicable to a 486/33 CPU as shown in
FIG. 5 . The same reasoning applies to subcategories in the organizational groups. For example, if a Reseller (such as Adam) has three branches in three different cities (not shown inFIG. 5 ), the price adjustment applicable to Adam would also apply to each of its three branches. Thus, as with various product groups, additional price adjustments can apply in various levels in the organizational groups. Therefore, grouping of products and organizations into various categories eliminates the need to maintain a huge number of basic price and adjustment tables to account for every possible combination of purchasing organizations and products. - Still referring to
FIG. 5 ,column 44 is labeled as a “how much” column. The numbers in this column are used to arrive at a price adjustment. The numbers in this column are “denormalized,” meaning that each number in this column has a unique significance. In other words, a number in this column could refer to a basic price, or an adjustment to the basic price such as a tax rate, a shipping charge, a currency conversion rate, or various discounts applicable to the basic price. Use of denormalized tables results in further advantages in the present invention as described below. - The invention's denormalized price table overcomes a prior art disadvantage since the invention is not limited in speed or in storage space by the prior, art's requirement of retrieving several tables from the database (it is noted that, although the invention is discussed in terms of a “database,” the invention can be implemented using any data source that may be different from a conventional database). The entries in the denormalized column (i.e. column 44) of the present invention can signify numeric values of a variety of different parameters. These parameters can be the basic price of a product or various adjustments and sub-adjustments, applicable to the basic price. As stated above, these parameters would have required their own separate tables in the prior art. For example, X1 in
column 44 can refer to a discount applicable to a general discount of 10% applicable to all categories of hardware purchased by Resellers. Alternatively, X1 could denote a shipping charge of $15 applicable to shipment of all hardware to resellers. Yet as another example, X1 could designate a state tax of 8% applicable to all Hardware sold to Resellers. In each of these cases, the meaning of X1 and the interpretation of the value assigned to X1 is different. In the case of a general discount of 10%, X1 has a value of 0.10 and is used in an equation involving the basic price of a product in order to reduce the basic price by 10%. In the case of a shipping charge of $15, the final price of a product (after other adjustments such as discounts and taxes) is increased by 15.00. In the case of a state tax of 8%, X1 has a value of 0.08 and is used in an equation involving the price of a Product after certain adjustments (such as a general discount). According to the present invention, the particular treatment of the value of X1 is determined during run time. In other words, the numbers in the prior art tables are “abstracted” and stored as a denormalized number in the “how much” column (i.e.column 44 inFIG. 5 ), and the interpretation of the numbers are left up to the interpretation engine of the present invention. This dynamic interpretation of abstracted numbers during run time along with the invention's feature permitting a user to flexibly specify and change product and organizational groups is in contrast to the static nature of the prior art pricing systems. The prior art pricing systems utilize fixed and predetermined pricing and price adjustment tables that are “hard-coded” and cannot be changed to match a particular user's pricing preferences or the user's method of doing business. The invention also permits a user to define the sequence in which various price adjustments are applied. For example, the user can define a sequence in which a tax adjustment is the last adjustment, and a currency conversion is the first adjustment. - In contrast, the prior art systems do not use denormalized price tables. For example, a pricing application called R3 made by SAP, does not utilize denormalized price tables. As a result, R3 has the prior art disadvantages in requiring a number of, price adjustment tables and a number of database queries to retrieve applicable, price adjustments. Likewise, an order entry application made by Oracle has a similar shortcoming in that it does not use denormalized price tables and as such the Oracle application requires a number of database queries to retrieve various price adjustments from a large number of, price adjustment tables.
- Thus,
FIG. 5 illustrates that the invention greatly, simplifies the prior art tables in at least two ways. First, products and organizations are categorized in different product and organizational groups. Second, the various product and organizational groups are associated with denormalized numbers whose interpretation is determined during run time. Each of these two simplifications introduced by the present invention results in a great reduction in the number of tables stored in different locations of the prior art mainframe database. One way to view these two simplifications, is that each of these two simplifications result in a reduction of the number of queries to the database. In other words, the prior art made a number of queries for obtaining the data in the basic price table and various adjustment and subadjustment tables in the prior art. As explained above, the invention makes fewer queries because the invention has eliminated the need for the very large number of prior art tables. A reduction in the number of queries to the database also results in a speed advantage in the present invention. Each query to a typical pricing database takes about one to two seconds for completion. Thus, the reduction in the number of queries results in the speed advantage in the present invention. - The prior art price generation systems have a predefined organizational hierarchy that is fixed and cannot be changed by a user. In contrast, the present invention provides great flexibility for a user to specify a unique organizational hierarchy. The “who” column (column 42) in
FIG. 5 shows an example of two different organizations, i.e. a Reseller and a Value Added Reseller (“VAR”). These organizations are typically part of a family or tree of organizations. Just as a 486/33 CPU belongs to the families of 486 CPU's, CPU's, and hardware respectively, a Reseller or a VAR is typically part of a family or hierarchy of organizations. The invention permits the user to specify, with total flexibility, a unique hierarchy (or family tree) for various organizations that are purchasers of the user's products or services. - Another advantage of the present invention is that the invention greatly simplifies creation and maintenance of the invention's pricing data. For example, in the prior art, creation of pricing data for a new product requires addition of new price tables such as that shown in
FIG. 1 . Moreover, for each added new price table, the prior art requires a number of adjustment tables such as the volume discount table shown inFIG. 2 . Accordingly, the addition of a new product requires a large amount of data to be added to the prior art pricing systems. By contrast, the present invention permits a user to add price adjustments to an entire category of products, thus overcoming the prior art need to add a number of price adjustment tables for each product. For example, a modification in the price adjustments applicable to the Hardware product group inFIG. 4B is sufficient to modify price adjustments applied to all 486 CPU's. Accordingly, the need to create price adjustment tables separately applicable to 486 CPU's is overcome. Specifically, the need to create price adjustment tables separately applicable to 486/33 CPU, 486/50 CPU, and 486/66 CPU is overcome. Thus, according to the present invention, the common price adjustments in a product group that is above a new, product eliminate the prior art need for the large number of separate price adjustment tables needed for accommodating the addition of a new product. - Moreover, in the prior art, creation of pricing data for a new purchaser also requires addition of new price tables such as, that shown in
FIG. 1 . Further, for each added new price table, the prior art requires a number of adjustment tables. Accordingly, the addition of a new purchaser requires a large amount of additional data in the prior art pricing systems. By contrast, the present invention permits a user to add price adjustments to an entire category of organizational groups, thus overcoming the prior art need to add a number of, price adjustment tables for each new purchaser. For example, a modification in the price adjustments applicable to the Reseller organizational group inFIG. 4A is sufficient to modify price adjustments applied to Adam, Bob, and Charlie. Accordingly, the need to create price adjustment tables separately applicable, to each Reseller is overcome. Specifically, the need to create price adjustment tables separately applicable to Adam, Bob, and Charlie is overcome. Thus, according to the present invention, the common price adjustments in an organizational group that is above a new purchaser eliminate the prior art need for, the large number of separate price adjustment tables needed for accommodating the addition of a new purchaser. - For the same reasons that creation of new pricing data for a new product or purchaser is, greatly simplified in the present invention, the maintenance of existing pricing data is also greatly simplified. For example, when price adjustments applicable to an entire product group are changed, the price adjustments applicable to individual products within the product group are automatically changed. This overcomes the prior art need to separately change price adjustment tables corresponding to each product. Likewise, when price adjustments applicable to an entire organizational group are changed, the price adjustments applicable to individual purchasers within the organizational group are automatically changed. This overcomes the prior art need to separately update price adjustment tables corresponding to each purchaser. This total flexibility in creating and maintaining pricing data of the present invention is a significant advance over the prior art's rigid and difficult procedures to creating and maintaining pricing tables. Moreover, the invention's flexibility in creating and maintaining pricing data also results in a smaller amount of pricing data than that required by the prior art.
- An example of an organizational and a product group is shown in
FIG. 6 .Window 610 shows an example of organizational groups as shown on a computer screen according to the present invention. A user can arbitrarily select the different grouping of the organizations. For example, inFIG. 6 , the user has selected to divide the “World” into two broad categories of “United States” and “Europe.” The category “United States” is in turn divided into “Discount Hierarchy” and “Tax Hierarchy.” The “Discount Hierarchy” is itself divided into “US Resellers” which comprises “Dealers” and “VARs.” The “Tax Hierarchy” is divided into “California” and “Texas.” The broad category of “Europe” is itself divided into “France,” “England,” and “Germany.” As stated above, each of the organizational groups are determined solely by the user. To add a particular organizational group, the user first highlights the target group. For example, the user may highlight “England” as the target group. Then the user selects thefolder icon 616, indicating that a new group is to be added. The user then determines whether the organizational group is to be added as a subcategory of “England” or in the same category as “England.” In the first case, the user selects “Child” 612. This causes a branch to be created under the category of “England.” For example, the user can create branches such as “Southern England,” “Central England,” and “Northern England.” In the second case, the user selects “Sibling” 614. This causes a branch to be created under “Europe” at the same level that the group “England” exists. For example, the user can create branches such as “Italy” and “Spain.” Thus, “France,” “England,” “Italy,” “Spain,” and “Germany” would all be at the same level and they would all be one level below “Europe.” Finally, any organizational group may be deleted simply by “dragging” and dropping the group in thetrash can icon 618. - The explanations given above with respect to the user selection of how to group the various purchasing organizations also apply to the user selecting various product groups.
Window 620 shows an example of the grouping of “All Products” according to a particular user's way of doing business. As shown inwindow 620 ofFIG. 6 , “All Products” are divided into broad categories of “Hardware,” “Software,” “Support,” “Special Product Classes,” “Charged by Weight,” “Vendors,” and “Externally Manufactured.” Each of these broad categories is in turn divided into subcategories as shown inwindow 620. As stated above, each of the product groups are determined solely by the user. To add a particular product group, the user first highlights the target group. For example, the user may highlight “Vendors” as the target group. Then the user adds a desired product group as desired in the manner described above with respect to the organizational groups. Any product group may be deleted simply by “dragging” and dropping the group in thetrash can icon 618. -
FIG. 7 illustrates how the numbers in the “How Much”column 44 ofFIG. 5 are determined.Window 710 inFIG. 7 shows the various “pricing types,” andwindow 720 shows a sample “pricing sequence.” Examples of pricing types specified by a user are shown incolumn 712. Some of the pricing types shown incolumn 712 are Base Cost, Currency Conversion Factor, Customer Discount, Customer Negotiated Discount, Customer Negotiated Price, Discount off List Price, General Uplift, List Price, Rebate, Shipping Charges, Tax, and Volume Discount. A user may simply click on “New Pricing Type”icon 714 to specify any desired pricing type. For example, the user may specify a pricing type called, the “President's Discount” applicable to certain designated customers. -
Column 716 is called the “Operation” column.Operation column 716 specifies the type of mathematical operation that is performed for each pricing type. For example,Operation column 716 specifies that a Base Cost is an override operation. In other words, a Base Cost overrides all prior pricing calculations. Thus, if various price adjustments yield a price that is lower than the Base Cost, the Base Cost operation would replace that price with a price equal to the basic cost of the product.Operation column 716 specifies that a List Price is also an override operation. However, a Currency Conversion Factor is specified to be a Factor Change operation according toOperation column 716. For example, a factor of 1.33 may be multiplied by the price of a product in U.S. currency to yield the price of the product in another country's currency. The Currency Conversion Percentage pricing type incolumn 712 is specified to be a Percentage operation incolumn 716. For example, the percentage can be 133%. In other words, the price of a product in U.S. currency is multiplied by 133% to yield the price of the product in a particular foreign currency. - As another example, a Customer Negotiated Discount pricing type (shown in column 712) is a Percentage operation as specified in
column 716. For example, the percentage can, be 75%. In other words, the price of a product is multiplied by 75% to yield the price of the product after the Customer Negotiated Discount. As yet another example, a Tax pricing type (shown in column 712) is also, a Percentage, operation as shown incolumn 716. - The prior art does not allow user to specify or modify any pricing types. The invention's feature in permitting a user to specify various pricing types allows the user, to flexibly set a pricing scheme applicable to various products and purchasing organizations. The prior art systems have a fixed number, and fixed types, of pricing types. Thus, according, to the prior art, the user had to modify his or her pricing, system and, business methods in order to accommodate the prior art pricing systems. The invention adjusts, in a completely, flexible manner, to the user's specific pricing methodology. Not only does the invention permit, a user to uniquely specify his or her own various pricing types, but the invention also allows a user, to specify the sequence in which the various pricing types are applied in arriving at the final price of the product. This is described in more detail below.
- After a user specifies the various Pricing Types in
column 712, the invention permits the user to also specify the sequence in which the different Pricing Types are applied in order to arrive at the final offering price of a particular product.Column 718 shows a sample sequence used to apply the various Pricing Types. In the sample sequence shown incolumn 718, the Maximum Discount is the first applicable operation. For example, the Maximum Discount can be 50%. In the sample sequence shown incolumn 718, the Maximum Discount is followed by the Base Cost. Since Base Cost is an override operation, the Maximum Discount is automatically overridden by the Base Cost. Thus, if the Base Cost is $80.00, the number 80.00 overrides the number 0.5 (i.e. 50%). Nevertheless, the number corresponding to the Maximum Discount (i.e. 0.5) is stored for informational purposes. For example, the Maximum Discount may be used to override a total discount that exceeds the Maximum Discount. Alternatively, the Maximum Discount may be used as a flag to prevent sale of a product at a discount that exceeds the Maximum Discount. The numerical value assigned to the Maximum Discount pricing type (in this example, 0.5) can be thought of as a denormalized number discussed in relation withFIG. 5 . In other words, the significance of this number (in this example, 0.5) is determined during run time. The numerical value assigned to a Maximum Discount pricing type is not used in an addition, subtraction, or multiplication operation. However, the numerical value of the Maximum Discount is used in a comparison operation to ensure that the net result of all discounts applied to a particular product does not exceed a certain limit (i.e. the limit set by the Maximum Discount pricing type). - As shown in the sample sequence of
column 718, a Tax, operation is applied after many operations are applied to arrive at the final offering price. As shown incolumns column 718, a percentage increase due to a Tax operation will be applied near the end of the pricing sequence. In other words, taxes are applied after almost all other operations. In the sample sequence shown incolumn 718, the only two operations that are applied after the Tax operation are the Shipping Charges and the Freight Charges by Weight operation. The reason is that shipping charges and freight charges are not taxed. Thus, the final offering price of the product is determined by applying tax charges just prior to applying shipping and freight charges. - As another example,
FIG. 8 shows an alternative sequence (shown in column 818) in which the various Pricing Types incolumn 712 may get applied. As shown in column 818 the alternative, sequence is a simpler sequence and involves the List Price, Currency. Conversion Percentage, Currency Conversion Factor, Customer Negotiated Discount, and Customer Negotiated Price. According to this sequence, the List Price override operation is the first step in designating an offering price for the product. Then currency conversion operations are performed, and finally negotiated discount and negotiated price operations are performed. - The invention permits a user to arrange a customized sequence to apply to the Pricing Types (also specified by the user) in order to arrive at the final offering price. For example, a sequence can include only the Base Cost, List Price, and Tax. Thus, the price of the product is determined first by the Base Cost override operation, then by the List Price override operation, and then by applying taxes. Although the List Price override operation overrides all prior price determinations for a given product, the Base Cost is still useful for informational purposes. Also, if the List Price is removed from the sequence, the Base Cost still remains as an operation which begins the sequence based on the basic cost of a given product. Manifestly, any other pricing sequence can be designated by the user and applied to the user selected Pricing Types.
- The invention provides a further feature in determining the final price of a product by providing a “Target” operation shown in
column 722 ofFIG. 7 . By way of an illustrative example, suppose that a product's initial sales price is equal to its base cost of $100, and that according to the user specified pricing sequence two 10% discounts must be applied to arrive at the final offering price. Ordinarily, the first 10% discount results in a price of $90 (i.e. $100−$10=$90) and the second 10% discount results in a price of $81 (i.e. $90−$9=$81). The invention permits the target price to remain the initial sales price, i.e. the base cost of $100 in the example. Thus, if the user specifies that the target price is the Base Cost, both of the 10% discounts are applied to the base cost of $100. In other words, the first discount results in a price of $90 (i.e. $100−$10=$90) and the second 10% discount results in a price of $80 (i.e. $90−$10=$80). The provision of the Target operation permits the user to have further flexibility in determining the final offering price of a product. For example, even if the final offering price of a product reflects a deep discount to a′ certain purchasing organization, the user (here, the selling organization) can specify that maintenance fees should be calculated off of the list price or the base cost, instead of the deeply discounted offering price. The user can also specify the target price to be the minimum or maximum value of another pricing type. In the above example, the maintenance fees can be calculated based on the minimum or maximum value of a particular pricing type, such as the “Cost of Customer Specific Pricing.” - As discussed above in relation to
FIG. 5 , the invention simplifies the prior art tables by associating a value in “How Much”column 44 with an entire purchasing category in “Who”column 42 and an entire product category in “What”column 46.FIG. 9 is an, example of a computer screen according to the invention which corresponds to the table ofFIG. 5 . As shown inFIG. 9 , the user selects a specific customer (for example, Trilogy Development Group) inbox 912. Then the user selects a Pricing Type, such as a List Price as shown inbox 914. The invention automatically displays the operation associated with the Pricing Type inbox 916. In the present example, the operation (associated with a List Price) is, a Price Override which is shown inbox 916. Inbox 924 the user selects product A as the specific product offered for sale to the customer (here Trilogy Development Group). Inbox 918 the user specifies that the List Price for Product A offered to Trilogy Development Group is $100. Inbox 920 the user indicates that the effective date for this List Price is Mar. 15, 1996. Inbox 922 the user indicates that the termination date for the List Price is Dec. 31, 1999. Inbox 926 the user specifies the required quantity of Product A offered to Trilogy Development Group at the List Price of $100. In the present example, the user has set the quantity to be between 100 and 1000 units (boxes 928 and 930). In other words, the List Price for quantities below 100 and above 1000 units would be different than $100. - As discussed above, the invention permits the user to, specify the organizational groups to which the specified customer (here the Trilogy Development Group) belongs. The invention also permits the user to specify the product groups to which the specified product (here Product A) belongs.
FIG. 10 shows the “Product Details” corresponding to Product A (folder tab 1018 indicates that this is a Product Details screen).Box 1014 shows that the product specified by the user is Product A. The user specifies that the product group to which Product A belongs is Storage Devices group. This is accomplished by selectingStorage Devices group 1025 from theProduct Groups window 1030, and then “dragging” the Storage Devices product group and “dropping” it inbox 1024.Box 1024 is used to display the product group which the user has identified as the group containing a particular product. In this example, Product A is shown to belong to the Storage Devices product group. -
FIG. 11 is an example of how a user can specify the organizational group for a specified customer. Folder tab 1108 (“Customer Detail”) indicates that this computer screen permits the user to specify customer details.Box 1102 shows the specified customer to be Trilogy Development Group. The user then specifies the organizational group to which the customer belongs. This is accomplished by “dragging” the desired organizational group from theorganizational groups window 1110 and “dropping” the group inbox 1104. In the present example, the user has specified that “Dealers” is the organizational group to which the specified customer belongs. As such,boxes -
FIG. 12 shows some of the price adjustment parameters specified for the “Dealers” organizational group and the “Storage Devices” product group. Folder tab 1208 (“Adjustment Detail”) indicates that the computer screen shown inFIG. 12 permits, a user to specify various price adjustments. As discussed in relation toFIG. 5 , the price adjustment parameters relate an entire category of products, (shown in the “What” column ofFIG. 5 ) to an entire category of organizational groups (shown in the “Who” column ofFIG. 5 ).FIG. 5 , also showed, the various price adjustments in the “How Much” column. In the example shown inFIG. 12 , the organizational category of Dealers is the “Who” inFIG. 5 and the product category of Storage Devices is, the “What” inFIG. 5 . The organizational group category of Dealers is shown inbox 1202 and the product category of Storage. Devices is shown inbox 1212. In the example shown inFIG. 12 , the price adjustment (i.e. the “How Much” inFIG. 5 ) is a Program Discount for all organizations belonging to Dealers purchasing any product belonging to Storage Devices. The Program Discount is a Pricing Type and is shown inbox 1204. As shown inbox 1206, the Program Discount is a percentage decrease Pricing Type. Moreover, inboxes boxes box 1210 as 0.1. In other words, any product belonging to the Storage Device group is sold to a customer belonging to the Dealers group at a 10% discount, on the condition that the product is purchased between Mar. 15, 1996 and Dec. 31, 1999, and that the customer buys between $1,000 and $100,000 worth of the product. - Thus, although the List Price for Product/sold to Trilogy Development Group was specified to be $100, the Program Discount of 10% automatically applies to the purchase of Product A by Trilogy Development Group. The reason is that the invention recognizes that Trilogy is a dealer and that all dealers get a 10% discount when purchasing a storage device and that Product A is a storage device. The 10% discount applies if the purchase is made between Mar. 15, 1996 and Dec. 31, 1999, and if the amount purchased is between $100 and $100,000 worth of Product A. As discussed above, the feature of the present invention that relates an entire category of products with an entire category of organizational groups presents a significant advantage over the prior art due to simplification of the prior art's price tables and price adjustment tables.
- As another example of the invention's simplification of the prior art's price and price adjustment tables, reference is made to the computer screen shown in
FIG. 13 . As shown inFIG. 13 , the invention permits the user to select a tax rate for purchasing organizations located in various geographic locations. The invention permits a user to generate a desired geographic group inwindow 1302. In the example ofFIG. 13 , the user has specified one geographic group to be “California.” The user then places the geographic designation “California” inbox 1304 by “dragging” the group “California” and “dropping” it inbox 1304. The Pricing Type that the user would select for specifying a tax rate is “Tax.” Accordingly, the user would select “Tax” as the Pricing Type as shown inbox 1306. The Operation corresponding to a “Tax” Pricing Type is a “Percentage Increase” as shown inbox 1308. The user then specifies the “Amount” of the percentage increase to be “0.0825” (This is interpreted as an 8.25% tax rate by the present invention). The user then selects the product group to which this tax rate would apply. This is accomplished by “dragging” and “dropping” the product group “All Products” fromwindow 1310 intobox 1312. It is noted that an equal tax rate is usually applicable to all products. Thus, the appropriate product group to select is usually the “All Products” group. Furthermore, the tax rate is typically independent of the quantity or dollar volume of a purchase. The user specifies this by checkingboxes - As stated above, the same tax rate usually applies equally to products in the group “All Products.” However, there can be exceptions.
FIG. 14 illustrates how the invention permits a user to effectively make exceptions to the general rule that the tax rate applies equally to every group in the “All Products” category. For example, a user may desire that services, such as consulting and support services, not be taxed. Consulting and support services may be categorized under the “Support” group shown inwindow 1410 ofFIG. 14 . The user “drags” and “drops” the Support group intobox 1412. The user then specifies that the applicable tax rate for the “Support” group is 0%. This is shown as 0.00 inbox 1408. The remaining information shown inFIG. 14 is the same as that shown inFIG. 13 . Thus, every product group with the exception of the “Support” group inwindow 1410 is taxed at 8.25%. The reason is that the “Support” group tax rate overrides the tax rate designated at a higher level in the hierarchy. Thus, while every group (with the exception of the “Support” group) is taxed at the rate designated for the root group “All Products,” the “Support” group is taxed at a different rate. This feature of the invention permits a user to carve out exceptions to situations typically calling for an equal treatment of some product and organizational groups. -
FIGS. 15A through 15C illustrate the execution flow of the present invention. The execution flow of the invention begins instep 1502. Instep 1504 the user specifies a pricing sequence to operate on the various Pricing Types. For example, the user may specify a pricing sequence such, as that shown inFIG. 8 . This means that the List Price, Currency Conversion Percentage, Currency Conversion Factor, Customer Negotiated Discount, and Customer Negotiated Price are applied in the indicated sequence. Namely, the List Price is applied first and the Customer Negotiated Price is applied last. As stated above, a Tax Pricing Type is also typically applied. A Tax Pricing Type is typically near the end of a pricing sequence. Instep 1506 the user specifies effective dates during which various price adjustments are applicable. Instep 1506 the user specifies products, price adjustments or other user selected parameters. Instep 1508 the user specifies the specific purchasing organization for the specific product. Instep 1510, the present invention identifies all organizational groups that are higher than the user specified purchasing organization in the organizational hierarchy. - In
step 1512 the present invention performs a database query for retrieving all product records related to user specified products. The database query is directed to user specified products, the user specified purchasing organization, the identified organizational groups, and the effective dates specified by the user. Instep 1514 the invention identifies all product groups that are higher than user specified products in the product group hierarchy. Instep 1516 the invention, performs a database query for retrieving all pricing adjustments applicable to user specified products and the user specified organization. The query is also directed to retrieving all pricing adjustments applicable to identified products and organizational groups, and to the user specified effective dates. Each pricing adjustment consists of the application of those Pricing Types that apply to user specified products (and in the user specified pricing sequence). - In
step 1518 the invention sorts the retrieved list of applicable pricing adjustments according to their respective specificities. First, the list of the pricing adjustments is sorted according to the sequence of the Pricing Types associated with each pricing adjustment. Second, the list of the pricing adjustments is sorted according to the product hierarchy. Pricing adjustments specified at a lower level of the product hierarchy are assumed to be more specific and are thus placed after the pricing adjustments specified at a higher level of the product hierarchy. Third, the list of pricing adjustments is sorted according to the organizational hierarchy. Pricing adjustments specified at a lower level of the organizational hierarchy are assumed to be more specific and are thus placed after the pricing adjustments specified at a higher level of the organizational hierarchy. Fourth, pricing adjustments with quantity range checks are placed after pricing adjustments with amount and volume range checks. Fifth, pricing adjustments with a higher low range criteria are placed after those with a lower low range criteria and pricing adjustments with a higher high range criteria are placed after those with a lower high range criteria. - In
step 1520 the less restrictive pricing adjustments with the same Pricing Types are eliminated. Instep 1522 the price of the user specified product is set to zero so that the price can be determined by application of the sorted pricing adjustments. Instep 1524 the various Pricing Types included in the sorted pricing adjustments are applied in the user specified pricing sequence. Thus, the price of the user specified product is increased, decreased, and/or overridden until the final price is determined. Instep 1526 the invention's execution flow ends. - Thus, a method and apparatus for pricing products in multi-level product and organizational groups is described.
Claims (50)
1. A method for determining price of a product offered to a purchasing organization, the method comprising the steps of:
arranging a hierarchy of organizational groups;
arranging a hierarchy of product groups;
identifying at least one organizational group above said purchasing organization in said hierarchy of organizational groups;
identifying at least one product group above said product in said hierarchy of product groups;
retrieving pricing adjustments corresponding to said product, purchasing organization, at least one organizational group, and at least one product group;
determining said price of said product by applying said pricing adjustments.
2. The method of claim 1 wherein each of said pricing adjustments includes one or more pricing types.
3. The method of claim 2 wherein each of said pricing adjustments is determined by applying said one or more pricing types in a pricing sequence.
4. The method of claim 3 wherein said pricing adjustments are sorted and applied according to a predetermined sequence of said one or more pricing types.
5. The method of claim 3 wherein said pricing adjustments are sorted and applied according to said hierarchy of product groups.
6. The method of claim 3 wherein said pricing adjustments are sorted and applied according to said hierarchy of organizational groups.
7. A method for determining price of a product, the method comprising the steps of:
arranging a hierarchy of organizational groups and a hierarchy of product groups;
identifying a purchasing organization and one or more organizational groups from said hierarchy of organizational groups;
identifying said product and one or more product groups from said hierarchy of product groups;
determining said price of said product based on a pricing adjustment corresponding to said purchasing organization, said one or more organizational groups, said product, and said one or more product groups.
8. The method of claim 7 wherein said pricing adjustment includes one or more pricing types.
9. The method of claim 8 further comprising the step of specifying a pricing sequence for applying said one or more pricing types to determine said pricing adjustment.
10. The method of claim 9 wherein said one or more pricing types comprise base cost, currency conversion factor, customer discount, volume discount, list price, shipping charges, and tax pricing types.
11. An apparatus for determining price of a product offered to a purchasing organization, the apparatus comprising:
means for displaying a hierarchy of organizational groups;
means for identifying at least one organizational group above said purchasing organization in said hierarchy of said organizational groups;
means for displaying a hierarchy of product groups;
means for identifying at least one product group above said product in said hierarchy of product groups;
means for retrieving pricing adjustments corresponding to said product, purchasing organization, at least one organizational group, and at least one product group;
means for determining said price of said product by applying said pricing adjustments.
12. The apparatus of claim 11 wherein each of said pricing adjustments includes one or more pricing types.
13. The apparatus of claim 12 wherein each of said pricing adjustments is determined by applying said one or more pricing types in a pricing sequence.
14. The apparatus of claim 13 wherein said pricing adjustments are sorted and applied according to a predetermined sequence of said one or more pricing types.
15. The apparatus of claim 13 wherein said pricing adjustments are sorted and applied according to said hierarchy of product groups.
16. The method of claim 13 wherein said pricing adjustments are sorted and applied according to said hierarchy of organizational groups.
17. The apparatus of claim 12 wherein said one or more pricing types comprise base cost, currency conversion factor, customer discount, volume discount, list price, shipping charges, and tax pricing types.
18. An apparatus for determining price of a product, the apparatus comprising:
means for displaying a hierarchy of organizational groups and a hierarchy of product groups;
means for identifying a purchasing organization and one or more organizational groups from said hierarchy of organizational groups;
means for identifying said product and one or more product groups from said hierarchy of product groups;
means for determining said price of said product based on a pricing adjustment corresponding to said purchasing organization, said one or more organizational groups, said product, and said one or more product groups.
19. The apparatus of claim 18 wherein said pricing adjustment includes one or more pricing types.
20. The apparatus of claim 18 further comprising means for specifying a pricing sequence for applying said one or more pricing types to determine said pricing adjustment.
21. The apparatus of claim 20 wherein said one or more pricing types comprise base cost, currency conversion factor, customer discount, volume discount, list price, shipping charges, and tax pricing types.
22. An article of manufacture comprising:
a computer usable medium having computer readable program code embodied therein for determining price of a product, said computer readable program code in said article of manufacture comprising:
computer readable program code configured to cause a computer to display a hierarchy of organizational groups and a hierarchy of product groups;
computer readable program code configured to cause a computer to identify a purchasing organization and one or more organizational groups from said hierarchy of organizational groups;
computer readable program code configured to cause a computer to identify said product and one or more product groups from said hierarchy of product groups;
computer readable program code configured to cause a computer to determine said price of said product by applying a pricing adjustment corresponding to said purchasing organization, said one or more organizational groups, said product, and said one or more product groups.
23. The article of manufacture of claim 22 wherein said pricing adjustment includes one or more pricing types.
24. The article of manufacture of claim 22 further comprising computer readable program code configured to cause a computer to specify a pricing sequence for applying said one or more pricing types to determine said pricing adjustment.
25. The article of manufacture of claim 24 wherein said one or more pricing types comprise base cost, currency conversion factor, customer discount, volume discount, list price, shipping charges, and tax pricing types.
26. An article of manufacture comprising:
a computer usable medium having computer readable program code embodied therein for determining price of a product offered to a purchasing organization, said computer readable program code in said article of manufacture comprising:
computer readable program code configured to cause a computer to display a hierarchy of organizational groups;
computer readable program code configured to cause a computer to identify at least one organizational group above said purchasing organization in said hierarchy of said organizational groups;
computer readable program code configured to cause a computer to display a hierarchy of product groups;
computer readable program code configured to cause a computer to identify at least one product group above said product in said hierarchy of product groups;
computer readable program code configured to cause a computer to retrieve pricing adjustments corresponding to said product, purchasing organization, at least one organizational group, and at least one product group;
computer readable program code configured to cause a computer to determine said price of said product by applying said pricing adjustments.
27. The article of manufacture of claim 26 wherein each of said pricing adjustments includes one or more pricing types.
28. The article of manufacture of claim 27 wherein each of said pricing adjustments is determined by applying said one or more pricing types in a pricing sequence.
29. The article of manufacture of claim 28 wherein said pricing adjustments are sorted and applied according to a predetermined sequence of said one or more pricing types.
30. The article of manufacture of claim 28 wherein said pricing adjustments are sorted and applied according to said hierarchy of product groups.
31. The article of manufacture of claim 28 wherein said pricing adjustments are sorted and applied according to said hierarchy of organizational groups.
32. The article of manufacture of claim 27 wherein said one or more pricing types comprise base cost, currency conversion factor, customer discount, volume discount, list price, shipping charges, and tax pricing types.
33. A method for creating a database for a pricing system, said method comprising the steps of:
arranging a structure of one or more purchasers, said one or more purchasers belonging to one or more organizational groups;
arranging a structure of one or more products, said one or more products belonging to one or more product groups;
creating a price adjustment corresponding to one of said one or more organizational groups and one of said one or more product groups.
34. The method of claim 33 further comprising the step of maintaining said database by modifying said price adjustment.
35. The method of claim 33 wherein each of said price adjustment includes one or more pricing types.
36. The method of claim 35 wherein each of said price adjustment is determined by applying said one or more pricing types in a pricing sequence.
37. The method of claim 35 wherein said price adjustments are applied according to a predetermined sequence of said pricing types.
38. The method of claim 33 wherein one or more price adjustments are applied according to a hierarchy of said one or more product groups.
39. The method of claim 33 wherein one or more pricing adjustments are applied according to a hierarchy of said one or more organizational groups.
40. A method for determining price of a product, the method comprising the steps of:
identifying a purchaser;
identifying one or more product groups corresponding to said product;
identifying one or more organizational groups corresponding to said purchaser;
determining price of said product based on a price adjustment corresponding to said product, purchaser, one or more product groups, and one or more organizational groups.
41. The method of claim 40 wherein said price adjustment is obtained through a single database query.
42. The method of claim 40 wherein said one or more product groups are arranged so as to form a hierarchy of product groups.
43. The method of claim 42 where said product belongs to said hierarchy of product groups, said product being at a most specific level of said hierarchy.
44. The method of claim 43 wherein said price adjustment is obtained through a single database query.
45. The method of claim 40 wherein said one or more organizational groups are arranged so as to form a hierarchy of organizational groups.
46. The method of claim 45 where said purchaser belongs to said hierarchy of organizational groups, said purchaser being at a most specific level of said hierarchy.
47. The method of claim 46 wherein said price adjustment is obtained through a single database query.
48. The method of claim 40 wherein said price adjustment includes one or more pricing types.
49. The method of claim 48 further comprising the step of specifying a pricing sequence for applying said one or more pricing types to determine said price adjustment.
50. The method of claim 49 wherein said one or more pricing types comprise base cost, currency conversion factor, customer discount, volume discount, list price, shipping charges, and tax pricing types.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/334,380 US20120158458A1 (en) | 2004-04-26 | 2011-12-22 | Method And Apparatus For Pricing Products In Multi-Level Product And Organizational Groups |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56575804P | 2004-04-26 | 2004-04-26 | |
US11/116,125 US8086607B2 (en) | 2004-04-26 | 2005-04-26 | Annotation of data in an operating plan data aggregation system |
US13/334,380 US20120158458A1 (en) | 2004-04-26 | 2011-12-22 | Method And Apparatus For Pricing Products In Multi-Level Product And Organizational Groups |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/116,125 Continuation US8086607B2 (en) | 2004-04-26 | 2005-04-26 | Annotation of data in an operating plan data aggregation system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120158458A1 true US20120158458A1 (en) | 2012-06-21 |
Family
ID=35242153
Family Applications (23)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/116,129 Active 2028-09-17 US10713301B2 (en) | 2004-04-26 | 2005-04-26 | Flexible baselines in an operating plan data aggregation system |
US11/116,143 Active 2026-02-20 US7447718B2 (en) | 2004-04-26 | 2005-04-26 | Real-time operating plan data aggregation |
US11/116,123 Active 2027-08-21 US9940374B2 (en) | 2004-04-26 | 2005-04-26 | Providing feedback in a operating plan data aggregation system |
US11/115,970 Active 2025-07-08 US7558784B2 (en) | 2004-04-26 | 2005-04-26 | Operating plan data aggregation system with real-time updates |
US11/116,125 Active 2028-04-06 US8086607B2 (en) | 2004-04-26 | 2005-04-26 | Annotation of data in an operating plan data aggregation system |
US12/264,123 Active 2026-11-27 US9026487B2 (en) | 2004-04-26 | 2008-11-03 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US13/332,053 Active US8892559B2 (en) | 2004-04-26 | 2011-12-20 | Annotation of data in an operating plan data aggregation system |
US13/334,380 Abandoned US20120158458A1 (en) | 2004-04-26 | 2011-12-22 | Method And Apparatus For Pricing Products In Multi-Level Product And Organizational Groups |
US14/531,592 Active 2026-06-11 US10229176B2 (en) | 2004-04-26 | 2014-11-03 | Annotation of data in an operating plan data aggregation system |
US14/625,083 Active US9600549B2 (en) | 2004-04-26 | 2015-02-18 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US15/432,673 Active US10074137B2 (en) | 2004-04-26 | 2017-02-14 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US15/933,870 Active US10452720B2 (en) | 2004-04-26 | 2018-03-23 | Providing feedback in an operating plan data aggregation system |
US16/125,987 Active 2025-06-22 US11120084B2 (en) | 2004-04-26 | 2018-09-10 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US16/268,649 Active 2028-05-06 US11651035B2 (en) | 2004-04-26 | 2019-02-06 | Annotation of data in an operating plan data aggregation system |
US16/581,069 Active US10795941B2 (en) | 2004-04-26 | 2019-09-24 | Providing feedback in an operating plan data aggregation system |
US16/894,662 Active 2026-02-28 US11636156B2 (en) | 2004-04-26 | 2020-06-05 | Flexible baselines in a forecasting system |
US17/008,600 Active US11379531B2 (en) | 2004-04-26 | 2020-08-31 | Providing feedback in an operating plan data aggregation system |
US17/404,737 Active US11797613B2 (en) | 2004-04-26 | 2021-08-17 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US17/694,668 Active US11822607B2 (en) | 2004-04-26 | 2022-03-15 | Providing feedback in a forecasting system |
US18/188,441 Pending US20240152555A1 (en) | 2004-04-26 | 2023-03-22 | Flexible Baselines in a Forecasting System |
US18/296,064 Active US12038978B2 (en) | 2004-04-26 | 2023-04-05 | Annotation of data in an operating plan data aggregation system |
US18/460,184 Pending US20230409641A1 (en) | 2004-04-26 | 2023-09-01 | Forecasting System and Method Using Change Data Based Database Storage for Efficient ASP and Web Application |
US18/494,151 Pending US20240054161A1 (en) | 2004-04-26 | 2023-10-25 | Providing Feedback in a Forecasting System |
Family Applications Before (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/116,129 Active 2028-09-17 US10713301B2 (en) | 2004-04-26 | 2005-04-26 | Flexible baselines in an operating plan data aggregation system |
US11/116,143 Active 2026-02-20 US7447718B2 (en) | 2004-04-26 | 2005-04-26 | Real-time operating plan data aggregation |
US11/116,123 Active 2027-08-21 US9940374B2 (en) | 2004-04-26 | 2005-04-26 | Providing feedback in a operating plan data aggregation system |
US11/115,970 Active 2025-07-08 US7558784B2 (en) | 2004-04-26 | 2005-04-26 | Operating plan data aggregation system with real-time updates |
US11/116,125 Active 2028-04-06 US8086607B2 (en) | 2004-04-26 | 2005-04-26 | Annotation of data in an operating plan data aggregation system |
US12/264,123 Active 2026-11-27 US9026487B2 (en) | 2004-04-26 | 2008-11-03 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US13/332,053 Active US8892559B2 (en) | 2004-04-26 | 2011-12-20 | Annotation of data in an operating plan data aggregation system |
Family Applications After (15)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/531,592 Active 2026-06-11 US10229176B2 (en) | 2004-04-26 | 2014-11-03 | Annotation of data in an operating plan data aggregation system |
US14/625,083 Active US9600549B2 (en) | 2004-04-26 | 2015-02-18 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US15/432,673 Active US10074137B2 (en) | 2004-04-26 | 2017-02-14 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US15/933,870 Active US10452720B2 (en) | 2004-04-26 | 2018-03-23 | Providing feedback in an operating plan data aggregation system |
US16/125,987 Active 2025-06-22 US11120084B2 (en) | 2004-04-26 | 2018-09-10 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US16/268,649 Active 2028-05-06 US11651035B2 (en) | 2004-04-26 | 2019-02-06 | Annotation of data in an operating plan data aggregation system |
US16/581,069 Active US10795941B2 (en) | 2004-04-26 | 2019-09-24 | Providing feedback in an operating plan data aggregation system |
US16/894,662 Active 2026-02-28 US11636156B2 (en) | 2004-04-26 | 2020-06-05 | Flexible baselines in a forecasting system |
US17/008,600 Active US11379531B2 (en) | 2004-04-26 | 2020-08-31 | Providing feedback in an operating plan data aggregation system |
US17/404,737 Active US11797613B2 (en) | 2004-04-26 | 2021-08-17 | Forecasting system and method using change data based database storage for efficient ASP and web application |
US17/694,668 Active US11822607B2 (en) | 2004-04-26 | 2022-03-15 | Providing feedback in a forecasting system |
US18/188,441 Pending US20240152555A1 (en) | 2004-04-26 | 2023-03-22 | Flexible Baselines in a Forecasting System |
US18/296,064 Active US12038978B2 (en) | 2004-04-26 | 2023-04-05 | Annotation of data in an operating plan data aggregation system |
US18/460,184 Pending US20230409641A1 (en) | 2004-04-26 | 2023-09-01 | Forecasting System and Method Using Change Data Based Database Storage for Efficient ASP and Web Application |
US18/494,151 Pending US20240054161A1 (en) | 2004-04-26 | 2023-10-25 | Providing Feedback in a Forecasting System |
Country Status (6)
Country | Link |
---|---|
US (23) | US10713301B2 (en) |
EP (1) | EP1769433A4 (en) |
JP (2) | JP2007535764A (en) |
CA (1) | CA2564754A1 (en) |
SG (1) | SG136964A1 (en) |
WO (1) | WO2005104736A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902259B1 (en) * | 2009-12-29 | 2014-12-02 | Google Inc. | Finger-friendly content selection interface |
WO2019070953A1 (en) * | 2017-10-04 | 2019-04-11 | Walmart Apollo, Llc | Perishable product conservation system |
US10726060B1 (en) * | 2015-06-24 | 2020-07-28 | Amazon Technologies, Inc. | Classification accuracy estimation |
Families Citing this family (176)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472114B1 (en) | 2002-09-18 | 2008-12-30 | Symantec Corporation | Method and apparatus to define the scope of a search for information from a tabular data source |
US8041719B2 (en) | 2003-05-06 | 2011-10-18 | Symantec Corporation | Personal computing device-based mechanism to detect preselected data |
US7673344B1 (en) | 2002-09-18 | 2010-03-02 | Symantec Corporation | Mechanism to search information content for preselected data |
US8225371B2 (en) | 2002-09-18 | 2012-07-17 | Symantec Corporation | Method and apparatus for creating an information security policy based on a pre-configured template |
US8661498B2 (en) | 2002-09-18 | 2014-02-25 | Symantec Corporation | Secure and scalable detection of preselected data embedded in electronically transmitted messages |
US7886359B2 (en) | 2002-09-18 | 2011-02-08 | Symantec Corporation | Method and apparatus to report policy violations in messages |
US8315972B2 (en) * | 2003-09-26 | 2012-11-20 | Microsoft Corporation | Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema |
US20080288889A1 (en) * | 2004-02-20 | 2008-11-20 | Herbert Dennis Hunt | Data visualization application |
US10325272B2 (en) * | 2004-02-20 | 2019-06-18 | Information Resources, Inc. | Bias reduction using data fusion of household panel data and transaction data |
US7949639B2 (en) * | 2004-02-20 | 2011-05-24 | Symphonyiri Group, Inc. | Attribute segments and data table bias reduction |
US10713301B2 (en) | 2004-04-26 | 2020-07-14 | Right90, Inc. | Flexible baselines in an operating plan data aggregation system |
US20050289163A1 (en) * | 2004-06-03 | 2005-12-29 | Eric Gordon | Occasion for media objects |
US20080167916A1 (en) * | 2004-06-14 | 2008-07-10 | Symphonyrpm, Inc. | Decision object for associating a plurality of business plans |
US7840449B2 (en) * | 2004-09-07 | 2010-11-23 | International Business Machines Corporation | Total inventory management |
US7529721B2 (en) * | 2005-07-08 | 2009-05-05 | Brainlike, Inc. | Efficient processing in an auto-adaptive network |
US7877337B2 (en) * | 2006-10-10 | 2011-01-25 | Brainlike, Inc. | Auto-adaptive network for sensor data processing and forecasting |
US8229879B2 (en) * | 2005-07-08 | 2012-07-24 | Brainlike, Inc. | System and method for auto-adaptive network |
US8935379B1 (en) * | 2005-09-07 | 2015-01-13 | Reversevision, Inc. | Methods, systems, and products for evaluating electronic data and electronic forms |
US8207851B2 (en) * | 2006-08-16 | 2012-06-26 | James Christopher | System and method for tracking shopping behavior |
US8131580B2 (en) * | 2006-10-04 | 2012-03-06 | Salesforce.Com, Inc. | Method and system for load balancing a sales forecast system by selecting a synchronous or asynchronous process based on a type of an event affecting the sales forecast |
US8160984B2 (en) | 2007-01-26 | 2012-04-17 | Symphonyiri Group, Inc. | Similarity matching of a competitor's products |
US20090006309A1 (en) * | 2007-01-26 | 2009-01-01 | Herbert Dennis Hunt | Cluster processing of an aggregated dataset |
US20080294372A1 (en) * | 2007-01-26 | 2008-11-27 | Herbert Dennis Hunt | Projection facility within an analytic platform |
EP2111593A2 (en) * | 2007-01-26 | 2009-10-28 | Information Resources, Inc. | Analytic platform |
US9262503B2 (en) * | 2007-01-26 | 2016-02-16 | Information Resources, Inc. | Similarity matching of products based on multiple classification schemes |
US8504598B2 (en) | 2007-01-26 | 2013-08-06 | Information Resources, Inc. | Data perturbation of non-unique values |
US20080294996A1 (en) * | 2007-01-31 | 2008-11-27 | Herbert Dennis Hunt | Customized retailer portal within an analytic platform |
US8930331B2 (en) | 2007-02-21 | 2015-01-06 | Palantir Technologies | Providing unique views of data based on changes or rules |
US8977631B2 (en) * | 2007-04-16 | 2015-03-10 | Ebay Inc. | Visualization of reputation ratings |
US8315990B2 (en) * | 2007-11-08 | 2012-11-20 | Microsoft Corporation | Consistency sensitive streaming operators |
AU2011253627B2 (en) * | 2008-01-31 | 2014-04-03 | The Nielsen Company (Us), Llc | Methods and apparatus to generate smart text |
AU2009212733B2 (en) * | 2008-01-31 | 2011-08-25 | Nielsen Consumer Llc | Methods and apparatus to generate smart text |
US9830366B2 (en) * | 2008-03-22 | 2017-11-28 | Thomson Reuters Global Resources | Online analytic processing cube with time stamping |
US7996374B1 (en) | 2008-03-28 | 2011-08-09 | Symantec Corporation | Method and apparatus for automatically correlating related incidents of policy violations |
CA2724979A1 (en) * | 2008-05-20 | 2009-11-26 | Brainlike, Inc. | Auto-adaptive network |
US20100076935A1 (en) * | 2008-09-09 | 2010-03-25 | Ahmir Hussain | Method, system, and computer for analytical reporting and archiving of data |
US9047479B1 (en) | 2008-09-12 | 2015-06-02 | Salesforce.Com, Inc. | System, method and computer program product for providing a team object in association with an object |
US8984390B2 (en) | 2008-09-15 | 2015-03-17 | Palantir Technologies, Inc. | One-click sharing for screenshots and related documents |
US8826443B1 (en) | 2008-09-18 | 2014-09-02 | Symantec Corporation | Selective removal of protected content from web requests sent to an interactive website |
US20100088325A1 (en) | 2008-10-07 | 2010-04-08 | Microsoft Corporation | Streaming Queries |
US20100241533A1 (en) * | 2009-03-23 | 2010-09-23 | Li Ho | Tax data validity documentation |
US8935752B1 (en) * | 2009-03-23 | 2015-01-13 | Symantec Corporation | System and method for identity consolidation |
US8380582B2 (en) * | 2009-08-12 | 2013-02-19 | Google Inc. | Annotating content |
US9158816B2 (en) | 2009-10-21 | 2015-10-13 | Microsoft Technology Licensing, Llc | Event processing with XML query based on reusable XML query template |
US8413169B2 (en) * | 2009-10-21 | 2013-04-02 | Microsoft Corporation | Time-based event processing using punctuation events |
EP2556470A4 (en) * | 2010-04-06 | 2014-07-16 | Right 90 Inc | Trust rating metric for future event prediction of an outcome |
US20110307300A1 (en) * | 2010-05-11 | 2011-12-15 | Npa Vision, Inc. | Method and system for identifying and then probabalistically projecting and aggregating difficult-to-predict industry operating statistics |
US20120053964A1 (en) * | 2010-08-30 | 2012-03-01 | Williams Sarah A | Systems and methods for online insurance financial planning |
US9083561B2 (en) * | 2010-10-06 | 2015-07-14 | At&T Intellectual Property I, L.P. | Automated assistance for customer care chats |
US8510284B2 (en) | 2010-12-20 | 2013-08-13 | Microsoft Corporation | Large-scale event evaluation using realtime processors |
US9626348B2 (en) * | 2011-03-11 | 2017-04-18 | Microsoft Technology Licensing, Llc | Aggregating document annotations |
US9336493B2 (en) * | 2011-06-06 | 2016-05-10 | Sas Institute Inc. | Systems and methods for clustering time series data based on forecast distributions |
CN102831116A (en) * | 2011-06-14 | 2012-12-19 | 国际商业机器公司 | Method and system for document clustering |
US8799240B2 (en) | 2011-06-23 | 2014-08-05 | Palantir Technologies, Inc. | System and method for investigating large amounts of data |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US9547693B1 (en) | 2011-06-23 | 2017-01-17 | Palantir Technologies Inc. | Periodic database search manager for multiple data sources |
US8732574B2 (en) | 2011-08-25 | 2014-05-20 | Palantir Technologies, Inc. | System and method for parameterizing documents for automatic workflow generation |
US8504542B2 (en) | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
JP6046409B2 (en) * | 2012-07-31 | 2016-12-14 | 株式会社日立システムズ | Predictive value evaluation support system |
US10289972B1 (en) * | 2012-08-28 | 2019-05-14 | Jda Software Group, Inc. | System and method for real-time multi-facet interactive planning |
US8768809B1 (en) | 2012-09-06 | 2014-07-01 | Citibank, N.A. | Methods and systems for managing financial data |
US9348677B2 (en) | 2012-10-22 | 2016-05-24 | Palantir Technologies Inc. | System and method for batch evaluation programs |
US9380431B1 (en) | 2013-01-31 | 2016-06-28 | Palantir Technologies, Inc. | Use of teams in a mobile application |
US9646072B2 (en) * | 2013-03-03 | 2017-05-09 | Panorama Software Inc. | Multidimensional dataset query processing |
US10037314B2 (en) | 2013-03-14 | 2018-07-31 | Palantir Technologies, Inc. | Mobile reports |
US9965937B2 (en) | 2013-03-15 | 2018-05-08 | Palantir Technologies Inc. | External malware data item clustering and analysis |
US8937619B2 (en) | 2013-03-15 | 2015-01-20 | Palantir Technologies Inc. | Generating an object time series from data objects |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
US10275778B1 (en) | 2013-03-15 | 2019-04-30 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures |
US8917274B2 (en) | 2013-03-15 | 2014-12-23 | Palantir Technologies Inc. | Event matrix based on integrated data |
US8788405B1 (en) | 2013-03-15 | 2014-07-22 | Palantir Technologies, Inc. | Generating data clusters with customizable analysis strategies |
US8868486B2 (en) * | 2013-03-15 | 2014-10-21 | Palantir Technologies Inc. | Time-sensitive cube |
US8799799B1 (en) | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
US9852160B1 (en) * | 2013-05-30 | 2017-12-26 | Amazon Technologies, Inc. | Optimizing computational data systems |
US9223773B2 (en) | 2013-08-08 | 2015-12-29 | Palatir Technologies Inc. | Template system for custom document generation |
US9335897B2 (en) | 2013-08-08 | 2016-05-10 | Palantir Technologies Inc. | Long click display of a context menu |
US8713467B1 (en) | 2013-08-09 | 2014-04-29 | Palantir Technologies, Inc. | Context-sensitive views |
US9785317B2 (en) | 2013-09-24 | 2017-10-10 | Palantir Technologies Inc. | Presentation and analysis of user interaction data |
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 |
US8924872B1 (en) | 2013-10-18 | 2014-12-30 | Palantir Technologies Inc. | Overview user interface of emergency call data of a law enforcement agency |
US9116975B2 (en) | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores |
US9021384B1 (en) | 2013-11-04 | 2015-04-28 | Palantir Technologies Inc. | Interactive vehicle information map |
US8868537B1 (en) | 2013-11-11 | 2014-10-21 | Palantir Technologies, Inc. | Simple web search |
WO2015073660A1 (en) * | 2013-11-14 | 2015-05-21 | Forecast International Inc. | Market forecasting |
US9105000B1 (en) | 2013-12-10 | 2015-08-11 | Palantir Technologies Inc. | Aggregating data from a plurality of data sources |
US9734217B2 (en) | 2013-12-16 | 2017-08-15 | Palantir Technologies Inc. | Methods and systems for analyzing entity performance |
US9552615B2 (en) | 2013-12-20 | 2017-01-24 | Palantir Technologies Inc. | Automated database analysis to detect malfeasance |
US10356032B2 (en) | 2013-12-26 | 2019-07-16 | Palantir Technologies Inc. | System and method for detecting confidential information emails |
US8832832B1 (en) | 2014-01-03 | 2014-09-09 | Palantir Technologies Inc. | IP reputation |
US9043696B1 (en) | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations |
US9009827B1 (en) | 2014-02-20 | 2015-04-14 | Palantir Technologies Inc. | Security sharing system |
US9483162B2 (en) | 2014-02-20 | 2016-11-01 | Palantir Technologies Inc. | Relationship visualizations |
US9727376B1 (en) | 2014-03-04 | 2017-08-08 | Palantir Technologies, Inc. | Mobile tasks |
US20170032016A1 (en) | 2014-03-07 | 2017-02-02 | SYSTEMA Systementwicklung Dip. -inf. Manfred Austen GmbH | Real-time information systems and methodology based on continuous homomorphic processing in linear information spaces |
US8924429B1 (en) | 2014-03-18 | 2014-12-30 | Palantir Technologies Inc. | Determining and extracting changed data from a data source |
US9857958B2 (en) | 2014-04-28 | 2018-01-02 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases |
US9009171B1 (en) | 2014-05-02 | 2015-04-14 | Palantir Technologies Inc. | Systems and methods for active column filtering |
US9535974B1 (en) | 2014-06-30 | 2017-01-03 | Palantir Technologies Inc. | Systems and methods for identifying key phrase clusters within documents |
US9619557B2 (en) | 2014-06-30 | 2017-04-11 | Palantir Technologies, Inc. | Systems and methods for key phrase characterization of documents |
US10572496B1 (en) | 2014-07-03 | 2020-02-25 | Palantir Technologies Inc. | Distributed workflow system and database with access controls for city resiliency |
US9021260B1 (en) | 2014-07-03 | 2015-04-28 | Palantir Technologies Inc. | Malware data item analysis |
US9785773B2 (en) | 2014-07-03 | 2017-10-10 | Palantir Technologies Inc. | Malware data item analysis |
US9202249B1 (en) | 2014-07-03 | 2015-12-01 | Palantir Technologies Inc. | Data item clustering and analysis |
US9256664B2 (en) | 2014-07-03 | 2016-02-09 | Palantir Technologies Inc. | System and method for news events detection and visualization |
US9454281B2 (en) | 2014-09-03 | 2016-09-27 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US9767172B2 (en) | 2014-10-03 | 2017-09-19 | Palantir Technologies Inc. | Data aggregation and analysis system |
US9501851B2 (en) | 2014-10-03 | 2016-11-22 | Palantir Technologies Inc. | Time-series analysis system |
US9785328B2 (en) | 2014-10-06 | 2017-10-10 | Palantir Technologies Inc. | Presentation of multivariate data on a graphical user interface of a computing system |
US9984133B2 (en) | 2014-10-16 | 2018-05-29 | Palantir Technologies Inc. | Schematic and database linking system |
EP3015984A1 (en) * | 2014-10-29 | 2016-05-04 | Hewlett-Packard Development Company, L.P. | Providing data from data sources |
US9229952B1 (en) | 2014-11-05 | 2016-01-05 | Palantir Technologies, Inc. | History preserving data pipeline system and method |
US9043894B1 (en) | 2014-11-06 | 2015-05-26 | Palantir Technologies Inc. | Malicious software detection in a computing system |
US9747636B2 (en) | 2014-12-08 | 2017-08-29 | Bank Of America Corporation | Enhancing information security using an information passport dashboard |
US9367872B1 (en) | 2014-12-22 | 2016-06-14 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures |
US10552994B2 (en) | 2014-12-22 | 2020-02-04 | Palantir Technologies Inc. | Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items |
US9348920B1 (en) | 2014-12-22 | 2016-05-24 | Palantir Technologies Inc. | Concept indexing among database of documents using machine learning techniques |
US10362133B1 (en) | 2014-12-22 | 2019-07-23 | Palantir Technologies Inc. | Communication data processing architecture |
US9870205B1 (en) | 2014-12-29 | 2018-01-16 | Palantir Technologies Inc. | Storing logical units of program code generated using a dynamic programming notebook user interface |
US9817563B1 (en) | 2014-12-29 | 2017-11-14 | Palantir Technologies Inc. | System and method of generating data points from one or more data stores of data items for chart creation and manipulation |
US9335911B1 (en) | 2014-12-29 | 2016-05-10 | Palantir Technologies Inc. | Interactive user interface for dynamic data analysis exploration and query processing |
US10372879B2 (en) | 2014-12-31 | 2019-08-06 | Palantir Technologies Inc. | Medical claims lead summary report generation |
US10387834B2 (en) | 2015-01-21 | 2019-08-20 | Palantir Technologies Inc. | Systems and methods for accessing and storing snapshots of a remote application in a document |
US9727560B2 (en) | 2015-02-25 | 2017-08-08 | Palantir Technologies Inc. | Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags |
EP3070622A1 (en) | 2015-03-16 | 2016-09-21 | Palantir Technologies, Inc. | Interactive user interfaces for location-based data analysis |
US9886467B2 (en) | 2015-03-19 | 2018-02-06 | Plantir Technologies Inc. | System and method for comparing and visualizing data entities and data entity series |
US10043162B1 (en) | 2015-03-31 | 2018-08-07 | Square, Inc. | Open ticket payment handling with bill splitting |
US10528945B1 (en) | 2015-03-31 | 2020-01-07 | Square, Inc. | Open ticket payment handling with incremental authorization |
US10699233B1 (en) * | 2015-07-22 | 2020-06-30 | Wells Fargo Bank, N.A. | Dynamic prediction modeling |
US9454785B1 (en) | 2015-07-30 | 2016-09-27 | Palantir Technologies Inc. | Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data |
US9996595B2 (en) | 2015-08-03 | 2018-06-12 | Palantir Technologies, Inc. | Providing full data provenance visualization for versioned datasets |
US9456000B1 (en) | 2015-08-06 | 2016-09-27 | Palantir Technologies Inc. | Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications |
US9600146B2 (en) | 2015-08-17 | 2017-03-21 | Palantir Technologies Inc. | Interactive geospatial map |
US10489391B1 (en) | 2015-08-17 | 2019-11-26 | Palantir Technologies Inc. | Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface |
US10102369B2 (en) | 2015-08-19 | 2018-10-16 | Palantir Technologies Inc. | Checkout system executable code monitoring, and user account compromise determination system |
US10853378B1 (en) | 2015-08-25 | 2020-12-01 | Palantir Technologies Inc. | Electronic note management via a connected entity graph |
US11150917B2 (en) | 2015-08-26 | 2021-10-19 | Palantir Technologies Inc. | System for data aggregation and analysis of data from a plurality of data sources |
US9485265B1 (en) | 2015-08-28 | 2016-11-01 | Palantir Technologies Inc. | Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces |
US10706434B1 (en) | 2015-09-01 | 2020-07-07 | Palantir Technologies Inc. | Methods and systems for determining location information |
US9576015B1 (en) | 2015-09-09 | 2017-02-21 | Palantir Technologies, Inc. | Domain-specific language for dataset transformations |
US9569757B1 (en) * | 2015-09-30 | 2017-02-14 | Square, Inc. | Anticipatory creation of point-of-sale data structures |
US10296617B1 (en) | 2015-10-05 | 2019-05-21 | Palantir Technologies Inc. | Searches of highly structured data |
US9542446B1 (en) | 2015-12-17 | 2017-01-10 | Palantir Technologies, Inc. | Automatic generation of composite datasets based on hierarchical fields |
US10089289B2 (en) | 2015-12-29 | 2018-10-02 | Palantir Technologies Inc. | Real-time document annotation |
US9823818B1 (en) | 2015-12-29 | 2017-11-21 | Palantir Technologies Inc. | Systems and interactive user interfaces for automatic generation of temporal representation of data objects |
US9612723B1 (en) | 2015-12-30 | 2017-04-04 | Palantir Technologies Inc. | Composite graphical interface with shareable data-objects |
US10698938B2 (en) | 2016-03-18 | 2020-06-30 | Palantir Technologies Inc. | Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags |
US10311420B1 (en) | 2016-06-17 | 2019-06-04 | Square, Inc. | Synchronizing open ticket functionality with kitchen display systems |
US10580062B1 (en) | 2016-06-28 | 2020-03-03 | Square, Inc. | Integrating predefined templates with open ticket functionality |
US10719188B2 (en) | 2016-07-21 | 2020-07-21 | Palantir Technologies Inc. | Cached database and synchronization system for providing dynamic linked panels in user interface |
US10324609B2 (en) | 2016-07-21 | 2019-06-18 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US10437840B1 (en) | 2016-08-19 | 2019-10-08 | Palantir Technologies Inc. | Focused probabilistic entity resolution from multiple data sources |
US10318630B1 (en) | 2016-11-21 | 2019-06-11 | Palantir Technologies Inc. | Analysis of large bodies of textual data |
US10460602B1 (en) | 2016-12-28 | 2019-10-29 | Palantir Technologies Inc. | Interactive vehicle information mapping system |
CN107423315B (en) * | 2017-03-23 | 2018-11-06 | 广东南方新视界传媒科技有限公司 | A kind of the excavation processing method and system of outdoor media resource data |
US10956406B2 (en) | 2017-06-12 | 2021-03-23 | Palantir Technologies Inc. | Propagated deletion of database records and derived data |
US10403011B1 (en) | 2017-07-18 | 2019-09-03 | Palantir Technologies Inc. | Passing system with an interactive user interface |
US10616357B2 (en) * | 2017-08-24 | 2020-04-07 | Bank Of America Corporation | Event tracking and notification based on sensed data |
US10467559B1 (en) | 2017-09-29 | 2019-11-05 | Square, Inc. | Order fulfillment and tracking systems and methods |
US10943311B1 (en) | 2017-09-29 | 2021-03-09 | Square, Inc. | Order fulfillment and tracking systems and methods |
US11599369B1 (en) | 2018-03-08 | 2023-03-07 | Palantir Technologies Inc. | Graphical user interface configuration system |
US10693709B2 (en) * | 2018-03-28 | 2020-06-23 | Salesforce.Com, Inc. | Processing gap events in a change detection management system |
US10754822B1 (en) | 2018-04-18 | 2020-08-25 | Palantir Technologies Inc. | Systems and methods for ontology migration |
US10885021B1 (en) | 2018-05-02 | 2021-01-05 | Palantir Technologies Inc. | Interactive interpreter and graphical user interface |
US11119630B1 (en) | 2018-06-19 | 2021-09-14 | Palantir Technologies Inc. | Artificial intelligence assisted evaluations and user interface for same |
WO2020077450A1 (en) * | 2018-10-16 | 2020-04-23 | Slick, Iterative Design Corp. | Cash management platform |
US11138680B1 (en) | 2018-11-21 | 2021-10-05 | Square, Inc. | Updating menus based on predicted efficiencies |
US10915905B1 (en) | 2018-12-13 | 2021-02-09 | Square, Inc. | Batch-processing transactions in response to an event |
RU2715290C1 (en) * | 2019-03-12 | 2020-02-26 | Алексей Сергеевич Марталов | Digital system for updating of industry standards |
US11726995B2 (en) | 2019-12-17 | 2023-08-15 | Hewlett Packard Enterprise Development Lp | System and method for value pack generation using generic SQL plugin for unified console |
US11544290B2 (en) * | 2020-01-13 | 2023-01-03 | International Business Machines Corporation | Intelligent data distribution and replication using observed data access patterns |
US20220108254A1 (en) * | 2020-10-07 | 2022-04-07 | Richard Lightbown | System and Method for Measuring Service Performance |
AU2021374230A1 (en) * | 2020-11-06 | 2023-06-22 | Access Software Australia Pty Ltd | Forecasting system |
KR102522677B1 (en) * | 2020-11-17 | 2023-04-17 | 에스케이스토아 주식회사 | Data analysis server, method of calculating an real-time expected sales degree for commerce content during transmission and computer program |
US11641371B2 (en) * | 2021-02-17 | 2023-05-02 | Saudi Arabian Oil Company | Systems, methods and computer-readable media for monitoring a computer network for threats using OLAP cubes |
US11734247B2 (en) | 2021-04-08 | 2023-08-22 | Hartford Fire Insurance Company | System and method providing query tool for enterprise resource data |
Family Cites Families (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5712985A (en) * | 1989-09-12 | 1998-01-27 | Lee; Michael D. | System and method for estimating business demand based on business influences |
US5873097A (en) * | 1993-05-12 | 1999-02-16 | Apple Computer, Inc. | Update mechanism for computer storage container manager |
US6092090A (en) | 1996-01-11 | 2000-07-18 | Bhp Minerals International Inc. | Management system for documents stored electronically |
US5819232A (en) * | 1996-03-22 | 1998-10-06 | E. I. Du Pont De Nemours And Company | Method and apparatus for inventory control of a manufacturing or distribution process |
US5920854A (en) | 1996-08-14 | 1999-07-06 | Infoseek Corporation | Real-time document collection search engine with phrase indexing |
US5926820A (en) * | 1997-02-27 | 1999-07-20 | International Business Machines Corporation | Method and system for performing range max/min queries on a data cube |
US6094651A (en) * | 1997-08-22 | 2000-07-25 | International Business Machines Corporation | Discovery-driven exploration of OLAP data cubes |
US6108647A (en) * | 1998-05-21 | 2000-08-22 | Lucent Technologies, Inc. | Method, apparatus and programmed medium for approximating the data cube and obtaining approximate answers to queries in relational databases |
US20010013004A1 (en) | 1998-11-03 | 2001-08-09 | Jordan Haris | Brand resource management system |
US6920464B2 (en) * | 1998-12-03 | 2005-07-19 | Grantley Patent Holdings, Ltd. | System for generating an advertising revenue projection |
US6741980B1 (en) * | 1999-03-23 | 2004-05-25 | Microstrategy Inc. | System and method for automatic, real-time delivery of personalized informational and transactional data to users via content delivery device |
JP2000330838A (en) * | 1999-05-19 | 2000-11-30 | Nec Software Kansai Ltd | Data registration system and method in data warehouse system and storage medium |
US6366905B1 (en) * | 1999-06-22 | 2002-04-02 | Microsoft Corporation | Aggregations design in database services |
US6430565B1 (en) * | 1999-06-22 | 2002-08-06 | Microsoft Corporation | Path compression for records of multidimensional database |
US6408292B1 (en) | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
US6385604B1 (en) * | 1999-08-04 | 2002-05-07 | Hyperroll, Israel Limited | Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements |
US7003560B1 (en) * | 1999-11-03 | 2006-02-21 | Accenture Llp | Data warehouse computing system |
US6766325B1 (en) | 1999-12-02 | 2004-07-20 | Microsoft Corporation | System and method for maintaining data for performing “what if” analysis |
US6801906B1 (en) * | 2000-01-11 | 2004-10-05 | International Business Machines Corporation | Method and apparatus for finding information on the internet |
US6671715B1 (en) | 2000-01-21 | 2003-12-30 | Microstrategy, Inc. | System and method for automatic, real-time delivery of personalized informational and transactional data to users via high throughput content delivery device |
JP2001216307A (en) * | 2000-01-31 | 2001-08-10 | Teijin Ltd | Relational database management system and storage medium stored with same |
US6317685B1 (en) * | 2000-03-13 | 2001-11-13 | Navigation Technologies Corp. | Method and system for providing alternate routes with a navigation system |
WO2001091001A2 (en) * | 2000-05-19 | 2001-11-29 | Manugistic Atlanta, Inc. | Dynamic pricing system |
US6317686B1 (en) | 2000-07-21 | 2001-11-13 | Bin Ran | Method of providing travel time |
US6629102B1 (en) | 2000-07-28 | 2003-09-30 | International Business Machines Corporation | Efficiently updating a key table during outline restructure of a multi-dimensional database |
US20030036944A1 (en) * | 2000-10-11 | 2003-02-20 | Lesandrini Jay William | Extensible business method with advertisement research as an example |
US20020065697A1 (en) * | 2000-11-09 | 2002-05-30 | Cautley Paul C.R. | Method and apparatus for project evaluation, approval and monitoring |
US20020143604A1 (en) * | 2001-02-02 | 2002-10-03 | Wisconsin Alumni Research Foundation | Method for forecasting the effects of trade policies and supply and demand conditions on the world dairy sector |
US6643635B2 (en) * | 2001-03-15 | 2003-11-04 | Sagemetrics Corporation | Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources |
US20030050809A1 (en) * | 2001-03-23 | 2003-03-13 | Hoffman George Harry | System, method and computer program product for providing real-time feedback on the accuracy of forecasting in a supply chain management architecture |
US7065566B2 (en) | 2001-03-30 | 2006-06-20 | Tonic Software, Inc. | System and method for business systems transactions and infrastructure management |
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 |
US6901536B2 (en) * | 2001-05-24 | 2005-05-31 | Microsoft Corporation | Service quality monitoring system and method |
US20020178077A1 (en) | 2001-05-25 | 2002-11-28 | Katz Steven Bruce | Method for automatically invoking a software module in response to an internal or external event affecting the procurement of an item |
US20030033179A1 (en) * | 2001-08-09 | 2003-02-13 | Katz Steven Bruce | Method for generating customized alerts related to the procurement, sourcing, strategic sourcing and/or sale of one or more items by an enterprise |
US7526425B2 (en) | 2001-08-14 | 2009-04-28 | Evri Inc. | Method and system for extending keyword searching to syntactically and semantically annotated data |
US20030046130A1 (en) | 2001-08-24 | 2003-03-06 | Golightly Robert S. | System and method for real-time enterprise optimization |
US7039622B2 (en) | 2001-09-12 | 2006-05-02 | Sas Institute Inc. | Computer-implemented knowledge repository interface system and method |
US7590554B2 (en) * | 2001-10-11 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | System and method for forecasting uncertain events with adjustments for participants characteristics |
US6965886B2 (en) * | 2001-11-01 | 2005-11-15 | Actimize Ltd. | System and method for analyzing and utilizing data, by executing complex analytical models in real time |
US7062479B2 (en) * | 2001-11-02 | 2006-06-13 | Cognos Incorporated | Calculation engine for use in OLAP environments |
JP2003150594A (en) * | 2001-11-12 | 2003-05-23 | Hitachi Ltd | Data warehouse system |
US8108249B2 (en) * | 2001-12-04 | 2012-01-31 | Kimberly-Clark Worldwide, Inc. | Business planner |
US7035877B2 (en) | 2001-12-28 | 2006-04-25 | Kimberly-Clark Worldwide, Inc. | Quality management and intelligent manufacturing with labels and smart tags in event-based product manufacturing |
US20030130884A1 (en) | 2002-01-09 | 2003-07-10 | Gerald Michaluk | Strategic business planning method |
AU2002367058A1 (en) * | 2002-01-11 | 2003-07-30 | Ims Health Incorporated | Method and system for rapidly projecting and forecasting pharmaceutical market information |
AU2003205166A1 (en) | 2002-01-14 | 2003-07-30 | Jerzy Lewak | Identifier vocabulary data access method and system |
US6980980B1 (en) * | 2002-01-16 | 2005-12-27 | Microsoft Corporation | Summary-detail cube architecture using horizontal partitioning of dimensions |
US7370001B2 (en) | 2002-02-12 | 2008-05-06 | Delta Airlines, Inc. | Method and system of forecasting unscheduled component demand |
US9087319B2 (en) | 2002-03-11 | 2015-07-21 | Oracle America, Inc. | System and method for designing, developing and implementing internet service provider architectures |
US6898608B2 (en) * | 2002-04-26 | 2005-05-24 | Oracle International Corporation | Techniques for managing what-if analysis of data managed by a relational database system |
AU2003237135A1 (en) | 2002-04-30 | 2003-11-17 | Veridiem Inc. | Marketing optimization system |
US7281013B2 (en) | 2002-06-03 | 2007-10-09 | Microsoft Corporation | Workload analysis tool for relational databases |
US20040128202A1 (en) * | 2002-07-12 | 2004-07-01 | Baum Martin L. | Forecasting system and method |
US7260513B2 (en) | 2002-07-19 | 2007-08-21 | Microsoft Corporation | System and method for analytically modeling data from different measure groups onto a single cube |
US7272660B1 (en) * | 2002-09-06 | 2007-09-18 | Oracle International Corporation | Architecture for general purpose near real-time business intelligence system and methods therefor |
US6768995B2 (en) * | 2002-09-30 | 2004-07-27 | Adaytum, Inc. | Real-time aggregation of data within an enterprise planning environment |
US20040078257A1 (en) | 2002-10-21 | 2004-04-22 | Laborsage, Inc. | Labor and resource scheduling system |
US7584116B2 (en) * | 2002-11-04 | 2009-09-01 | Hewlett-Packard Development Company, L.P. | Monitoring a demand forecasting process |
US7797182B2 (en) | 2002-12-31 | 2010-09-14 | Siebel Systems, Inc. | Method and apparatus for improved forecasting using multiple sources |
US20040138935A1 (en) * | 2003-01-09 | 2004-07-15 | Johnson Christopher D. | Visualizing business analysis results |
US20040138934A1 (en) * | 2003-01-09 | 2004-07-15 | General Electric Company | Controlling a business using a business information and decisioning control system |
US20040138936A1 (en) * | 2003-01-09 | 2004-07-15 | Johnson Christopher D. | Performing what-if forecasts using a business information and decisioning control system |
US20040138932A1 (en) * | 2003-01-09 | 2004-07-15 | Johnson Christopher D. | Generating business analysis results in advance of a request for the results |
US20040162768A1 (en) * | 2003-01-31 | 2004-08-19 | Snyder Aaron Francis | System architecture for a vendor management inventory solution |
US20060168006A1 (en) | 2003-03-24 | 2006-07-27 | Mr. Marvin Shannon | System and method for the classification of electronic communication |
US7269581B2 (en) * | 2003-03-28 | 2007-09-11 | Microsoft Corporation | Systems and methods for proactive caching utilizing OLAP variants |
US7831693B2 (en) | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
WO2005024669A1 (en) * | 2003-09-04 | 2005-03-17 | Oracle International Corporation | Self-managing database architecture |
US7149736B2 (en) * | 2003-09-26 | 2006-12-12 | Microsoft Corporation | Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions |
US7805383B2 (en) * | 2004-03-08 | 2010-09-28 | Sap Ag | Price planning system and method including automated price adjustment, manual price adjustment, and promotion management |
US10713301B2 (en) * | 2004-04-26 | 2020-07-14 | Right90, Inc. | Flexible baselines in an operating plan data aggregation system |
US7647356B2 (en) * | 2004-05-07 | 2010-01-12 | Oracle International Corporation | Methods and apparatus for facilitating analysis of large data sets |
US7765549B1 (en) * | 2004-06-30 | 2010-07-27 | Affiliated Computer Services, Inc. | Distributing batches of items in a workflow |
US20060004885A1 (en) * | 2004-06-30 | 2006-01-05 | Oracle International Corporation | Multiple writer support in an OLAP environment |
US7752077B2 (en) | 2005-01-21 | 2010-07-06 | Amazon Technologies, Inc. | Method and system for automated comparison of items |
US7497370B2 (en) * | 2005-01-27 | 2009-03-03 | Microsoft Corporation | Supply chain visibility solution architecture |
US7805382B2 (en) * | 2005-04-11 | 2010-09-28 | Mkt10, Inc. | Match-based employment system and method |
CA2636059A1 (en) | 2006-01-25 | 2007-08-02 | Speedtrack, Inc. | Data access using multilevel selectors and contextual assistance |
US7793292B2 (en) * | 2006-09-13 | 2010-09-07 | Fisher-Rosemount Systems, Inc. | Compact batch viewing techniques for use in batch processes |
US7966343B2 (en) | 2008-04-07 | 2011-06-21 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible data structures |
US8866816B2 (en) * | 2008-06-20 | 2014-10-21 | New Bis Safe Luxco S.A R.L | Dimension reducing visual representation method |
WO2009156000A1 (en) * | 2008-06-25 | 2009-12-30 | Tomtom International B.V. | Navigation apparatus and method of detection that a parking facility is sought |
US20110184995A1 (en) * | 2008-11-15 | 2011-07-28 | Andrew John Cardno | method of optimizing a tree structure for graphical representation |
WO2010064939A1 (en) * | 2008-12-05 | 2010-06-10 | Business Intelligence Solutions Safe B.V. | Methods, apparatus and systems for data visualization and related applications |
US20100287146A1 (en) | 2009-05-11 | 2010-11-11 | Dean Skelton | System and method for change analytics based forecast and query optimization and impact identification in a variance-based forecasting system with visualization |
US20120158447A1 (en) * | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Pricing batch computing jobs at data centers |
US8938453B2 (en) | 2011-07-19 | 2015-01-20 | Speedtrack, Inc. | Item counting in guided information access systems |
US9569060B2 (en) * | 2012-07-25 | 2017-02-14 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for composing and batch publishing feed items in a feed-based interaction context |
US9501585B1 (en) * | 2013-06-13 | 2016-11-22 | DataRPM Corporation | Methods and system for providing real-time business intelligence using search-based analytics engine |
US11221865B2 (en) * | 2018-07-31 | 2022-01-11 | Nutanix, Inc. | Batch management of operations over virtualized entities |
-
2005
- 2005-04-26 US US11/116,129 patent/US10713301B2/en active Active
- 2005-04-26 US US11/116,143 patent/US7447718B2/en active Active
- 2005-04-26 EP EP05742949A patent/EP1769433A4/en not_active Ceased
- 2005-04-26 JP JP2007510910A patent/JP2007535764A/en active Pending
- 2005-04-26 US US11/116,123 patent/US9940374B2/en active Active
- 2005-04-26 WO PCT/US2005/014363 patent/WO2005104736A2/en active Application Filing
- 2005-04-26 CA CA 2564754 patent/CA2564754A1/en not_active Abandoned
- 2005-04-26 US US11/115,970 patent/US7558784B2/en active Active
- 2005-04-26 US US11/116,125 patent/US8086607B2/en active Active
- 2005-04-26 SG SG200717236-4A patent/SG136964A1/en unknown
-
2008
- 2008-11-03 US US12/264,123 patent/US9026487B2/en active Active
-
2011
- 2011-12-20 US US13/332,053 patent/US8892559B2/en active Active
- 2011-12-22 US US13/334,380 patent/US20120158458A1/en not_active Abandoned
-
2012
- 2012-02-14 JP JP2012029967A patent/JP2012164318A/en active Pending
-
2014
- 2014-11-03 US US14/531,592 patent/US10229176B2/en active Active
-
2015
- 2015-02-18 US US14/625,083 patent/US9600549B2/en active Active
-
2017
- 2017-02-14 US US15/432,673 patent/US10074137B2/en active Active
-
2018
- 2018-03-23 US US15/933,870 patent/US10452720B2/en active Active
- 2018-09-10 US US16/125,987 patent/US11120084B2/en active Active
-
2019
- 2019-02-06 US US16/268,649 patent/US11651035B2/en active Active
- 2019-09-24 US US16/581,069 patent/US10795941B2/en active Active
-
2020
- 2020-06-05 US US16/894,662 patent/US11636156B2/en active Active
- 2020-08-31 US US17/008,600 patent/US11379531B2/en active Active
-
2021
- 2021-08-17 US US17/404,737 patent/US11797613B2/en active Active
-
2022
- 2022-03-15 US US17/694,668 patent/US11822607B2/en active Active
-
2023
- 2023-03-22 US US18/188,441 patent/US20240152555A1/en active Pending
- 2023-04-05 US US18/296,064 patent/US12038978B2/en active Active
- 2023-09-01 US US18/460,184 patent/US20230409641A1/en active Pending
- 2023-10-25 US US18/494,151 patent/US20240054161A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902259B1 (en) * | 2009-12-29 | 2014-12-02 | Google Inc. | Finger-friendly content selection interface |
US10726060B1 (en) * | 2015-06-24 | 2020-07-28 | Amazon Technologies, Inc. | Classification accuracy estimation |
WO2019070953A1 (en) * | 2017-10-04 | 2019-04-11 | Walmart Apollo, Llc | Perishable product conservation system |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5878400A (en) | Method and apparatus for pricing products in multi-level product and organizational groups | |
US20120158458A1 (en) | Method And Apparatus For Pricing Products In Multi-Level Product And Organizational Groups | |
US6337901B1 (en) | Customer billing relationships software | |
US7882025B1 (en) | Systems and methods of a mortgage pricing service | |
US7933806B2 (en) | Online product exchange system with price-sorted matching products | |
US20170186033A1 (en) | Automatically prescribing total budget for marketing and sales resources and allocation across spending categories | |
US20090171721A1 (en) | Bidding system for search engine marketing | |
US20150356598A1 (en) | Automatically prescribing total budget for marketing and sales resources and allocation across spending categories | |
US8255320B1 (en) | Systems and methods of a mortgage pricing service | |
US20050071249A1 (en) | E-commerce repricing system | |
US20050216359A1 (en) | Method of and system for allocating an OTB-relevant purchasing contract | |
CN102016734A (en) | Automatically prescribing total budget for marketing and sales resources and allocation across spending categories | |
US20060253309A1 (en) | On demand selection of marketing offers in response to inbound communications | |
CN102272758A (en) | Automated specification, estimation, discovery of causal drivers and market response elasticities or lift factors | |
US20110010211A1 (en) | Automatically prescribing total budget for marketing and sales resources and allocation across spending categories | |
EP3675020A1 (en) | Distribution service providing method connecting initial provider and buyer via mid-distribution man | |
CA2359133A1 (en) | Methods and processes for pricing calculation using a computer system | |
US7873546B2 (en) | System and method for calculating parameters for a commerce system | |
US7340432B1 (en) | System and method for supporting a security-trade financing service | |
CN111914202A (en) | Multi-platform intelligent automatic publishing method, device, system and terminal | |
US20030110140A1 (en) | Method for facilitating pricing, sale and distribution of fuel to a customer | |
AU1529200A (en) | Method and apparatus for pricing products in multi-level product and organizational groups | |
US20160335673A1 (en) | Smart lists | |
US20030110043A1 (en) | System for facilitating pricing, sale and distribution of fuel to a customer | |
GB2372852A (en) | Product ordering system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |