1 The Rate Structure Pattern: An Analysis Pattern for the Flexible Parameterization of Charges, Fees and Prices Volker Pleß, Giselher Pankratz and Andreas Bortfeldt Diskussionsbeitrag Nr. 386 Februar 2006 Diskussionsbeiträge des Fachbereichs Wirtschaftswissenschaft der FernUniversität in Hagen Herausgegeben vom Dekan des Fachbereichs
2 The Rate Structure Pattern: An Analysis Pattern for the Flexible Parameterization of Charges, Fees and Prices Volker Pleß, Giselher Pankratz and Andreas Bortfeldt Abstract: Often charges have to be paid by customers in advance of services. Therefore, the flexible configuration of rate structures is an important distinguishing mark of competing companies. Since the prompt adaptation of changes to new situations enhances competitive power, there is vital need to individually adapt the rate structures depending on both customer groups and the transaction under consideration. However, due to automated bulk processing fees often are computed by legacy applications using fixed parameters. Therefore, a change of rate structures often requires modification of software. In the article at hand we present an analysis pattern which allows for the flexible parameterization of rate structures of various kinds as well as the introduction of new charges and parameters without changing software. The parameterization concerns the properties of customers as well as the characteristics of the transaction under consideration. In addition, the proposed rate structure pattern allows for multi-client capability and meets the requirements of bulk processing. The advantages of the pattern are demonstrated referring to a business application for calculating fees designed for transaction banks in the securities business. However the pattern may be of great value to other domains where services are billed to the customers, e.g. insurances and others. Key words: Analysis Pattern, Object-Oriented Software Engineering, Rate structure Fachbereich Wirtschaftswissenschaft, FernUniversität in Hagen Profilstr. 8, D Hagen, Deutschland Tel.: 02331/ Fax: 02331/
3 1 The Rate Structure Pattern: An Analysis Pattern for the Flexible Parameterization of Charges, Fees and Prices Volker Pleß, Steria-Mummert Consulting, Düsseldorf, Germany Giselher Pankratz, FernUniversität - University of Hagen, Germany Andreas Bortfeldt, FernUniversität - University of Hagen, Germany 1 Introduction Since customers become more and more sensitive to prices, a company s ability to launch new and innovative rate structures enhances the company s competitive power. In particular, rate structures should satisfy the needs of various groups of customers asking for different kinds of services. For example, telephone companies offer their customers different rates depending on time, duration and destination of the telephone call. Another example is car insurance companies that offer various rates depending on type of car, distance traveled annually, or profession of the customer. A third example is banks offering services for private customers in the securities business. All these companies introduce new rates or change existing rates frequently due to competition. In order to promptly adapt the rate structure to new market situations, flexible business applications are favored which allow domain experts to introduce or alter rates without reprogramming their application. Characteristic to flexibility in rate structures is that, at run time - the method for computing the rate may be changed or - the parameters, which determine the rate s value may be changed, or even new parameters may be introduced, or - the situation, in which a certain rate should apply may be altered or even new situations defined. However, most of existing legacy applications lack flexibility by computing charges using a fixed set of parameters and hard-coded pricing methods. Therefore, changing rates or defining new rates often requires extensive modifications of software. These shortcomings become
4 2 even more critical in view of the demands on modern multi-client systems which must be able to manage different pricing schemes of many companies within a single shared application, e.g. in the context of application service providing. Thus, the development of new business applications often appears inevitable, facing software developers with the problem of collecting and adequately modeling all of these requirements at the time of system analysis. In looking for solutions, we remember that the problems at hand are generic, i.e. they appear in many application domains. Therefore, if a solution exists in one application domain, why not adapt this solution to the actual application domain? Before doing so, the solution has to be formulated independent of the current application. Conceptual models describing generic software solutions which may be applied to several contexts often are called patterns. Patterns play an important role in object-oriented software development. They make it easier to communicate expert s knowledge and to re-use well-tried solutions. By this, patterns improve software quality while reducing development time and costs. Today, software patterns are predominantly applied during the design phase of software development with great success . For our current purpose we focus on the analysis phase of the software development process. Contrary to design patterns which provide solutions to rather technical implementation-related issues, the so-called analysis patterns represent solutions to recurring problems that are closely related to a business domain [2, 3]. They provide conceptual models that describe the domain knowledge of business professionals. The benefits of analysis patterns have already been empirically proven. As recent investigations show, the quality of business object models improves as novice modelers use analysis patterns . Obviously, modeling complex rate structures allowing the flexible computation of charges is a recurring problem in diverse business domains. However, no such analysis pattern has been published so far. Therefore, we propose the rate structure pattern as a conceptual model for flexible rate structures. We discovered the rate structure pattern while analyzing many applications in banks offering services for private customers in the securities business. All in all, these applications exhibit a broad variety of rate structures. Based on this analysis, we developed a unified model of a multi-client application for managing rate structures in the securities business. The rate struc-
5 3 ture pattern presented in the following constitutes the domain-independent nucleus of that general model. We found that the problem of flexible rate structures can be divided into two sub-problems each leading to a pattern of its own. The first sub-pattern models basic methods for the computation of prices and is therefore called basic pricing pattern. The second pattern, called the constraints definition pattern, takes into consideration that certain business conditions must be satisfied before applying a given rate. Both sub-patterns are presented in the object oriented approach as class diagrams using the unified modeling language. Finally, the rate structure pattern is obtained by just joining both sub-patterns. 2 The Basic Pricing Pattern A pricing method maps some properties of the object to be priced to a monetary value. In business applications often similar pricing methods are used which are independent of the application domain. The calculation of percentage is a prominent example appearing in many applications, e.g. calculating the charge as a percentage of the sales volume. What should a general model look like that allows for computing prices? In answering this question, we focus on commonly used pricing methods. These methods comprise: the calculation of the percentage of a given value, using a graduated price scale, or just charging a fixed value independently of the properties of the object to be priced. In addition, any calculated price may be bounded by a cap or a floor. When applying these methods, several parameters need to be defined. Table 1 summarizes the methods we consider, along with their relevant parameters.
6 4 Method Explanation Relevant parameters fixed amount calculation of percentage graduated price scale The result is independent of the properties of the business transaction. The result is calculated as the percentage of the value of a reference parameter of the object to be priced. Optionally, a cap and/or a floor can be defined. This method extends both methods above. For each step, either a fixed amount or a constant percentage rate is defined. The current value of the reference parameter determines which stage has to be chosen. amount percentage rate, selected reference parameter, cap (optional), floor (optional) steps of the scale, selected reference parameter, per step: percentage rate or fixed amount Table 1. Pricing methods of the basic pricing pattern. A stable model that represents basic pricing requirements should provide the opportunity not only to modify the parameter values but also to easily change the calculation method itself. The class diagram shown in figure 1 provides a solution to the problem described above. Figure 1. Basic pricing pattern.
7 5 Before we may compute prices we have to customize the model to the actual pricing situation: At first, an attribute of the item to be priced has to be chosen which serves as the reference parameter. This parameter type is assigned to the price scale. Second, the steps of the price scale are defined each having either a different percentage value or a different fixed amount. Third, the result may be limited by specifying a cap or a floor. In order to enable the user to change the calculation method and/or the parameters at any time, the model is augmented by a validity period. Different validity periods allow the user to fall back to previous pricing schemes, e.g. in case of the cancellation of a pricing. For illustrating how the model works we consider a customer who is charged a price for purchasing some quantity of a good. The price is to be computed as a percentage of the sales volume. Large sales volumes are charged a lower percentage rate than small ones. Thus, a price scale is defined breaking down the sales volume into, for example, two steps. The first ranging from zero up to $ 1000 with a percentage rate of 7%, and a second step including all sales volumes greater than $ 1000 charging the customer just 5%. Obviously, the item to be priced is the customer s purchase, and the sales volume serves as the selected reference parameter. Depending on the value of this parameter, the corresponding step of the price scale is chosen. By setting the percentage flag properly, the parameterized model tells us that a percentage value is to be computed in both steps, taking the selected reference parameter as the input variable. For simplicity reasons, we confine ourselves to the standard case here. However, the model may be augmented if needed by selecting two parameter types instead of a single one: the first parameter type gives the actual step of the price scale whilst the other serves as the base for computing the percentage value. The basic pricing pattern presented here provides a flexible solution to common pricing situations. In particular, - the method for computing the price may be changed (fixed amount vs. percentage, variable number of steps) as well as - all relevant parameters, which determine the price (table 1), may be changed without altering the model.
8 6 Since the user may change the pricing method at run time, software modifications are no longer necessary. Nevertheless, the basic pricing pattern does not cover all aspects of our problem of modeling flexible rate structures. Flexibility in rate structures also implies the possibility of defining and altering the conditions under which a rate is applied. For example, sometimes regular customers are charged according to a preferred rate than occasional customers. If such requirements exist, context information concerning the object or transaction to be priced has to be taken into account. To this end, we propose another analysis pattern, called the constraints definition pattern. 3 The Constraints Definition Pattern Often a rate is linked to several constraints which further qualify its application range. Before applying a rate, the object or transaction to be priced has to be tested against these constraints in order to pick the right rate. For example, telephone companies may offer special rates for oversea calls at night, i.e. each telephone call is to be tested whether it has an oversea destination and whether it is held in the period from 10 p.m. to 6 a.m. If the call meets both constraints, the call is charged with the special rate. In order to satisfy these requirements, a model is needed that allows for classifying arbitrary items according to a set of parameters. We propose a generic model, called the constraints definition pattern. Its class diagram is shown in figure 2.
9 7 Figure 2. Constraints definition pattern. In order to classify the item to be tested at least one parameter of the item has to be inspected. For each relevant parameter a range of allowed values can be defined constituting an elementary constraint. Complex multi-dimensional constraints are obtained by defining several elementary constraints which are joined by a logical operation. For example, using logical AND, an item belongs to a certain category only if all of its relevant parameters meet their corresponding elementary constraints. Customizing this pattern requires the following steps: At first, the user defines the range of values the item s parameters are allowed to have. The range of feasible values of a parameter may be a list of discrete values, a continuous range or a combination of both. Secondly, elementary constraints are defined by assigning the parameters a subset of their allowed values. A given elementary constraint is met if the actual value of the item s parameter falls within the constraint s range of values. Since constraints may change over time, the set of constraints is provided with a validity period. For illustrating the model we again consider the example of the telephone company above. The telephone call is our item to be tested. With respect to the rate to be applied, a telephone call has two relevant parameters, the time of the call and the call s destination. As we want to
10 8 distinguish oversea calls held at night from other telephone calls, we define two elementary constraints. The first constraint restricts a call s destination to all oversea destinations. The second constraint restricts a call s time to the period from 10 p.m. to 6 a.m. The constraints definition pattern reveals its advantages when constraints undergo frequent changes. The constraints are changed just by assigning the item s parameters a different subset of their restricted values or selecting other parameter types of the item to define elementary constraints. Thus, the conditions on which a certain rate should apply may easily be changed, or new conditions may be defined at run time without modifying the model of the resulting application. With the powerful models of the basic pricing pattern and the constraints definition pattern in our hands we now return to our original problem of managing flexible rate structures. 4 The Rate Structure Pattern The challenge of modeling flexible rate structures is twofold. On the one hand, the pricing methods itself are a matter of change. On the other hand, certain pricing methods should apply only in specific situations. In this contribution, both of these requirements have been addressed separately so far by the basic pricing pattern and the constraints definition pattern, respectively. Combining these patterns yields a very flexible solution to the problem at hand. The class diagram of the resulting rate structure pattern is shown in figure 3.
11 9 Figure 3. Rate structure pattern. The lower half of the class diagram shows the constraints definition pattern. By means of the constraints definition pattern, domain experts may control the conditions under which a rate will apply. The calculation of prices or fees is modeled using the basic pricing pattern shown in the upper half of figure 3. The two patterns are linked by the Rate class, which takes over the role of the Pricing class of the basic pricing pattern as well as the role of the ConstraintsSet class in the constraints definition pattern. The Price class of the basic pricing pattern and the Category class of the constraints definition pattern are merged into the new Charge class. The item to be charged defines the rate to be applied in two ways. At first, its parameters define the pricing situation. Only items whose parameter values fulfill all constraints are subject to a certain rate. Second, a chosen reference parameter of the item to be priced serves as basis value for computing the charge. In both cases we make use of the type object pattern  treat-
12 10 ing the parameter s type and parameter s value of an item to be charged separately. Whereas the definition of a rate relies on the parameter s type the charge is calculated using the parameter s value. The rate structure pattern is designed to allow for multi-client capability. By that, many different clients are able to use a single application but having different rate structures. For each client, an arbitrary number of rates can be specified by individually defining the set of constraints and the rules for computing the fee. To sum up, the rate structure pattern s main benefits are its flexibility in conjunction with its multi-client capability. Due to the pattern s flexibility, domain experts are able to change the rate structure at run time without altering the model. Thus, applications based on the rate structure pattern allow for quick adaptation to new market situations without modifying software. 5 Applying the rate structure pattern The rate structure pattern presented has proven advantageous in a business application for calculating fees designed for transaction banks in the securities business. The transaction bank provides services for their clients, a number of banks having private customers. Such services are, e.g. the management of private customer s orders and their settlement as well as the safe custody. Instead of running an application of its own, the banks use the application of the transaction bank for routing private customers orders to the stock exchange as well as for settlement. Thus, while on the one hand, the private customer has to pay fees to his or her bank, on the other hand, the bank in turn is charged by the transaction bank. The application uses the rate structure pattern both for the fees of the bank as well as for the fees of the transaction bank. For each service several charges may be employed. For example when placing an order to the stock exchange, the customer is charged the broker s commission, the bank s premium and expenses of third parties. Different rates are applied depending on the details of the transaction under consideration. The rate primarily depends on the type of security, i.e. bonds are charged differently from stocks or investment funds. Also, the customer group determines the rate, since regular customers may be charged less than occasional customers. Depending on the sales channel, special rates may be applied, e.g. when placing an order by internet. The
13 11 fee s amount depends on several factors, too. For example the bank s premium depends on the number of traded stocks. Due to competition between transaction banks, the application also provides flexible rate structures for charging banks. The most important factor for the calculation of the fee is the number of transactions a bank mandates to the transaction bank. Other factors like the number of deposits may also be applied. The application is designed as a multi-client system, i.e. the transaction bank processes the transactions of many banks on a single host application. Thus, costs per transaction are reduced due to economies of scale. Since the rate structure pattern provides a generic model we believe that it may also be of great value to application domains others than banks. 6 References 1. Bolloju, N. Improving the Quality of Business Object Models using Collaboration Pattern. Commun. ACM 47, 7 (July 2004), Coad, P. Object-oriented patterns. Commun. ACM 35, 9 (Sept. 1992), Fowler, M. Analysis Patterns: Reusable Object Models. Addison-Wesley, Menlo Park, CA, Gamma, E., Helm, R., Johnson, R., Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, Johnson, R., Wolf, B. Type Object in Pattern Languages of Program Design 3. Addison-Wesley, Reading, MA, 1998.
14 Die Diskussionspapiere ab Nr. 183 (1992) bis heute, können Sie im Internet unter einsehen und zum Teil downloaden. Die Titel der Diskussionspapiere von Nr 1 (1975) bis 182 (1991) können bei Bedarf im Fachbereich Wirtschaftswissenschaft angefordert werden: FernUniversität, z. Hd. Frau Huber oder Frau Mette, Postfach 940, Hagen. Die Diskussionspapiere selber erhalten Sie nur in den Bibliotheken. Nr Jahr Titel Autor/en Spreading Currency Crises: The Role of Economic Interdependence Berger, Wolfram Wagner, Helmut Planung des Fahrzeugumschlags in einem Seehafen- Automobilterminal mittels eines Multi-Agenten-Systems Fischer, Torsten Gehring, Hermann A parallel tabu search algorithm for solving the container loading problem Die Wahrheit entscheidungstheoretischer Maximen zur Lösung von Individualkonflikten - Unsicherheitssituationen - Bortfeldt, Andreas Gehring, Hermann Mack, Daniel Mus, Gerold Zur Abbildungsgenauigkeit des Gini-Koeffizienten bei relativer wirtschaftlicher Konzentration Steinrücke, Martin Entscheidungsunterstützung bilateraler Verhandlungen über Auftragsproduktionen - eine Analyse aus Anbietersicht Steinrücke, Martin Die Relevanz von Marktzinssätzen für die Investitionsbeurteilung zugleich eine Einordnung der Diskussion um die Marktzinsmethode Evaluating representatives, parliament-like, and cabinet-like representative bodies with application to German parliament elections Konzernabschluss und Ausschüttungsregelung im Konzern. Ein Beitrag zur Frage der Eignung des Konzernabschlusses als Ausschüttungsbemessungsinstrument Terstege, Udo Tangian, Andranik S. Hinz, Michael Theoretische Grundlagen der Gründungsfinanzierung Bitz, Michael Historical background of the mathematical theory of democracy Tangian, Andranik S MCDM-applications of the mathematical theory of democracy: choosing travel destinations, preventing traffic jams, and predicting stock exchange trends Tangian, Andranik S.
15 Sprachregelungen für Kundenkontaktmitarbeiter Möglichkeiten und Grenzen Fließ, Sabine Möller, Sabine Momma, Sabine Beate A Non-cooperative Foundation of Core-Stability in Positive Externality NTU-Coalition Games Finus, Michael Rundshagen, Bianca Combinatorial and Probabilistic Investigation of Arrow s dictator Tangian, Andranik A Grouping Genetic Algorithm for the Pickup and Delivery Problem with Time Windows Pankratz, Giselher Planen, Lernen, Optimieren: Beiträge zu Logistik und E-Learning. Festschrift zum 60 Geburtstag von Hermann Gehring Bortfeldt, Andreas Fischer, Torsten Homberger, Jörg Pankratz, Giselher Strangmeier, Reinhard 339a 2003 Erinnerung und Abruf aus dem Gedächtnis Ein informationstheoretisches Modell kognitiver Prozesse Rödder, Wilhelm Kuhlmann, Friedhelm 339b 2003 Zweck und Inhalt des Jahresabschlusses nach HGB, IAS/IFRS und US-GAAP Hinz, Michael Voraussetzungen, Alternativen und Interpretationen einer zielkonformen Transformation von Periodenerfolgsrechnungen ein Diskussionsbeitrag zum LÜCKE-Theorem Terstege, Udo Equalizing regional unemployment indices in West and East Germany Tangian, Andranik Coalition Formation in a Global Warming Game: How the Design of Protocols Affects the Success of Environmental Treaty-Making Eyckmans, Johan Finus, Michael Stability of Climate Coalitions in a Cartel Formation Game Finus, Michael van Ierland, Ekko Dellink, Rob The Effect of Membership Rules and Voting Schemes on the Success of International Climate Agreements Equalizing structural disproportions between East and West German labour market regions Finus, Michael J.-C., Altamirano-Cabrera van Ierland, Ekko Tangian, Andranik Auf dem Prüfstand: Die geldpolitische Strategie der EZB Kißmer, Friedrich Wagner, Helmut
16 Globalization and Financial Instability: Challenges for Exchange Rate and Monetary Policy Wagner, Helmut Anreizsystem Frauenförderung Informationssystem Gleichstellung am Fachbereich Wirtschaftswissenschaft der FernUniversität in Hagen Fließ, Sabine Nonnenmacher, Dirk Legitimation und Controller Pietsch, Gotthard Scherm, Ewald Controlling im Stadtmarketing Ergebnisse einer Primärerhebung zum Hagener Schaufenster-Wettbewerb Fließ, Sabine Nonnenmacher, Dirk Zweiseitige kombinatorische Auktionen in elektronischen Transportmärkten Potenziale und Probleme Pankratz, Giselher Methodisierung und E-Learning Strangmeier, Reinhard Bankwitz, Johannes 353 a 2003 A parallel hybrid local search algorithm for the container loading problem 353 b 2004 Übernahmeangebote und sonstige öffentliche Angebote zum Erwerb von Aktien Ausgestaltungsmöglichkeiten und deren Beschränkung durch das Wertpapiererwerbs- und Übernahmegesetz Mack, Daniel Bortfeldt, Andreas Gehring, Hermann Wirtz, Harald Open Source, Netzeffekte und Standardisierung Maaß, Christian Scherm, Ewald Modesty Pays: Sometimes! Finus, Michael Nachhaltigkeit und Biodiversität Endres, Alfred Bertram, Regina Eine Heuristik für das dreidimensionale Strip-Packing-Problem Bortfeldt, Andreas Mack, Daniel Netzwerkökonomik Martiensen, Jörn Competitive versus cooperative Federalism: Is a fiscal equalization scheme necessary from an allocative point of view? Arnold, Volker Gefangenendilemma bei Übernahmeangeboten? Eine entscheidungs- und spieltheoretische Analyse unter Einbeziehung der verlängerten Annahmefrist gem. 16 Abs. 2 WpÜG Wirtz, Harald
17 Dynamic Planning of Pickup and Delivery Operations by means of Genetic Algorithms Möglichkeiten der Integration eines Zeitmanagements in das Blueprinting von Dienstleistungsprozessen Controlling im Stadtmarketing - Eine Analyse des Hagener Schaufensterwettbewerbs Ein Tabu Search-Verfahren zur Lösung des Timetabling-Problems an deutschen Grundschulen Die Bedeutung von Informationen, Garantien und Reputation bei integrativer Leistungserstellung The Influence of Control Systems on Innovation: An empirical Investigation Permit Trading and Stability of International Climate Agreements Zeitdiskrete vs. zeitstetige Modellierung von Preismechanismen zur Regulierung von Angebots- und Nachfragemengen Marktversagen auf dem Softwaremarkt? Zur Förderung der quelloffenen Softwareentwicklung Die Konzentration der Forschung als Weg in die Sackgasse? Neo-Institutionalistische Überlegungen zu 10 Jahren Anreizsystemforschung in der deutschsprachigen Betriebswirtschaftslehre Economic Analysis of Cross-Border Legal Uncertainty: the Example of the European Union Pankratz, Giselher Fließ, Sabine Lasshof, Britta Meckel, Monika Fließ, Sabine Wittko, Ole Desef, Thorsten Bortfeldt, Andreas Gehring, Hermann Prechtl, Anja Völker-Albert, Jan- Hendrik Littkemann, Jörn Derfuß, Klaus Altamirano-Cabrera, Juan-Carlos Finus, Michael Mazzoni, Thomas Christian Maaß Ewald Scherm Süß, Stefan Muth, Insa Wagner, Helmut Pension Reforms in the New EU Member States Wagner, Helmut Die Bundestrainer-Scorecard Zur Anwendbarkeit des Balanced Scorecard Konzepts in nicht-ökonomischen Fragestellungen Eisenberg, David Schulte, Klaus
18 Monetary Policy and Asset Prices: More Bad News for Benign Neglect Berger, Wolfram Kißmer, Friedrich Wagner, Helmut Zeitstetige Modellbildung am Beispiel einer volkswirtschaftlichen Produktionsstruktur Mazzoni, Thomas Economic Valuation of the Environment Endres, Alfred Netzwerkökonomik Eine vernachlässigte theoretische Perspektive in der Strategie-/Marketingforschung? Diversity management`s diffusion and design: a study of German DAX-companies and Top-50-U.S.-companies in Germany Fiscal Issues in the New EU Member Countries Prospects and Challenges Mobile Learning Modetrend oder wesentlicher Bestandteil lebenslangen Lernens? Zur Berücksichtigung von Unsicherheit in der Theorie der Zentralbankpolitik Maaß, Christian Scherm, Ewald Süß, Stefan Kleiner, Markus Wagner, Helmut Kuszpa, Maciej Scherm, Ewald Wagner, Helmut Effort, Trade, and Unemployment Altenburg, Lutz Brenken, Anke Do Abatement Quotas Lead to More Successful Climate Coalitions? Altamirano-Cabrera, Juan-Carlos Finus, Michael Dellink, Rob Continuous-Discrete Unscented Kalman Filtering Singer, Hermann Informationsbewertung im Spannungsfeld zwischen der Informationstheorie und der Betriebswirtschaftslehre The Rate Structure Pattern: An Analysis Pattern for the Flexible Parameterization of Charges, Fees and Prices Reucher, Elmar Pleß, Volker Pankratz, Giselher Bortfeldt, Andreas