We often talk about the sales history of a product, so let’s explain exactly what it means. There is a raw sales history and a collapsed sales history. The sales history, raw or collapsed, is the starting point for all the analytics we will be introducing later.
Raw sales history
A product is a collection of features, where each feature has a set of mutually exclusive options (one of which may be “no,” “none” or “none of the above”). A sales history consists of a record for each unit of the product that has been sold, with a list of the options that were included. Since each record is for a specific unit, there may be a serial number feature. So imagine a table with a row for each unit sold and a column for each feature. The entries in a column are the different option choices for the corresponding feature. Blank cells indicate a “none” choice.

In addition to option choices, the raw sales history may include order date, build date, ship date, delivery date, sold date and other dates. These dates allow analysis of lead time (order to ship) or sit time (delivery to sold). The raw sales history may also contain the revenue received for each unit and/or the cost to produce it.
Collapsed sales history
If the raw sales history does not contain serial numbers or serial numbers are removed, then some of the rows may be exactly the same. Ignore, for the moment, dates, cost, revenue or anything other than option choices. Combining identical configurations into unique configurations gives us the collapsed sales history. For example, rows SN003 and SN010 in the table above are identical if the first column is removed.
The collapsed history needs a new column: volume. The volume is just the number of raw configurations that collapsed into this unique configuration. The cost for a unique configuration can be computed as the weighted average cost of the collapsing configurations (weighted by volume). The same can be done for revenue.
Dates, however, don’t combine in any obvious way, so the collapsed sales history does not include dates. But if we computed days of lead time or days of sit time, then we could combine them by taking weighted averages or medians.