A common way for a party, such as a business or an individual, to purchase a product or a service is to solicit offers from multiple suppliers. Once the offers have been received, the party compares the offers to one another. The party then selects a supplier (or suppliers) from which to purchase the product or service. For example, the party may select the supplier (or suppliers) that are offering the lowest purchase price for the product or service, or the party may base its decision on additional or other considerations.
As noted in the background section, a party may purchase a product or service by soliciting offers from multiple suppliers, and comparing the offers to one another, and then selecting a supplier (or suppliers) from which to purchase the product or service. One problem with this approach is that the offers may be of different types. This makes it difficult for the offers to be directly compared to one another.
For example, a supplier may maintain an offer structure of a particular type that is used to respond to solicitations from prospective customers. When a prospective customer solicits offers from a number of suppliers, the customer may receive back offers of different types, making direct comparison between offers difficult. Alternatively, a prospective customer may solicit an offer from a particular supplier, and request that the supplier provide an offer of a specific type. However, the supplier may not normally provide offers of this type, and thus has to convert its standard type offer to the type being requested.
One type of offer is referred to herein as an incremental offer. An incremental offer includes a base price for an item, and one or more price discounts having one or more corresponding volume thresholds, such that there are equal numbers of price discounts and volume thresholds. When the party purchases a volume of the item that exceeds a given volume threshold, the base price is decreased for the volume of the item above the threshold by a corresponding price discount, but the base price is not decreased for the volume below the threshold.
For example, an incremental offer may be specified by a base price p, one or more price discounts d1, d2, d3, . . . , dk, and one or more volume thresholds t1, t2, t3, . . . , tk that correspond to the price discounts. If a party purchases a total of j items, where j is greater than t1 but less then t2, then for t1 items the unit price is p, and for (j−t1) items the unit price is (p−d1). Thus, the total cost for the j items is thus (t1×p)+(j−t1)(p−d1). Similarly, if the party purchases j items, where j is greater than t2 but less than t3, then for t1 items the unit price is p, for (t2−t1) items the unit price is (p−d1), and for (j−t2) items the unit price is (p−d2), depending on how the offer is specified. The total cost for the j items is thus (t1×p)+(t2−t1)(p−d1)+(j−t2)(p−d2).
It is noted that the price discounts may be positive or negative. In the case where a price discount is negative, it is effectively a surcharge or mark-up. For example, between zero and fifty units, a supplier may charge a base price of five dollars. Above fifty units, a supplier may specify a surcharge or mark-up of one dollar, such that the units sold in excess of fifty units cost six dollars each. In this case, the one-dollar surcharge or mark-up is considered a price discount of negative one dollar.
Another type of offer is referred to herein as a cumulative offer. A cumulative offer also includes a base price for an item, and one or more price discounts having one or more corresponding volume thresholds, such that there are equal numbers of price discounts and volume thresholds. When the party purchases a volume of the item that exceeds a given volume threshold, the base price for the entire volume is reduced by a corresponding price discount. That is, the base price for the volumes of the item both below and above the threshold is reduced by the price discount. As such, thresholds are used just to determine the unit price that applies to the whole purchase.
For example, a cumulative offer may also be specified by a base price p, one or more price discounts d1, d2, d3, . . . , dk, and one or more volume thresholds t1, t2, t3, . . . , tk that correspond to the price discounts. If a party purchases a total of j items, where j is greater than t1 but less then t2, then for all j items, the unit price is (p−d1), and the total cost for the j items is j×(p−d1). Similarly, if the party purchases j items, where j is greater than t2 but less than t3, then for all j items, the unit price is either or (p−d2), depending on how the offer is specified. The total case for the j items is thus j×(p−d2). As with incremental offers, cumulative offers may have price discounts that are positive or negative, where in the latter case, the price discounts are effectively price surcharges.
Embodiments of the present disclosure provide for converting an incremental offer to a corresponding cumulative offer, and for converting a cumulative offer to a corresponding incremental offer. As such, disparate types of offers that are received from different suppliers can be compared to one another. Those offers that are not cumulative offers may be converted to cumulative offers, so that all the offers can be compared to one another as cumulative offers. Alternatively, those offers that are not incremental offers may be converted to incremental offers, so that all the offers can be compared to one another as incremental offers.
To convert a cumulative offer to an incremental offer, and vice-versa, the source offer and a number of offer parameters regarding the source offer are received. The offer parameters effectively describe the source offer. Specifications for one or more of a number of conversion parameters are also received. The specified conversion parameters govern how the source offer will be converted to a target offer of other type. That is, the specified conversion parameters govern how an incremental source offer will be converted to a cumulative target offer, and how a cumulative source offer will be converted to an incremental target offer.
At least some embodiments of the disclosure permit not all the conversion parameters to be specified. In this situation, a given source offer can be converted to more than one different target offer. To convert the given source offer to just one target offer, a programming problem can be solved in which a given metric is minimized to find the best approximation target offer to the source offer. That is, the target offer that minimizes the metric is the target offer to which the given source offer is converted. In this way, these embodiments still convert a source offer to a single target offer, even when the specified conversion parameters permit the source offer to be converted to more than one target offer.
The source offer, and offer parameters regarding the source offer, are received (102), such as from a user, who may be interacting with a graphical user interface. The offer parameters include a base price p, a number of price discounts d1, d2, d3, . . . , dk, and a corresponding number of volume thresholds t1, t2, t3, . . . , tk that indicate volumes at which the price discounts are to be applied. For an incremental offer, when a volume reaches a volume threshold, the unit price decreases by a corresponding discount for the volume above the volume threshold, but does not decrease for the volume below the volume threshold. By comparison, for a cumulative offer, when a volume reaches a volume threshold, the price decreases by the corresponding price discount for the volume both below and above a volume threshold.
In the graph 200 of
and the total price is (v−t1)×(p−d1)+t1×p. For volumes v above the volume threshold t2, the average unit price is
and the total price is (v−t2)×(p−d2)+(t2−t1)(p−d1)+t1×p.
In the graph 250 of
Referring back to
Each price threshold indicates a price at which a price discount is to be applied in the target offer to which the source offer is to be converted. The price thresholds are specified as one or more price thresholds pt1, pt2, . . . , ptm, for m price thresholds, where m is the number of price thresholds specified and is greater than or equal to one, when the price thresholds are specified. Each volume threshold indicates a volume at which a price discount is to be applied in the target offer to which the source offer is to be converted. The volume thresholds are specified as one or more volume thresholds vt1, vt2, . . . , vtn, for n price thresholds, where n is the number of volume thresholds specified and is greater than or equal to one, when the volume thresholds are specified.
In one embodiment, the user may indicate whether a specified volume threshold corresponds to a specified price threshold. For example, if there are two price thresholds pt1 and pt2, and three volume thresholds vt1, vt2, and vt3, the user may indicate that the price threshold pt1 corresponds to the volume threshold vt1, and that the price threshold pt2 corresponds to the volume threshold vt3. In another embodiment, the user does not have to provide this information. In this case, the price threshold pt1 can correspond to either volume threshold vt1 or vt2, and the price threshold pt2 can correspond to either volume threshold vt2 or vt3.
For example, the price threshold pt1 may be optimally determined later in the method 300 to correspond to the volume threshold vt1, and the price threshold pt2 may be optimally determined at that time to correspond to the volume threshold vt2 or vt3. As another example, the price threshold pt1 may be optimally determined later in the method 300 to correspond to the volume threshold vt2, and the price threshold pt1 may be optimally determined at that time to correspond to the volume threshold vt3. As a third example, the user may indicate that the price threshold pt1 corresponds to the volume threshold vt1, but may not indicate to which volume threshold vt2 or vt3 the price threshold pt2 corresponds.
The number of specified volume thresholds n may be equal to or unequal to the number of specified price thresholds m. A step corresponds to a volume threshold at which a corresponding price discount is to be applied, such that the number of steps is the number of times the target offer specifies a volume threshold at which a corresponding price discount is to be applied. The number of steps is specified as s, where s is greater than or equal to one when the number of steps is specified. The specified number s of steps may be equal to or unequal to each of the number n of specified volume thresholds and the number m of specified price thresholds.
The price thresholds and the volume thresholds of the conversion parameters are the minimum such price thresholds and volume thresholds that are to be realized within the target offer. That is, there can be more price thresholds, and more volume thresholds, depending on the number of steps specified, or whether the number of steps is specified. For example, if a user specifies two price thresholds and three volume thresholds, but does not specify the number of steps, then there has to be at least three steps within the target offer, since three volume thresholds have been specified. Two of these steps correspond to the two price thresholds specified, and a third step corresponds to a price threshold that is not specified. This price threshold is determined later in the method 300. The third step is included within the target offer because three volume thresholds have been specified. As another example, if a user specifies two volume thresholds, but does not specify any price thresholds and does not specify the number of steps, then there has to be at least two steps within the target offer, because two volume thresholds have been specified. Two of these steps correspond to the two volume thresholds specified.
Likewise, the number of steps is the minimum number of steps that are to be realized within the target offer, depending on the number of price thresholds and/or the number of volume thresholds specified, or whether the price thresholds and/or the volume thresholds are specified. In one embodiment, the actual number of steps within the target offer is the maximum of the number of steps specified when this number is specified, the number of volume thresholds specified when these thresholds are specified, and the number of price thresholds specified when these thresholds are specified. In another embodiment, the number of steps specified, when this number is specified, is the actual number of steps within the target offer. However, in this embodiment, the user is not permitted to enter a number of steps that is less than the maximum of the number of volume thresholds specified when these thresholds are specified, and the number of price thresholds specified when these thresholds are specified.
For example, if a user specifies four steps but specifies five price thresholds and does not specify any volume thresholds, then there has to be at least five steps within the target offer, since five price thresholds have been specified. As another example, if a user specifies four steps, five price thresholds, and six volume thresholds, then there has to be at least six steps within the target offer, since six volume thresholds have been specified. As a third example, if a user specifies four steps but does not specify any price thresholds or volume thresholds, then there has to be at least four steps within the target offer, since four steps have been specified.
In the representative target offer
In the representative target offer, each of the specified price thresholds pt1, pt2, pt3, pt4, and pt5 corresponds to one of the steps 306. Furthermore, the specified volume threshold vt1 corresponds to the specified price threshold pt3 and to the step 306C. The specified volume threshold vt2 corresponds to the specified price threshold pt4 and to the step 306D. The specified volume threshold vt3 corresponds to the specified price threshold pt5 and to the step 306E. It is noted that in target offers to which the source offer in question has been converted, other than the representative target offer of
In the representative target offer, there are also volume thresholds corresponding to the steps 306A and 306B, and thus to the specified price thresholds pt1 and pt2. However, these volume thresholds are not specified volume thresholds. That is, these two volume thresholds were not specified within the conversion parameters. Rather, these two volume thresholds are determined in the process of converting the source offer in question to the representative target offer of
Referring back to
Where the price thresholds, the volume thresholds, and the number of steps of the conversion parameters are all specified, and are all specified in equal numbers, then a formulaic approach is used to convert the source offer to the target offer (108). This is because the source offer can be converted to only one possible offer. That is, where the price thresholds, the volume thresholds, and the number of steps are all specified, and the number m of specified price thresholds is equal to the number n of specified volume thresholds and is equal to the specified number s of steps, then the source offer can be converted to only one possible target offer. As such, a formulaic approach can be used to convert the source offer to the only possible target offer. The formulaic approach may be a conventional straightforward algebraic approach, for instance.
The solid line in the graph 400 represents the example source offer. The dotted lines in the graph 400 represent the only possible cumulative target offer to which this example source offer can be converted. Specifically, the specified volume threshold vt1 of the target offer is equal to the volume threshold t1 of the source offer, and the specified volume threshold vt2 of the target offer is equal to the volume threshold t2 of the source offer. The specified price threshold pt1 corresponds to the volume threshold vt1, and the specified price threshold pt2 corresponds to the volume threshold vt2.
There are two steps 406A and 406B, collectively referred to as the steps 406, in the source offer. The steps 406 correspond to the volume thresholds t1 and t2 of the source offer. There are also two steps 408A and 408B, collectively referred to as the steps 408, in the target offer. The step 408A corresponds to the specified price threshold pt1 and the specified volume threshold vt1 of the target offer, whereas the step 408B corresponds to the specified price threshold pt2 and the specified volume threshold vt2 of the target offer.
Referring back to
Different types of loss metrics may be employed. One example loss metric is the maximum Manhattan distance between a unit price line of the source offer and a unit price line of the target offer. Another example loss metric is the average unit price difference between the source offer and the target offer. In general, the loss metric may be selected so that it represents the greatest likeliness of the source offer to the target offer that is determined when the loss metric is minimized.
Therefore, the MIP problem is solved to minimize the specified loss metric, or the default loss metric if no loss metric is specified, subject to the other specified conversion parameters, and given the offer parameters of the source offer. Commercially available solver software, another type of conventional solver, or another type of solver, may be used to solve the MIP problem in part 110. Alternatively, algorithmic solutions can be developed for each unique combination of which of these conversion parameters are specified. Therefore, depending on which conversion parameters are specified, a different algorithm can be employed to effectively and essentially solve the MIP problem in part 110.
As noted above, there is just one possible target offer for a source offer where the price thresholds, the volume thresholds, and the number of steps of the conversion parameters are all specified in equal numbers, and there is more than one possible target offer for the source offer in all other cases. One such case is where the price thresholds, the volume thresholds, and the number of steps are all specified, but in unequal numbers. For example, the number of specified price thresholds may be unequal to the number of specified volume thresholds, and/or to the specified number of steps.
A second such case is where the price thresholds and the volume thresholds are specified, but the number of steps is not specified. A third case is where the price thresholds and the number of steps are specified, but the volume thresholds are not, and a fourth case is where the volume thresholds and the number of steps are specified, but the price thresholds are not. A fifth case is where just the price thresholds are specified, and the number of steps and the volume thresholds are not. A sixth case is where just the volume thresholds are specified, and the number of steps and the price thresholds are not. A seventh such case is where just the number of steps is specified, and the price thresholds and the volume thresholds are not specified.
The solid line in the graph 500 represents the example source offer. The dotted lines in the graph 500 represent two possible cumulative target offers 512A and 5128, collectively referred to as the cumulative target offers 512, to which this example source offer can be converted. There are other cumulative target offers to which the example source offer can be converted, however. In both of the example target offers 512, the specified volume threshold vt1 is equal to the volume threshold t2 of the source offer. In the example target offer 512A, there is another volume threshold, which is unspecified in the conversion parameters, and that is equal to the volume threshold t1 of the source offer. In the other example target offer 512B, there is no volume threshold other than the specified volume threshold vt1.
There are two steps 510A and 510B, collectively referred to as the steps 510, in the source offer. The steps 510 correspond to the volume thresholds t1 and t2 of the source offer. In the two example target offer 512A, there are also two steps 506A and 506B, collectively referred to as the steps 506. The step 506B corresponds to the specified volume threshold vt1 of the conversion parameters, whereas the step 506A does not correspond to a specified volume threshold of the conversion parameters. In the other example target offer 512B, there is just one step 508, which corresponds to the specified volume threshold vt1 of the conversion parameters.
Therefore, the example target offer 512A, from left to right in
Referring back to
In this case, the offers can be compared on the basis of being the same type, even though the offers as originally received from the suppliers may not have been of the same type. For example, if some suppliers submitted incremental offers and other suppliers submitted cumulative offers, the incremental offers can be converted to cumulative offers so that they can be more easily compared to the cumulative offers submitted by the other suppliers. Similarly, if some suppliers submitted cumulative offers and other suppliers submitted incremental offers, the cumulative offers can be converted to incremental offers so that they can be more easily compared to the incremental offers submitted by the other suppliers.
In conclusion,
The computing device 600 includes a receive component 604, conversion logic 606, and an output component 608, all of which are said to be implemented by the processor 602, which is indicated by dotted lines in
The input component 604 receives a source offer, offer parameters regarding the source offer, and specifications for one or more of a number of conversion parameters. For example, the component 604 may be or realize a graphical user interface, by which this information is provided to the component 604 by a user using an input device that is part of or that is connected to the computing device 600. The input component 604 can thus be considered as performing parts 102 and 104 of the method 100 of
The conversion logic 606 converts the source offer to a target offer, based on the offer parameters and the specific conversion parameters. Where the source offer can be converted to just one target offer, a formulaic approach, such as an algebraic approach, can be employed, as has been noted in relation to part 108 of the method 100 of
The output component 608 outputs the target offer to which the source offer has been converted by the conversion logic 606 based on the offer parameters and the specified conversion parameters. For example, the component 608 may be or realize a graphical user interface as well, by which this information is provided to a user via an output device that is part of or that is connected to the computing device 600. The output component 608 can thus be considered as performing part 112 of the method 100 of