bundles (Bakos and Brynjolfsson, 1999; Bakos and
Brynjolfsson, 2000). If a customer buys such a
bundle, he gets a discount compared to the sum of
the individual prices.
Most important, typical discounts are defined by us-
ing a combination of the parameters above. A com-
bination of parameters typically lead to the following
different discounts:
customer discount: This discount is based on the
customer parameter. It is often possible to extend it
by defining a time interval and a scale price.
promotional discount: A promotional discount is
based on the time paramter. Like the customer dis-
count, this can be extended by defining defining a
scale price.
standard discount: Usually, this discount can only
be defined by a scale price.
bundle discount: This discount is applied by choos-
ing different products and giving this bundle a spe-
cial price. Afterwards, the bundle is internally
managed as a single product (and therefore, all dis-
counts above can be used).
To make defining discounts easier, some systems
offer extended approaches:
price lists: A price list defines list prices for a num-
ber of products. Typically, systems offer a way to
define price lists for different customer segments.
This approach is a simpler way for specifying cus-
tomer discounts.
product groups: Some systems offer a way to group
products, for example by arranging them into cate-
gories. Using this approach, a discount is not only
applied for one product but for a product group.
Whenever multiple discounts are defined for a
product, a discount collision can arise. An example
could be customer Smith who wants to buy 5 products
X. The standard price for product X is $10. Therefore,
without a discount Smith has to pay $50. Let’s as-
sume that promotional discount using the scale price
parameter is defined for product X:
Quantity Price
1-3 no discount
4-6 -$2 per item
With this scale price, Smith has to pay only $40.
Let’s also assume that Smith has a customer dis-
count for product X of $9 per item. Then, with this
discount, he has to pay $45. The collision arises be-
tween the discount of the customer and the promo-
tional discount. There are now three different possib-
lities:
• The customer has to pay $40 because of the promo-
tional discount.
• The customer has to pay $45 because of his cus-
tomer discount.
• The customer has to pay $35. The customer dis-
count defines a price per item of $9 and the scale
price of the promotional discount gives $2 off.
2 MODELLING DISCOUNTS
GRAPHICALLY
This section shows a new way of defining discounts
using a graphical tree, called the dTree (discount tree).
Please note that the tree is only used for illustration
and graphical modelling purposes, the calculation is
done more efficiently (cf 2.3).
2.1 The dTree Composition
This section shows the basic idea behind dTree. A
discount is usually defined for one product (it is pos-
sible to extend this to product groups). Therefore, the
root of the dTree is the product X for which a dis-
count should be defined. For each supported discount
parameter, the dTree defines one level. The nodes of
the tree consists of elements. An element is an atomic
definition of a discount parameter. All elements of
one layer define the complete discount parameter set.
The root node is product X. Level 1 of the tree is the
customer parameter. An atomic element in this level
is one customer, ie Customer A. For each customer, an
element is created. This is usually a finite set. Level 2
of the tree is the quantity parameter. For each possi-
ble quantity (1, 2, 3,. . . ), one element is created. This
set is infinite because a customer can buy whatever
quanitity he wants to buy of product X. Level 3 of the
tree shows the time. An element of this parameter is
one day (ie 21. May 1999). This is also an infinite set.
To make the example easier, all infinite sets are re-
stricted to finite ones by defining upper (and lower)
bounds. The quanitity is restricted to 3 (a customer
cannot buy more than three product X at once). The
time is restricted from the 21.05.99 to 23.05.99 (it is
not possible to define discounts with time restrictions
for other days). It is also assumed that our shop has
only three customers (A,B,C). Then a discount can be
defined by connecting one element of each layer. This
is a path in the tree from the root to the leaf. A pos-
sible path is Product X, Customer B, 1, 23.05, shown
in figure 1(a).
A path in the tree defines exactly one discount.
Therefore, a discount value can be assigned (for ex-
ample 10% off). The path of figure one describes the
discount: Customer B gets 10% off of Product X if he
buys exactly 1 product X at 23. May.
The main advantage of the paths are that it is very
easy to define when a collision occurs:
ICEIS 2006 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
450