Method, medium, and system for overage tolerance for variable quantity items

Systems, methods, and other embodiments associated with order fulfillment using overage tolerance to verify amounts of variable quantity items are described. In one embodiment, a method includes receiving, in a device, a customer order for an item. The customer order indicates at least an ordered amount of the item. The example method may also include determining a unit type of the item. The unit type defines whether the item is measured in discrete unitary quantities or is measured in variable quantities. The method may also include verifying that a picked amount of the item for the customer order is within an overage tolerance of the ordered amount when the unit type indicates variable quantities. The overage tolerance is an upper bound over the ordered amount that is permissible to satisfy the customer order.

BACKGROUND

Fulfilling electronic direct-to-consumer orders may include processing orders for many different types of items. The types of items may include groceries (e.g., produce, grains, etc.), electronics, clothing and so on. In general, the items are sold in discrete units and quantities. When a customer places an order, the order is for a specified quantity of a product (e.g., one telephone, two large shirts, a dozen cans of soda and so on).

However, not all items conform well to being sold as discrete units. For example, an order for one bunch of grapes or one bunch of bananas may vary drastically in actual weight. Because these items are generally valued according to weight, selling these items as discrete units can cause difficulties with selecting and valuing items appropriately. Additionally, selling these items by weight or another unit of measure can cause difficulties with imprecision in measuring an exact ordered amount. For example, produce, grains and more generally any item that is valued according to a non-discrete quantity may cause difficulties when fulfilling orders for these items electronically. This is because these items are sold according to a varying quantity of measurement and are not discrete items that are easily divisible or otherwise measurable to an ordered amount.

DETAILED DESCRIPTION

Systems and methods are described herein that verify amounts of variable quantity items according to an overage tolerance. Variable quantity items are items that are valued according to a variable unit of measure (e.g., weight, length, etc.). For example, a variable quantity item is dividable into a specified quantity that is not discretely defined. Variable quantity items are often difficult to measure to exact quantities. Thus, in one embodiment, variable quantity items are defined within an inventory system along with an overage tolerance. The overage tolerance defines an amount over an ordered amount of the item that is permissible for fulfilling the order. Accordingly, a consumer accepts that ordering variable quantity items will likely result in the order being fulfilled with an amount that is within a range defined by the overage tolerance instead of an exact ordered amount.

For example, orders are received through a website or other electronic medium. Each order specifies an ordered amount for an item that is then picked from the inventory to fulfill the order. If a picked amount is within the overage tolerance (i.e., less than) that is defined for that item then the picked amount completes a picking process for the item. However, if the picked amount exceeds the overage tolerance, then the item is, for example, re-picked until the picked amount satisfies the overage tolerance. In this way, using the overage tolerance simplifies selling and picking items that are measured in variable quantities and provides the consumer with confidence the item will be fulfilled within a specific range of the ordered amount.

With reference toFIG. 1, one embodiment of a device100associated with using overage tolerances with items measured in variable quantities is illustrated. In one embodiment, the device100includes order logic110and tolerance logic120that together handle orders and ensure picked amounts of variable quantity items comply with overage tolerances. An inventory database130stores information about a plurality of items that are consumer products (e.g., groceries, hardware, clothing, etc.) in an inventory. Items in the inventory database may be displayed to users electronically for generating customer orders and subsequently processing the customer orders.

In general, the order logic110is configured to generate entries in the inventory database130to initially define the items for purchase. For example, the order logic110generates representations of the items in the inventory database130using information that defines various attributes of each item. The attributes include information about each item such as, for example, a description, picture, price, SKU number and so on. In one embodiment, the attributes include a unit type and a product type.

The unit type defines how an item is measured and sold. That is, the unit type indicates a unit of measure (UoM) for the item. Additionally, the unit type indicates whether the item is measured in discrete unitary quantities or is measured in variable quantities. Items that are sold in discrete unitary quantities are items that are characterized by discrete predefined units which are not generally divisible. These discrete quantity items may include electronics (e.g., a smartphone), clothing (e.g., a shirt) or simply anything that is defined as an integer whole unit that is not generally sold according to a measured quantity in divisible units (e.g., by weight or length).

By contrast, items that are sold according to variable quantities are generally characterized by measuring an amount of an item on a per order basis and valuing the item according to a measured amount. Additionally, a variable quantity item is generally measurable in continuous amounts that are not predefined portions or distinct units. For example, variable quantity items include produce (e.g., grapes, bananas, potatoes, grains, flour, meat, etc.), hardware (e.g., chain, rope), building supplies (e.g., sand, rock) and so on. While some of these items may have distinct sub-units (e.g., each banana in a bunch), the units have intrinsic variations in measured quantities (e.g., weight). Thus, selecting variable quantity items according to a sub-unit does not provide a reliable measure of a value of the sub-unit.

As previously mentioned, the attributes also include a product type. The product type defines a class for an item in, for example, a merchandise hierarchy. In general, an item is associated with a specific hierarchy (e.g., class or subclass) that indicates a group of items that have a similar unit of measure range. The merchandise hierarchy may be used when defining an overage tolerance. For example, the merchandise hierarchy may indicate a high value item (e.g., caviar) versus a low value item (e.g., catfish). Accordingly, different class/subclasses in a merchandise hierarchy may denote different overage tolerances.

In one embodiment, the order logic110is configured to use the product type when defining an overage tolerance for an item so that the overage tolerance reflects a value of the item. Because a slight overage for a high value item (e.g., caviar) may result in a much greater price difference than a slight overage for a low value item (e.g., catfish), the order logic110may base the overage tolerance on the product type. That is, the overage tolerance for a high value item may be a much lower percent or quantity than a percent used for a low value item. In this way, price variations between an ordered amount and a picked amount that is within the overage tolerance can be reduced.

In one embodiment, the order logic110is configured to define the overage tolerance as a percent of an ordered amount, a discrete quantity or a combination of the percent and the discrete quantity. The discrete quantity is a discrete predefined amount over the ordered amount by which a picked amount may exceed the ordered amount. The picked amount is an amount selected from inventory to fulfill an order. Thus, the overage tolerance permits picking amounts for an ordered item from inventory that are greater than an ordered amount. Thus, the overage tolerance facilitates filling orders for items that are measured according to variable quantities.

The order logic110may also define the overage tolerance as a percent of the ordered amount. Defining the overage tolerance as a percent permits the picked amount to exceed the ordered amount by an amount that is relative to the ordered amount. As an example, if the overage tolerance for coffee is set to 10% and an order is for 20 oz, then a picked amount that is provided to fulfill the order may be up to 22 oz. In general, the overage tolerance is an upper bound. Therefore, an amount lower (e.g., 15 oz) than an ordered amount may also be considered permissible to fulfill the order even if the picked amount is less than the ordered amount.

Additionally, the order logic110may base the overage tolerance on the product type by limiting a percent or discrete amount when the item is of higher value. In this way, variations between a total price expected by a consumer and an actual price from the picked amount do not vary by large amounts.

Furthermore, when the order logic110defines the overage tolerance as a combination of the discrete amount and a percent, a picked amount may not, for example, exceed either the percent or the discrete amount. To continue the previous coffee example, suppose that the overage tolerance is defined as 10% (percent overage) or 1 oz (discrete overage). In this example, the previous order for 20 oz would have an upper bound of 21 oz according to the overage tolerance. This is because the percent overage would be 22 oz while the discrete overage would be 21 oz for this order.

By contrast, if the ordered amount of coffee was 8 oz, then the upper bound for the picked amount would be 8.8 oz, which correlates with the percentage overage. Because the discrete overage would be higher at 9 oz, the percent overage tolerance is applied instead. In this way, the order logic110can configure the overage tolerance to account for a wide range of order amounts while still ensuring an acceptable overage amount.

The following discussion of the device100will proceed by explaining various aspects of fulfilling an example order for a variable quantity item. In this example, the item will be discussed as produce (e.g., grapes). Of course, variable quantity items are not limited to produce but include a broad selection of items.

The order logic110is configured to receive orders for items that are sold on an e-commerce website or through some other electronic media. In one embodiment, the orders are for items that are defined in the inventory database130. Accordingly, suppose that an order arrives at the order logic110for fulfillment. In general, the order includes information such as an ordered amount of an item, a total price and other order related information.

In this example, the order is for 1.5 pounds of grapes priced at $2.00/lb. Accordingly, upon receiving the order the order logic110is configured to determine whether one or more items in the order are variable quantity items. If an item is a variable quantity item then, in one embodiment, along with generating a message to pick the item from stock, the order logic110indicates the overage tolerance along with the ordered amount of the item. Because the grapes are a variable quantity item, an overage tolerance is defined for the grapes and a message is generated to pick the 1.5 lbs of grapes.

Suppose in this example that the overage tolerance is a percent overage (e.g., 10%). Thus, a picked amount of grapes that may be used to fulfill the order is within 10% of the ordered amount, which makes the overage tolerance an upper bound of 1.65 lbs in this example. Accordingly, after the ordered item is gathered/picked from an available inventory on behalf of the customer, the tolerance logic120verifies whether the picked amount satisfies the overage tolerance. That is, the tolerance logic120determines whether the picked amount is less than the overage tolerance (e.g., picked amount<(ordered amount+10%)).

As an example of how the tolerance logic120verifies the picked amount using the overage tolerance, consider that a first bunch of grapes that are picked from the inventory weigh 1.75 lbs. Because the picked amount exceeds the overage tolerance of 1.65 lbs, the tolerance logic120will generate an alert or other message indicating that the picked amount is not within an acceptable range. Accordingly, a different bunch of grapes are selected and weighed. This time, the picked amount weighs 1.6 lbs and is thus within the overage tolerance of 1.65 lbs, which means that the picked amount satisfies the overage tolerance.

In general, the tolerance logic120will cause the picked amount to be re-picked until the picked amount falls within the overage tolerance. When an amount cannot be picked that satisfies the overage tolerance the item may be skipped or otherwise removed from the being picked. For example, when an inventory of watermelons all exceed the overage tolerance for an ordered amount, the watermelons may be skipped as being incapable of being fulfilled. In one embodiment, the tolerance logic120may generate a notification to the customer to request an exception to the overage tolerance or to have the customer delete the item from the order. In either case, the tolerance logic120will generally not fulfill an item within an order when the item cannot be picked within a specified overage tolerance.

While the overage tolerance is discussed as being defined with a percent, a discrete amount or both, of course, the overage tolerance may be defined in several ways. In another embodiment, the overage tolerance is defined according to intervals. That is, for example, an overage tolerance for 0 to 1 lbs may be 0.05 lbs, for 1-5 lbs may be 5%, for 5-20 lbs it may be 0.5 lbs and so on. In general, the overage tolerance is configurable in many different ways but generally provides for fulfilling orders by using an amount beyond what was actually ordered.

Once a picked amount satisfies the overage tolerance, the tolerance logic120may evaluate the picked amount to determine a total price for the order. Returning to the grapes example, an original total price for 1.5 lbs of grapes would be $3.00. Once the tolerance logic120evaluates the order in light of the picked amount of 1.6 lbs the total price is modified to be $3.20.

Whether the total price is re-evaluated may be based on the product type (e.g., value) of the item, price calculation policies and so on. However, a total price may be modified to reflect the picked amount that is provided to a customer in order to accurately account for overage picking.

Further aspects of using overage tolerances when picking variable quantity items will be discussed with relation toFIG. 2.FIG. 2illustrates a method200associated with implementing overage tolerances to simplify picking variable quantity items.

At210, an entry that represents an item is generated in an inventory database. In general, the inventory database includes a plurality of entries that represent various items of a retail inventory. The items may include grocery items, hardware, clothing and so on. These items are defined by attributes that include, at least, a unit type and a product type for each item. In one embodiment, the attributes include additional information such as descriptions, pictures, reviews and so on.

At220, an overage tolerance is defined for the item according to the product type and the unit type. That is, if the unit type indicates an item that is sold on according to a variable quantity of measure then the overage tolerance is defined at220. In general, the overage tolerance is defined in accordance with the product type. The product type defines a class/subclass for the item in a merchandise hierarchy. In one embodiment, the class/subclass is associated with a base value of the item. That is, the product type indicates whether the item is a high value item (e.g., saffron or caviar) or a low value item (e.g., catfish or bananas) per unit of measure and, for example, a unit of measure for the item.

In either case, the product type may influence a quantity that is defined for the overage tolerance depending on a specific implementation. The unit type indicates whether the item is sold in variable quantities and thus uses an overage tolerance for measuring an amount of the item on a per order basis.

Accordingly, in one embodiment, the overage tolerance is defined as an overage percentage, an overage quantity or a combination of the two. While the overage percentage and the overage quantity are discussed as options for the overage tolerance, of course, in other embodiments, the overage tolerance may be implemented in many different ways (e.g., intervals, dynamically scaled, etc.)

However, in general, the overage percentage defines a percent of an ordered amount by which a picked amount may exceed the ordered amount. The overage quantity defines a discrete quantity by which the picked amount may exceed the ordered amount. By permitting the picked amount that is selected to fulfill the order to exceed the ordered amount, difficulties with measuring exact amounts and selecting items that vary in weight can be simplified.

At230, a customer order is received for an item at a retail location or other location from which the customer order will be fulfilled. In general, the customer order is generated through an e-commerce website or other electronic media as a transaction for goods. Accordingly, the customer order may include ordered amounts of one or more items and item numbers, delivery information (e.g., store pick-up, delivery address), a total price and so on.

Accordingly, a request is generated for the items to be picked from stock/inventory at240. In one embodiment, at240, the request causes the picked amount to be selected from an inventory that includes stock of the item to satisfy the customer order. The request may include information about the one or more items, such as ordered amounts, overage tolerances and so on.

At250, items in the customer order are analyzed to determine a unit type of the items. If an item is not a variable quantity item then the item is picked normally (e.g., discrete units selected from inventory) and a picked quantity is not analyzed further. However, when items in the customer order are variable quantity items then additional procedures in analyzing an ordered quantity of the item may be followed to ensure proper quantities are picked and provided for the order.

At260, a picked amount is verified to ensure it is within an overage tolerance. As previously mentioned, the overage tolerance is an upper bound over the ordered amount that is permissible to satisfy the customer order. Using the overage tolerance ensures the picked amount is permissible for fulfilling the customer order. That is, in general, the overage tolerance is an amount over an ordered amount that is acceptable to a consumer purchasing an item. Because variable quantity items are difficult to measure to exact quantities, the consumer accepts that ordering such items will likely result in the order being fulfilled with an amount of the item that is within a range defined by the overage tolerance. In this way, the consumer can electronically order variable quantity items and have confidence in knowing that a charged amount will be within a known range.

Consequently, if the picked amount of the item exceeds the overage tolerance, then, for example, a message (e.g., error message or other indicator) is generated to indicate the picked amount does not comply with the overage tolerance. In one embodiment, the message causes a request to be generated, at240, for the item to be re-picked. In general, picking and verifying whether the picked amount is within the overage tolerance repeats until the picked amount is verified as being within the overage tolerance (e.g., picked amount<(ordered amount+overage tolerance)).

In one embodiment, additional conditions or policies may dictate how the re-picking occurs. For example, if the item is re-picked and a picked amount fails to be within the overage tolerance more than a predefined number of times, then the item may be cancelled, altered or otherwise change in the order so that the order can be completed. In another embodiment, if an inventory of the item is below a predefined number/amount and the item has been re-picked more than the predefined number, then the item may be cancelled from the order. Of course, while cancelling items from the order is discussed, actions that occur according to not being able to pick an item to satisfy the overage tolerance may be implementation specific.

Accordingly, by providing amounts to fulfill an order that may exceed the ordered amount overage picking can be reduced to within specified limits of the overage tolerance. Additionally, improved granularity in selecting the picked amount is provided since exact quantities for variable quantity items need not be conformed to.

After an acceptable amount has been picked and verified, at270, a total price of the customer order may be determined according to the picked amount. In this way, an original total price can be modified to reflect the picked amount that is provided as a fulfilled amount with the customer order to a customer.

Computer Embodiment

FIG. 3illustrates an example computing device that is configured and/or programmed with one or more of the example systems and methods described herein, and/or equivalents. The example computing device may be a computer300that includes a processor302, a memory304, and input/output ports310operably connected by a bus308. In one example, the computer300may include overage tolerance logic330configured to facilitate fulfilling orders for variable quantity items similar to order logic110and tolerance logic120shown inFIG. 1. In different examples, the overage tolerance logic330may be implemented in hardware, a non-transitory computer-storage medium with stored instructions, firmware, and/or combinations thereof. While the overage tolerance logic330is illustrated as a hardware component attached to the bus308, it is to be appreciated that in one example, the overage tolerance logic330could be implemented in the processor302.

Generally describing an example configuration of the computer300, the processor302may be a variety of various processors including dual microprocessor and other multi-processor architectures. A memory304may include volatile memory and/or non-volatile memory. Non-volatile memory may include, for example, ROM, PROM, and so on. Volatile memory may include, for example, RAM, SRAM, DRAM, and so on.

A storage disk306may be operably connected to the computer300via, for example, an input/output interface (e.g., card, device)318and an input/output port310. The disk306may be, for example, a magnetic disk drive, a solid state disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, a memory stick, and so on. Furthermore, the disk306may be a CD-ROM drive, a CD-R drive, a CD-RW drive, a DVD ROM, and so on. The memory304can store a process314and/or a data316, for example. The disk306and/or the memory304can store an operating system that controls and allocates resources of the computer300.

The computer300can operate in a network environment and thus may be connected to the network devices320via the i/o interfaces318, and/or the i/o ports310. Through the network devices320, the computer300may interact with a network. Through the network, the computer300may be logically connected to remote computers. Networks with which the computer300may interact include, but are not limited to, a LAN, a WAN, and other networks.

In another embodiment, the described methods and/or their equivalents may be implemented with computer executable instructions. Thus, in one embodiment, a non-transitory computer storage medium is configured with stored computer executable instructions that when executed by a machine (e.g., processor, computer, and so on) cause the machine (and/or associated components) to perform the method.

While for purposes of simplicity of explanation, the illustrated methodologies in the figures are shown and described as a series of blocks, it is to be appreciated that the methodologies are not limited by the order of the blocks, as some blocks can occur in different orders and/or concurrently with other blocks from that shown and described. Moreover, less than all the illustrated blocks may be used to implement an example methodology. Blocks may be combined or separated into multiple components. Furthermore, additional and/or alternative methodologies can employ additional actions that are not illustrated in blocks. The methods described herein are limited to statutory subject matter under 35 U.S.C § 101.

“Computer storage medium”, as used herein, is a non-transitory medium that stores instructions and/or data. A computer storage medium may take forms, including, but not limited to, non-volatile media, and volatile media. Non-volatile media may include, for example, optical disks, magnetic disks, and so on. Volatile media may include, for example, semiconductor memories, dynamic memory, and so on. Common forms of a computer storage media may include, but are not limited to, a floppy disk, a flexible disk, a hard disk, a magnetic tape, other magnetic medium, an ASIC, a CD, other optical medium, a RAM, a ROM, a memory chip or card, a memory stick, and other electronic media that can store computer instructions and/or data. Computer storage media described herein are limited to statutory subject matter under 35 U.S.C § 101.

“Logic”, as used herein, includes a computer or electrical hardware component(s), firmware, a non-transitory computer storage medium that stores instructions, and/or combinations of these components configured to perform a function(s) or an action(s), and/or to cause a function or action from another logic, method, and/or system. Logic may include a microprocessor controlled by an algorithm, a discrete logic (e.g., ASIC), an analog circuit, a digital circuit, a programmed logic device, a memory device containing instructions that when executed perform an algorithm, and so on. Logic may include one or more gates, combinations of gates, or other circuit components. Where multiple logics are described, it may be possible to incorporate the multiple logics into one physical logic component. Similarly, where a single logic unit is described, it may be possible to distribute that single logic unit between multiple physical logic components. Logic as described herein is limited to statutory subject matter under 35 U.S.C § 101.