The present invention relates to data processing, and more particularly to systems, methods, and computer program products for utilizing empty shipping container space. When consumers make purchases online, many websites use promotional engines in order to offer additional products and services to the consumer. This list of goods may be derived from many sources, including the customer's previously browsed items, items commonly purchased together, or items that will make the order eligible for some promotion, such as free shipping. Separately, a common occurrence on consumer advocacy and information sites is open mockery when items ordered are shipped in excessive packaging. Some companies in particular are ridiculed due to the frequency with which it happens. This potentially turns a shipping mistake into a marketing and public relations problem.
In one embodiment of the invention, a computer-implemented method for utilizing empty shipping container space comprises receiving a customer selection of one or more items to be shipped; determining dimensions of the one or more items to be shipped; identifying, in dependence on the determined dimensions, a shipping container to be utilized to ship the one or more items; determining remaining space that will be available within the shipping container along with the one or more items packed in the shipping container; determining one or more additional items which will fit within the available remaining space; and displaying at least one of the one or more additional items to the customer for purchase.
In addition to the method for utilizing empty shipping container space, as described above, other aspects of the present invention are directed to corresponding systems and computer program products for utilizing empty shipping container space.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Embodiments of the invention may provide the ability to leverage product dimensions and weight to offer promotional items that will fit in the box that is already required to ship customer-selected items. Such an effort to entice a customer to add additional items to an order is often termed “upselling.”
Order management systems (such as may be provided by an online store, which typically provides many different products for sale to a customer) can leverage knowledge of size, weight, and containerization of the products being ordered to offer additional products that will fit in the remaining space in the shipping container. The additional items offered for sale to the customer are determined by filtering a list of items that are available for ordering. The list of items that are available for ordering (which is then filtered to determine which item(s) can fit in the remaining space in the shipping container and may be offered to the customer) could simply be a list of every item offered for sale by the online store. Alternatively, the list that is filtered by embodiments of the invention may comprise a subset of all the items offered for sale by the online store. For example, the subset could include only promotional items. Such additional items may be promotionally offered to the customer using a displayed statement such as “Fits right in the box we've already packed for you!” Such additional items may be further incentivized by offering free or reduced-cost shipping.
Such upselling may be successful with consumers who are environmentally conscious as it has the potential to reduce packing filler, is a conscious effort to control excessive package size, and may be viewed as an effort to repair previously damaged public relations.
Referring now to
Based on the selected shipping container and the dimensions and weight of the selected item(s), any remaining weight and/or volume capacity may be determined (block 18). The remaining weight capacity is typically determined by comparing the manufacturer-specified weight capacity of the selected shipping container to the weight of the selected item (or the sum of the weights of multiple items). The remaining volume capacity is typically determined by comparing the volume of the selected shipping container to the volume of the selected item (or the sum of the volumes of multiple items). This determined remaining volume capacity does not take into consideration the effectiveness or usability of the space; rather, it is simply a determination of the “raw” volume capacity remaining. As will be discussed in more detail below, it may be desirable to further determine the “packable space(s)” remaining, which provides a more accurate picture of which additional item(s) may fit in the remaining space.
Based on the determinations at block 18, it is determined if there will be any space and weight capacity remaining in the shipping container along with the selected item(s) is/are placed in the shipping container (block 20). The determination at block 20 could simply determine if there will be any space and weight capacity remaining at all in the shipping container, regardless of how little space or weight capacity remains. That is, as long as the remaining space or weight capacity is greater than zero, the result at block 20 would be “YES.” However, space or weight capacity remaining that, while greater than zero, is very close to zero is less likely to result in any additional items being offered to the customer, unless the online store sells very small/light items. Thus, it may be desirable to use a cutoff other than zero at block 20. Such a cutoff may be expressed as a number (e.g., weight in pounds/kilograms and volume in cubic inches/centimeters), as a percentage of the total weight/volume capacity, or as both (e.g., a number for weight and a percentage for volume, or vice versa). For example, it may be desirable to use a cutoff of 0.5 pounds for weight and 10% for volume. In such an example, it would be determined at block 20 that there is capacity remaining only if the remaining weight capacity at least 0.5 pounds and if the remaining volume is at least 10% of the total volume of the shipping container. Any combination of types of cutoffs (zero, number, percentage) and cutoff values may be used for the weight and volume cutoffs. The determination at block 20 might also take into account any packing materials that may need to be used to protect/cushion the selected item(s) and which would likely also consume space in the shipping container. For example, a selected item may be fragile and therefore may need to be wrapped in bubble wrap. Embodiments of the invention may determine if such packing material is needed and, if so, what type of packing material. Based on the type of packing material to be used, embodiments of the invention may then determine by how much the packing material will increase the volume of the corresponding selected item and use that increased volume as the volume of the selected item for determining if any space is remaining in the shipping container.
Note, it must be determined that there is both space remaining and weight capacity remaining in order to be able to offer any additional items to the customer. Having only space remaining without having weight capacity remaining, or conversely having only weight capacity remaining without having space remaining, would prevent any additional items from being shipped in the same shipping container.
If it is determined at block 20 that there is no weight capacity remaining or that there is not volume remaining, the process ends and no additional items are offered to the customer. If it is determined at block 20 that there is weight and volume capacity remaining, a list of items desired to be sold is accessed (block 22). This list may comprise all items for sale in the online store, or may comprise a subset of all items for sale. For example, this list may comprise a predetermined list of promotional items (i.e., items that the online store wants to promote the sale of more than usual or more than other items). From this list, each item whose weight is greater than the determined remaining weight capacity of the shipping container is removed, and each item whose volume is greater than the determined remaining volume of the shipping container is removed (block 24).
After removing the items at block 24, it is determined if any items remain in the list (block 26). If it is determined at block 26 that no items remain in the list after removing each item whose weight is greater than the determined remaining weight capacity and each item whose volume is greater than the determined remaining volume, the process ends and no additional items are offered to the customer. If it is determined at block 26 that items remain in the list, items in the remaining list that do not require a shipping container are removed from the remaining list (block 28).
After removing the items at block 28, it is determined if any items remain in the list (block 30). If it is determined at block 30 that no items remain in the list after removing each item which does not require a shipping container, the process ends and no additional items are offered to the customer. If it is determined at block 30 that items remain in the list, the dimensions of any remaining “packable” space(s) is/are determined (block 32).
The packable spaces represent spaces within the remaining volume capacity into which additional items may be effectively placed. It should be appreciated that simply determining total remaining volume capacity provides an incomplete and in some respects misleading picture of which additional items may also be shipped in the shipping container. This is because it is not only the total remaining volume but also the shape and configuration of the remaining spaces that determines which additional items may also be shipped. The concept of packable spaces is illustrated in
Returning to
For items having other than a parallelepiped shape (e.g., cylindrical, oval, spherical, etc.), other techniques may be used to determine if such an item will fit within a packable space. One technique may be to determine the dimensions of an equivalent parallelepiped into which the non-parallelepiped-shaped item would fit, and then to determine if the equivalent parallelepiped fits within the packable space. For example, for a round cylindrical item having a height of A and a diameter of B, the equivalent parallelepiped would measure A×B×B. For an oval cylindrical item having a height of A, a long dimension of B, and a short dimension of C, the equivalent parallelepiped would measure A×B×C. For a spherical item having a diameter of A, the equivalent parallelepiped would measure A×A×A.
After removing the items at block 34, it is determined if any items remain in the list (block 36). If it is determined at block 36 that no items remain in the list after removing all items which do not fit within any of the packable spaces, the process ends and no additional items are offered to the customer. If it is determined at block 36 that items remain in the list, one or more of the items remaining in the list are displayed to the customer (block 38). Which and how many of the remaining items in the list are displayed may vary, based on, e.g., known upselling techniques.
If the customer does not select any of the additional items that are displayed (as determined at block 40), then the process ends and the check-out process continues as usual. If the customer selects one of the displayed additional items, the selected additional item is added to the order (block 42). The order management system may or may not be configured to support upselling multiple items. If the order management system does not support upselling multiple items (block 44), then the process ends and the check-out process continues as usual with the one additional item that was selected being included in the order. If the order management system does support upselling multiple items (block 44), then the process returns to block 18 to re-determine the remaining weight capacity/volume after the selected additional item has been added to the order and the process continues from block 18.
The filters applied in the embodiment of the invention illustrated in
Additionally, some of the filters may be omitted entirely, although this may increase the computational requirements of the process. For example, block 18 may be modified to only determine remaining weight capacity (and not volume), and the filter at block 24 may be modified to only check against remaining weight capacity. These modifications are possible because the volume filter at block 24 is only a preliminary filter, and the packable space filter at block 34 is the main determinant of whether an additional item will fit within the shipping container. While the packable space filter at block 34 may be more computationally intensive than the preliminary volume filter at block 24, the preliminary volume filter at block 24 may be omitted if sufficient computational capacity is available such that the packable space filter at block 34 can be performed on as many items as necessary in an imperceptibly small amount of time so as to not slow the ordering process.
Additional filters not illustrated in
In addition to the client-server arrangement of
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. If the service is also available to applications as a REST interface, then launching applications could use a scripting language like JavaScript to access the REST interface. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the FIG.s illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the FIG.s. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
“Computer” or “computing device” broadly refers to any kind of device which receives input data, processes that data through computer instructions in a program, and generates output data. Such computer can be a hand-held device, laptop or notebook computer, desktop computer, minicomputer, mainframe, server, cell phone, personal digital assistant, other device, or any combination thereof.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.