<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFO1134</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2017.124</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Name Your Own Price on Data Marketplaces</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Stahl</surname><given-names>Florian</given-names></name><email xlink:href="florian.stahl@uni-muenster.de">florian.stahl@uni-muenster.de</email><xref ref-type="aff" rid="j_info1134_aff_001">1</xref><bio>
<p><bold>F. Stahl</bold> holds a PhD in Information Systems (Münster University, Germany), an MSc in E-Business and Information System (Newcastle University, UK) and a BA in Business Administration (Giessen University, Germany). Currently, he is a post doc at the Information Systems department of Münster University, Germany, working in the Databases and Information Systems (DBIS) Group lead by Prof. Vossen. His current research focus is on efficient on-demand provisioning of data and information tailored to users’ or a community’s needs as well as on finding appropriate pricing models for such services.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Vossen</surname><given-names>Gottfried</given-names></name><email xlink:href="g.v@wwu.de">g.v@wwu.de</email><xref ref-type="aff" rid="j_info1134_aff_001">1</xref><xref ref-type="aff" rid="j_info1134_aff_002">2</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>G. Vossen</bold> is a professor of Computer Science in the Department of Information Systems at the University of Münster in Germany. He is a fellow of the German Computer Science Society and an honorary professor at the University of Waikato Management School in Hamilton, New Zealand. He received his master’s and PhD degrees as well as the German Habilitation from the Technical University of Aachen in Germany, and is the European Editor-in-Chief of Elsevier’s Information Systems – An International Journal. His current research interests include conceptual as well as application-oriented challenges concerning databases, information systems, business process modelling, and Web 2.0 applications, cloud computing, and big data.</p></bio>
</contrib>
<aff id="j_info1134_aff_001"><label>1</label><institution>ERCIS Münster</institution>, <country>Germany</country></aff>
<aff id="j_info1134_aff_002"><label>2</label><institution>Waikato Management School</institution>, Hamilton, <country>New Zealand</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2017</year></pub-date><pub-date pub-type="epub"><day>1</day><month>1</month><year>2017</year></pub-date><volume>28</volume><issue>1</issue><fpage>155</fpage><lpage>180</lpage><history><date date-type="received"><month>11</month><year>2016</year></date><date date-type="accepted"><month>3</month><year>2017</year></date></history>
<permissions><copyright-statement>© 2017 Vilnius University</copyright-statement><copyright-year>2017</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>A novel approach to pricing on data marketplaces is proposed, which is based on the <italic>Name Your Own Price</italic> (NYOP) principle: customers suggest their own price for a (relational) data product and in return receive a custom-tailored one. The result is a fair pricing scheme where sellers can achieve a higher revenue, while buyers receive a product which matches both their preferences and budget. NYOP is contrasted with previous research on view-based pricing on data marketplaces as well as on discount schemes to increase revenue.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>data pricing</kwd>
<kwd>data quality</kwd>
<kwd>data marketplaces</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_info1134_s_001">
<label>1</label>
<title>Introduction</title>
<p>Information is one of the key elements of the Internet and has been described as the fuel of an information economy (Hui and Chau, <xref ref-type="bibr" rid="j_info1134_ref_013">2002</xref>). Consequently, data – as the basic unit of information – and data-related products are now being traded on <italic>data marketplaces</italic>, which act as intermediaries between providers and users (customers) of data. In this paper, a pricing scheme is introduced that is fair to both buyers and sellers.</p>
<p>Even though there is undoubtedly a market for data and data-related services as well as the recognition that data has a price (Miller, <xref ref-type="bibr" rid="j_info1134_ref_022">2012</xref>; Bodenbenner <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_005">2011</xref>; Tempich <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_038">2011</xref>), there is little understanding so far of where this price stems from Balazinska <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_001">2011</xref>), Miller (<xref ref-type="bibr" rid="j_info1134_ref_022">2012</xref>). Similar to the observation that data quality can best be gauged by an eventual consumer, it can be argued that its value is different to distinct people (Shapiro and Varian, <xref ref-type="bibr" rid="j_info1134_ref_030">1999</xref>). From an interview study (Muschalle <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_023">2012</xref>) and the relevant economic literature, e.g. (Shapiro and Varian, <xref ref-type="bibr" rid="j_info1134_ref_030">1999</xref>), it is obvious that the value of data is highly domain-specific, owing to the fact that data has no inherent meaning (Davenport and Prusak, <xref ref-type="bibr" rid="j_info1134_ref_007">2000</xref>). The combination of both subjective <italic>quality</italic> attribution and subjective <italic>value</italic> attribution makes the matter even more complicated. Thus, it can be stated that pricing on data marketplaces in general is still a vastly unsolved issue. In particular the fact that it is difficult for providers to gauge the willingness to pay of customers, as they do not know the purpose the data is being bought for. Furthermore, no pricing model exists that considers two providers offering similar information goods (Balazinska <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_002">2013</xref>). In this paper, which extends (Stahl and Vossen, <xref ref-type="bibr" rid="j_info1134_ref_032">2016a</xref>) and is based on Stahl (<xref ref-type="bibr" rid="j_info1134_ref_031">2015</xref>), we present a novel framework addressing these issues.</p>
<p>As an illustrative example, consider two providers of weather forecast data. Weather data has a number of characteristics that makes it particularly interesting. For instance, it is relevant that weather forecast data is a consumable information good which allows for considering timeliness when pricing because most of the time weather data is only relevant for future dates. To create this data, the weather is constantly observed and different data are collected using a number of weather stations. These raw weather data are then used to forecast the weather for several days to come. More precisely, particular attributes of the weather, such as temperature, are forecast. Thus, it is supposed that weather data providers <italic>A</italic> and <italic>B</italic> both provide past, current, and forecast weather data, i.e. providers constantly fill their database with new data as well as update forecast data which becomes more precise the closer the forecast date comes. It is further supposed that the data is not complete, as some data may get lost due to equipment malfunction.</p>
<p>In the remainder of this paper, we first review previous work on pricing of data on data marketplaces and define the exact research gap from that, namely a pricing mechanism that considers heterogeneous willingness to pay and is able to provide custom-tailored data products even when competing data sources are available. Based on this, we look at the most important factor when buying data products, which is data quality; we do this in pricing-focused fashion. Then, data marketplaces will be formally defined in Section <xref rid="j_info1134_s_003">3</xref>. Subsequently, Section <xref rid="j_info1134_s_004">4</xref> will extensively discuss data quality and its dimensions, in order to establish which dimensions can be used when pricing data products. After that, Section <xref rid="j_info1134_s_009">5</xref> develops a quality-based pricing model for data marketplaces using the <italic>MCKP</italic>. Eventually, this paper is concluded in Section <xref rid="j_info1134_s_016">6</xref> by summarizing the main points and outlining possible future work.</p>
</sec>
<sec id="j_info1134_s_002">
<label>2</label>
<title>Related Work and Problem Outline</title>
<p>In 2011, Balazinska <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_001">2011</xref>) put the topics of data marketplaces and data pricing on the research agenda of the database community, identifying an understanding of how the price of data is determined and modified on data marketplaces as one of the main problems. In general, work on data pricing can be categorized into two groups: (1) <italic>query-based pricing</italic> and (2) <italic>quality-based pricing</italic>. In the first context, Koutris <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_016">2012a</xref>) present a framework that allows data providers to set prices for some (sets of) views and then computes prices for queries automatically. Furthermore, it is ensured that the resulting price function is arbitrage-free as well as discount-free. A prototype has been described in Koutris <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_017">2012b</xref>). It provides guidance to sellers in that it highlights if the set prices violate the arbitrage-free criterion. In a next step, presented in Koutris <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_018">2013</xref>), the group introduced <italic>QueryMarket</italic>, a middle-layer software that can be run atop of any database management system that supports the <italic>SQL</italic>. Besides the arbitrage-free criterion it allows multiple sellers and shares revenue fairly between them. While this system has an advanced capability to calculate prices for individual queries based on an overall price, it does not address the problem of how much data is actually worth. Also, it does not take into account that the same query may have a different value to different people, which can be exploited to maximize profits.</p>
<p>Balazinska <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_002">2013</xref>) present a discussion of pricing on relational data, arguing that views can essentially be interpreted as versions of data, a suggestion that will also be applied in this paper. Furthermore, they identify three open problems. Firstly, they name pricing of data updates, i.e. what price to charge if a consumer has purchased a data set that has been updated in the meantime and the consumer only wants to pay for the new data. Secondly, they mention the pricing of integrated data and present a complex value chain in which provider <italic>A</italic> generates data, provider <italic>B</italic> conducts data mining, and provider C integrates the mining result with other data sets. Finally, they discuss the pricing of competing data sources that provide essentially the same data, but in a different quality.</p>
<p>The first challenge can be addressed by calculating the difference between the full price of the new and the old data product. This is similar to the approach suggested by Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_037">2014</xref>) for buying samples of <italic>XML</italic> data. The second problem can be addressed by introducing intermediary pricing for all providers refining the raw data. This means the raw data vendor operates using established means. Furthermore, all vendors following in the value chain have to deal with the output price of the lower level vendor as cost and build their prices accordingly. The last challenge will be addressed in this paper.</p>
<p>Another group that investigates data pricing and that focuses on <italic>quality-based</italic> pricing is formed around Tang. They argue that using views to attach prices is too coarse and adopt the idea of attaching prices to tuples and use a pricing model that is based on minimal provenance (Tang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_035">2013a</xref>). However, computing prices in this model is <inline-formula id="j_info1134_ineq_001"><alternatives><mml:math>
<mml:mi mathvariant="script">NP</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{NP}$]]></tex-math></alternatives></inline-formula>-hard. Therefore, they also present and evaluate heuristics to approximate the prices. In Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>), the authors introduce the concept of trading data quality for a discount, with cheaper data being less accurate. This is in contrast to all other work looked at so far, in which buying data is a “take-it-or-leave-it-decision” – a customer may buy the data at the advertised price or not buy it at all. The authors propose to offer buyers the option of naming their own price in order to address customers with a willingness to pay below the full price.</p>
<p>Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>) present a framework in which – if less than the full price is offered – values are randomly drawn from a probability distribution, where the distance between the probability distribution and the real distribution correlates to the discount. This approach is similar to Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_020">2013</xref>) in that both approaches offer data with lower quality at cheaper prices. While Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>) allow customers to name a price and decrease the quality accordingly, Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_020">2013</xref>) use the standard deviation to calculate prices.</p>
<p>Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_037">2014</xref>) present a framework to price <italic>XML</italic> data, keeping the idea of allowing users to trade quality for a discount. In this work, the authors focus on completeness as a quality criterion, i.e. users can decide to get an incomplete sample by proposing a price lower than that advertised by the vendor. To this end, an algorithm collocates a sub-tree of the overall <italic>XML</italic> tree at random that matches the price offered by the customer. They suppose two application scenarios for this framework. Users might be on a restricted budget and hence satisfied with a subset of the data, or users might want to get a sample to explore the data set. While the latter is a reasonable argument, bearing in mind that data is an experience information good, the first case has a minor weakness: customers with limited funds are usually particularly price-sensitive; therefore, it is questionable whether they are willing to buy random data as they would not know what they get for their little budget. That said, the idea of asking customers to reveal their preferences by naming a price is further explored here.</p>
<p>From an economic point of view, this can be seen as a form of Pay What You Want (PWYW) or Name Your Own Price (NYOP) pricing. In this case, the speciality is that the threshold value is known and that for prices below it quality is adjusted. Furthermore, the provider receives exactly the reservation price of the customer who in turn receives a personalized (i.e. quality degraded) offer, as long as a customer’s willingness to pay is below the ask price. If it is above the ask price, the demander receives some surplus. From this, it can be concluded that the profit with NYOP is greater, as it reaches additional customers. However, this only holds true if customers do not change from the high-end product to a cheaper version.</p>
<p>Commonly, it is suggested that online retailers can employ much more fine-grained pricing models compared to offline alternatives (Hinz <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_012">2011</xref>). However, there is little guidance for firms (Hinz <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_012">2011</xref>; Balazinska <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_001">2011</xref>). Despite initial attempts (Balazinska <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_001">2011</xref>; Koutris <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_016">2012a</xref>, <xref ref-type="bibr" rid="j_info1134_ref_017">2012b</xref>; Tang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_035">2013a</xref>, <xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>, <xref ref-type="bibr" rid="j_info1134_ref_037">2014</xref>), the challenge of lacking guidance remains, particularly if multiple data providers are concerned (Balazinska <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_002">2013</xref>). Furthermore, to date, there is no understanding for value of data (Miller, <xref ref-type="bibr" rid="j_info1134_ref_022">2012</xref>). Both research groups, while providing technical means to model prices, do not address the more pressing issue of pricing data based on perceived customer value. Our work will particularly focus on a pricing scheme that supports data providers in setting appropriate prices which will also incorporate the idea that data sets are not of equal value to different people, which can be exploited to maximize profits. In this way, we follow the view-based approach of Balazinska <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_002">2013</xref>) as well as the idea of quality-based pricing suggested by Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>) and we are able to provide a value-based pricing scheme that even allows for pricing competing sources.</p>
<p>Precisely, we introduce an approach that does not require sellers to have an idea of the value of their goods. This will be done by adopting the NYOP idea implicitly used by Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>) and combining it with a hidden threshold and <italic>Goldilocks Pricing</italic> as described by Shapiro and Varian (<xref ref-type="bibr" rid="j_info1134_ref_030">1999</xref>). This means data sets – actually views – will initially be offered at a rather high price. Then customers can name the price they are willing to pay. If it is greater than a possibly undisclosed threshold price, customers get the full quality product at their suggested price. If it is smaller, however, the view – or version for that matter – is transparently adjusted extemporaneously to meet the customer’s price. To this end, customers will have a say in how the data product is modified by stating preferences. Hence buying a data product could be compared to buying a car: for the full price one receives the full-fledged car with all possible features, such as powerful engine, expensive interior and entertainment system. However, it is also possible to buy the same car for a cheaper price if one waives one or more of the expensive features and chooses a mediocre engine and/or a less expensive interior. This mode of pricing is particularly promising if customers have very heterogeneous will (or possibilities) to pay. While basically similar to previous studies by Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>, <xref ref-type="bibr" rid="j_info1134_ref_037">2014</xref>) here more than one quality dimension will be looked at.</p>
<p>In order to make use of versioning of products, which has been established to be beneficial (Shapiro and Varian, <xref ref-type="bibr" rid="j_info1134_ref_030">1999</xref>), some assumptions are made to satisfy the prerequisites for versioning identified in Reinartz (<xref ref-type="bibr" rid="j_info1134_ref_029">2002</xref>), Narahari <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_024">2005</xref>):</p>
<list>
<list-item id="j_info1134_li_001">
<label>1.</label>
<p>Customers are heterogeneous in their willingness to pay.</p>
</list-item>
<list-item id="j_info1134_li_002">
<label>2.</label>
<p>Customers are identifiable (e.g. student id’s for student discounts).</p>
</list-item>
<list-item id="j_info1134_li_003">
<label>3.</label>
<p>Customers are not allowed to resell products.</p>
</list-item>
</list>
<p>Given that <italic>quality</italic> is also data-inherent it builds a perfect starting point for versioning. Furthermore, it also allows for an objective value comparison – if supposing that quality is <italic>the</italic> value-bearing factor for customers – of two data sets that have similar content. To this end, a reversed pricing mechanism is proposed that builds upon the idea of NYOP pricing incorporating quality as a versioning factor as well as a possibility for users to express their preferences for certain quality criteria, in order to receive a custom-tailored data product. To this end, a framework will be presented that is capable of deriving a data quality score for data traded on a data marketplace adjusted with users’ preferences. Given that data quality is inherent to all data, the method can be used domain-independently and data quality criteria have only to be adjusted with domain-specific weights.</p>
</sec>
<sec id="j_info1134_s_003">
<label>3</label>
<title>A Relational View on Data Marketplaces</title>
<p>In this work, we focus on structured data, which will be provided through an infrastructure where a data marketplace will be an electronic platform that allows for the exchange of data. It is further assumed that this data marketplace is an independent one fitting the framework presented in Stahl <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_034">2016</xref>) in order to exclude any potential bias. While the pricing of services provided through such a platform is also interesting, the focus here will be on the pricing of the good <italic>data</italic>. More precisely, data marketplaces host data for a number of providers who sell tabular, i.e. relational, data.</p>
<p>Providers sell data in a tabular format with given column names or attributes. This data can be described as a relation <italic>r</italic> with <italic>k</italic> unique attributes <inline-formula id="j_info1134_ineq_002"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${A_{i}}$]]></tex-math></alternatives></inline-formula> with domain <inline-formula id="j_info1134_ineq_003"><alternatives><mml:math>
<mml:mi mathvariant="italic">dom</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathit{dom}({A_{i}})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_004"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$1\leqslant i\leqslant k$]]></tex-math></alternatives></inline-formula>. The set of attributes is <inline-formula id="j_info1134_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$X=\{{A_{1}},\dots ,{A_{k}}\}$]]></tex-math></alternatives></inline-formula>. Consequently, the data (relation) may be described as an instance <italic>r</italic> of the relational schema <italic>R</italic>, which for simplicity is identified with <italic>X</italic>. Most of the time, data providers will not only sell one relation but many of them. Let a provider sell <inline-formula id="j_info1134_ineq_006"><alternatives><mml:math>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$s>1$]]></tex-math></alternatives></inline-formula> relation instances, then one provider can be considered providing a database instance <italic>d</italic> of size <italic>s</italic> with the corresponding schema <italic>D</italic> comprising <italic>s</italic> relation schemas.</p>
<p>While, in some cases, it might be appropriate to view an entire data marketplace as a database, in this work every provider is supposed to provide an individual database instance. This is a practical presumption based on the assumption that it would be difficult to enforce a common schema across providers. Furthermore, this would require data vendors to adapt their data to the schema of any data marketplace they are selling on.</p>
<p>Even viewing data offerings as databases can be complicated, as customers will often require data from different relations, which then have to be joined upon request. To simplify this and to add clarity, in this work data providers’ offerings will be treated as a <italic>universal relation u</italic>, a tool which has a long history in database theory, e.g. Maier <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_021">1984</xref>). For our purposes, a universal relation is created by joining all <inline-formula id="j_info1134_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi></mml:math><tex-math><![CDATA[${r_{j}}\in d$]]></tex-math></alternatives></inline-formula> in such a way that no data is lost, using a full outer join. It can be argued that joining could be done only when necessary – an approach that might be followed in an implementation; however, using only a universal relation has the advantage that no further joins are necessary during subsequent formal elaborations, which improves understandability. Furthermore, any original relation <inline-formula id="j_info1134_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${r_{j}}$]]></tex-math></alternatives></inline-formula> may be arrived at by appropriate selections and projections over <italic>u</italic>. Formally, the universal relation <italic>u</italic> over a database instance <italic>d</italic> can be defined as the full outer join of relations <inline-formula id="j_info1134_ineq_009"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${r_{1}},\dots ,{r_{l}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>It should be noted that this approach requires attribute names to be unique within each single database. However, this is a minor technicality and can be achieved by renaming when necessary.</p>
<p>Returning to the weather data example, in the following provider <italic>A</italic> uses very reliable weather sensors but fewer, which results in more complete but less extensive data. Nevertheless, because of the better sensors, provider <italic>A</italic> can forecast three days, which provider <italic>B</italic> cannot. In contrast, provider <italic>B</italic> collects more data (more attributes) using less reliable sensors and has more weather stations. Moreover, both providers collect similar but not identical data. Provider <italic>A</italic> offers data for <italic>AirPresure</italic> in hPa, <italic>Humidity</italic> in percent, and <italic>Temperature</italic> in degree centigrade. Provider <italic>B</italic> offers the same as provider <italic>A</italic> and additionally <italic>WindSpeed</italic> in km/h, <italic>Cloudage</italic> in percent, and <italic>Precipitation</italic> (rainfall) in mm. The data sets of both providers also include the date and station for which the weather is forecast (or has been recorded), as well as when the data were last updated.</p>
<table-wrap id="j_info1134_tab_001">
<label>Table 1</label>
<caption>
<p>Relation <inline-formula id="j_info1134_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${u_{A}}$]]></tex-math></alternatives></inline-formula> for provider <italic>A</italic>.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Station</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">AirPressure</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Humidity</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Temperature</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Date</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">LastUpdated</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">FRA</td>
<td style="vertical-align: top; text-align: left">1021</td>
<td style="vertical-align: top; text-align: left">52</td>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">2017-05-08</td>
<td style="vertical-align: top; text-align: left">14:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">FRA</td>
<td style="vertical-align: top; text-align: left">1020</td>
<td style="vertical-align: top; text-align: left">43</td>
<td style="vertical-align: top; text-align: left">19</td>
<td style="vertical-align: top; text-align: left">2017-05-09</td>
<td style="vertical-align: top; text-align: left">15:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">FRA</td>
<td style="vertical-align: top; text-align: left">1005</td>
<td style="vertical-align: top; text-align: left">40</td>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">2017-05-10</td>
<td style="vertical-align: top; text-align: left">16:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">LHR</td>
<td style="vertical-align: top; text-align: left">1025</td>
<td style="vertical-align: top; text-align: left">69</td>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">2017-05-08</td>
<td style="vertical-align: top; text-align: left">14:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">LHR</td>
<td style="vertical-align: top; text-align: left">1008</td>
<td style="vertical-align: top; text-align: left">65</td>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">2017-05-09</td>
<td style="vertical-align: top; text-align: left">15:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">LHR</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1003</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">70</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2017-05-10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">16:00</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In this sample scenario, a customer such as an airline wants to buy weather forecast data at 5 pm (17:00) on 7th May 2017 for the next three days from three different airports (<monospace>FRA, LHR, AMS</monospace>). The relevant data sets of providers <italic>A</italic> and <italic>B</italic> are depicted in Table <xref rid="j_info1134_tab_001">1</xref> and Table <xref rid="j_info1134_tab_002">2</xref>, respectively. For reasons of clarity and comprehensibility, only the relevant view on <italic>u</italic> is depicted.</p>
<table-wrap id="j_info1134_tab_002">
<label>Table 2</label>
<caption>
<p>Relation <inline-formula id="j_info1134_ineq_011"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">B</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${u_{B}}$]]></tex-math></alternatives></inline-formula> for provider <italic>B</italic>.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Station</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">AirPressure</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Humidity</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Temperature</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">WindSpeed</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Cloudage</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Precipitation</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Date</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Last update</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">FRA</td>
<td style="vertical-align: top; text-align: left">1022</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">70</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">2017-05-08</td>
<td style="vertical-align: top; text-align: left">14:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">FRA</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">2017-05-09</td>
<td style="vertical-align: top; text-align: left">15:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">LHR</td>
<td style="vertical-align: top; text-align: left">1015</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">23</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">41</td>
<td style="vertical-align: top; text-align: left">2017-05-08</td>
<td style="vertical-align: top; text-align: left">15:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">LHR</td>
<td style="vertical-align: top; text-align: left">1004</td>
<td style="vertical-align: top; text-align: left">79</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">93</td>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">2017-05-09</td>
<td style="vertical-align: top; text-align: left">16:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">AMS</td>
<td style="vertical-align: top; text-align: left">1021</td>
<td style="vertical-align: top; text-align: left">59</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">2017-05-08</td>
<td style="vertical-align: top; text-align: left">14:00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">AMS</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1002</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">82</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">23</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">97</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">70</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2017-05-09</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">16:00</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_info1134_s_004">
<label>4</label>
<title>Data Quality</title>
<p>Data has a price that is highly dependent on the context as well as on what it can do for potential buyers, and it is therefore sensible to create different versions in order to tap the willingness to pay of heterogeneous customers. Data quality can be considered as a promising aspect for differentiating data products. Given that there is a number of data quality criteria that are relevant for customers and consequently allow for price discrimination, the approaches described in Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>), Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_037">2014</xref>) can be considered somewhat limited. Furthermore, data quality, if expressed in a meaningful score, allows the comparison of two offers from different providers.</p>
<p>Much work regarding data quality and how to measure it has been published over the last decades. Focusing on data quality in a Web context – precisely the context of most data marketplaces and data providers –, Naumann (<xref ref-type="bibr" rid="j_info1134_ref_025">2002</xref>) aggregated several works on data quality, namely (Basch, <xref ref-type="bibr" rid="j_info1134_ref_003">1990</xref>; Redman, <xref ref-type="bibr" rid="j_info1134_ref_028">1996</xref>; Wang and Strong, <xref ref-type="bibr" rid="j_info1134_ref_039">1996</xref>; Jarke and Vassiliou, <xref ref-type="bibr" rid="j_info1134_ref_014">1997</xref>; Chen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_006">1998</xref>; Weikum, <xref ref-type="bibr" rid="j_info1134_ref_040">1999</xref>). Therefore, we build our argument on Naumann (<xref ref-type="bibr" rid="j_info1134_ref_025">2002</xref>), rather than on the individual works. In Stahl and Vossen (<xref ref-type="bibr" rid="j_info1134_ref_033">2016b</xref>), Stahl (<xref ref-type="bibr" rid="j_info1134_ref_031">2015</xref>) we reviewed the quality criteria and discussed how a data quality score that helps judging the value for money or quality for money of relation data products can be developed. This helps when evaluating which source to buy data from. Here, we will again review the quality criteria of Naumann (<xref ref-type="bibr" rid="j_info1134_ref_025">2002</xref>) with a particular focus on how well they are usable in the context of versioning.</p>
<p>Naumann’s criteria sets are: a) <italic>content-related</italic>, i.e. directly rooted in the data; b) <italic>technical,</italic> i.e. related to the organization and delivery of the data; c) <italic>intellectual</italic>, i.e. related to the knowledge of eventual users; and d) <italic>instantiation-related</italic>, i.e. related to the presentation of the data. In the following a brief description of each measure is given along with an elaboration of how it is relevant in the context of data marketplaces, i.e. whether it can be used for versioning.</p>
<sec id="j_info1134_s_005">
<label>4.1</label>
<title>Content-Related Quality Criteria</title>
<p>The following content-related criteria are mentioned in Naumann (<xref ref-type="bibr" rid="j_info1134_ref_025">2002</xref>):</p>
<list>
<list-item id="j_info1134_li_004">
<label>•</label>
<p><italic>Accuracy</italic>, the percentage of correct values in the data set;</p>
</list-item>
<list-item id="j_info1134_li_005">
<label>•</label>
<p><italic>Completeness</italic>, the percentage of non-null values in the data set;</p>
</list-item>
<list-item id="j_info1134_li_006">
<label>•</label>
<p><italic>Customer support</italic>, the amount and usefulness of available human help;</p>
</list-item>
<list-item id="j_info1134_li_007">
<label>•</label>
<p><italic>Documentation</italic>, the extent of available meta data regarding the data sets;</p>
</list-item>
<list-item id="j_info1134_li_008">
<label>•</label>
<p><italic>Interpretability</italic>, the match between a user’s technical understanding and the data;</p>
</list-item>
<list-item id="j_info1134_li_009">
<label>•</label>
<p><italic>Relevancy</italic>, the degree to which the data satisfies a user’s information needs;</p>
</list-item>
<list-item id="j_info1134_li_010">
<label>•</label>
<p><italic>Value-added</italic>, the value the use of the data provides to its users.</p>
</list-item>
</list>
<p>As previously argued, the value of data is highly customer-dependent. The same is true for the <italic>value-added</italic>. We want to approximate this through the other quality dimensions. Hence, it will not be further analysed to avoid recursion. Most other criteria cannot be calculated fully automatically, the exemption being <italic>completeness</italic>. All others require knowledge going beyond the actual data.</p>
<p>Regarding <italic>customer support</italic> and <italic>documentation</italic>, the existence and the extent can be evaluated. While this is a first step that allows for versioning, it does not say anything about the actual quality. Moreover, some criteria remain that cannot be automatically examined, namely <italic>interpretability</italic> and <italic>relevancy</italic>, as both require an in-depth understanding of users, which cannot be achieved in an automated way. Consequently, they cannot be used for versioning. For <italic>accuracy</italic>, it can be said that it cannot be (fully) automatically computed without external knowledge, it allows for the creation of numerous versions by lowering the accuracy. In this work – similar to Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>), who suppose that the available <italic>accuracy</italic> is worth the full price – we assume that the accuracy is data inherent.</p>
<p>For <italic>completeness</italic>, differently complete versions can be created easily. At this point, it should be mentioned we suppose that all information about the data necessary for pricing is already contained within the data. In other words, we follow a Closed World Assumption (CWA) (Batini and Scannapieca, <xref ref-type="bibr" rid="j_info1134_ref_004">2006</xref>). While this potentially restricts the model, for the purpose of this work, it is not particularly relevant why a value is missing. The fact is, it cannot be delivered to the customer. <italic>Completeness</italic>, as defined in Stahl (<xref ref-type="bibr" rid="j_info1134_ref_031">2015</xref>), Stahl and Vossen (<xref ref-type="bibr" rid="j_info1134_ref_032">2016a</xref>), will serve as an example later on. It is calculated as the number of non-null value cells divided by the overall number of cells: 
<disp-formula id="j_info1134_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ c(u)=1-\frac{{n_{v}}}{|u|\times |{X_{u}}|}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_info1134_s_006">
<label>4.2</label>
<title>Technical Quality Criteria</title>
<p>Naumann (<xref ref-type="bibr" rid="j_info1134_ref_025">2002</xref>) mentions the following technical criteria:</p>
<list>
<list-item id="j_info1134_li_011">
<label>•</label>
<p><italic>Availability,</italic> the probability that a query is answered within a given time period;</p>
</list-item>
<list-item id="j_info1134_li_012">
<label>•</label>
<p><italic>Latency</italic>, the time between issuing a query and receiving its first response;</p>
</list-item>
<list-item id="j_info1134_li_013">
<label>•</label>
<p><italic>Price</italic>, the amount of money a user has to pay for the data;</p>
</list-item>
<list-item id="j_info1134_li_014">
<label>•</label>
<p><italic>Quality of service</italic>, the error rate when transmitting (mainly relevant in streaming);</p>
</list-item>
<list-item id="j_info1134_li_015">
<label>•</label>
<p><italic>Response time</italic>, the time between issuing a query and receiving its full response;</p>
</list-item>
<list-item id="j_info1134_li_016">
<label>•</label>
<p><italic>Security</italic>, the degree of protection through encryption and anonymization;</p>
</list-item>
<list-item id="j_info1134_li_017">
<label>•</label>
<p><italic>Timeliness</italic>, the freshness of the data.</p>
</list-item>
</list>
<p>Following the argument of value-added, price will be excluded. The remaining criteria can all be influenced by providers in the same way <italic>accuracy</italic> or <italic>completeness</italic> can, i.e. while there is a (technical) upper limit, they can be lowered. Thus, they all can be used for versioning. The exemption is <italic>quality of service</italic> for which it has to be defined what quality specifically means. Thus, it is overall not very precise and has, therefore, been excluded from further examination. Moreover, <italic>availability</italic> requires multiple measurements over time in order to be properly evaluated. As a second example, we will consider <italic>timeliness</italic> which we defined (Stahl, <xref ref-type="bibr" rid="j_info1134_ref_031">2015</xref>; Stahl and Vossen, <xref ref-type="bibr" rid="j_info1134_ref_032">2016a</xref>) as the average freshness of a tuple based on the delivery time, the last update timestamp and the usual volatility <italic>v</italic> for this type of data. 
<disp-formula id="j_info1134_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">tim</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">DeliveryTime</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">LastUpdated</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">}</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathit{tim}(u)=\frac{{\textstyle\sum _{\mu \in u}}\max \big\{0,1-\frac{\mathit{DeliveryTime}-\mu [\mathit{LastUpdated}]}{{v^{\ast }}}\big\}}{|u|}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_info1134_s_007">
<label>4.3</label>
<title>Intellectual Quality Criteria</title>
<p>Next, the intellectual criteria shall be outlined:</p>
<list>
<list-item id="j_info1134_li_018">
<label>•</label>
<p><italic>Believability</italic>, the expected accuracy;</p>
</list-item>
<list-item id="j_info1134_li_019">
<label>•</label>
<p><italic>Objectivity</italic>, the degree to which the data is free of any bias;</p>
</list-item>
<list-item id="j_info1134_li_020">
<label>•</label>
<p><italic>Reputation</italic>, the degree of high standing of the source perceived by customers.</p>
</list-item>
</list>
<p>All of these criteria are value drivers; however, regarding versioning, none of them can be used as it is difficult to influence them in the short run because they are perceived by the user rather than actively created.</p>
</sec>
<sec id="j_info1134_s_008">
<label>4.4</label>
<title>Instantiation-Related Quality Criteria</title>
<p>Finally, the group of instantiation-related criteria will be discussed:</p>
<list>
<list-item id="j_info1134_li_021">
<label>•</label>
<p><italic>Amount of data</italic>, the number of bytes returned as a query result;</p>
</list-item>
<list-item id="j_info1134_li_022">
<label>•</label>
<p><italic>Representational conciseness</italic>, how well the representation matches the data;</p>
</list-item>
<list-item id="j_info1134_li_023">
<label>•</label>
<p><italic>Representational consistency</italic>, how well the representation matches previous representations of the same data;</p>
</list-item>
<list-item id="j_info1134_li_024">
<label>•</label>
<p><italic>Understandability</italic>, the degree to which a data set can be understood by a user;</p>
</list-item>
<list-item id="j_info1134_li_025">
<label>•</label>
<p><italic>Verifiability</italic>, the degree to which a data set can be checked and verified.</p>
</list-item>
</list>
<p>While the <italic>amount of data</italic> and the <italic>representational consistency</italic> can be assessed automatically, the other three cannot. <italic>Representational conciseness</italic> and <italic>understandability</italic> cannot be assessed automatically because only humans can judge whether the data format matches the data or whether they understand the data. <italic>Verifiability</italic> depends very much on the actual use-case and is hard to generalize. Thus, it has been categorized as not automatically assessable.</p>
<p>The <italic>amount of data</italic> and the <italic>representational consistency</italic> can be used for versioning. For <italic>representational consistency</italic> it is technically possible to change the representation (access <italic>API</italic> or data format); however, it seems inappropriate to do so just to adjust the quality of the product. Nevertheless, different versions could have different guarantee levels that the representation does not change over certain time intervals. Thus, it has been categorized as applicable to versioning. The <italic>representational conciseness</italic> can be used for versioning, in that there could be a low quality version that simply stores all data in one <italic>binary large object</italic> and a high-quality version in which the data is organized in an appropriate relational structure. As a further example, we will consider <italic>amount of data</italic>. More precisely, we will look at the amount of attributes or columns – <inline-formula id="j_info1134_ineq_012"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">C</mml:mi></mml:math><tex-math><![CDATA[$AoC$]]></tex-math></alternatives></inline-formula> – which we defined as Stahl (<xref ref-type="bibr" rid="j_info1134_ref_031">2015</xref>), where <italic>Y</italic> denotes chosen (or available) columns: <inline-formula id="j_info1134_ineq_013"><alternatives><mml:math>
<mml:mi mathvariant="italic">AoC</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\mathit{AoC}(u):=\frac{|Y|}{|{X_{u}}|}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Having described the most relevant data quality criteria as well as having evaluated them with regards to versioning, they shall now be grouped into different sets for easy future reference. Regarding pricing and versioning, all criteria that allow for the dynamic creation of a large number of versions build the set <inline-formula id="j_info1134_ineq_014"><alternatives><mml:math>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo></mml:math><tex-math><![CDATA[$V=\{$]]></tex-math></alternatives></inline-formula><italic>Accuracy, Amount of Data, Availability, Completeness, Latency, Response Time, Timeliness</italic>}. Furthermore, there are criteria that generally allow for versioning but where the number of versions is strongly limited. For instance, it is not sensible to create a large number of <italic>customer support</italic> tiers. Sticking with the Goldilocks principle, it seems reasonable to provide three categories for all attributes in this set, which will be referred to as <inline-formula id="j_info1134_ineq_015"><alternatives><mml:math>
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo></mml:math><tex-math><![CDATA[$G=\{$]]></tex-math></alternatives></inline-formula><italic>Customer Support, Documentation, Representational Conciseness, Representational Consistency, Security</italic>}. All of the criteria in this set but <italic>representational consistency</italic> and <italic>security</italic> are limited in their applicability as comparison criterion. As these are the only relevant quality criteria regarding versioning, they are combined in <inline-formula id="j_info1134_ineq_016"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo>∪</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[${Q_{v}}=V\cup G$]]></tex-math></alternatives></inline-formula>.</p>
<p>In our running example, the <italic>completeness</italic>, as an example for a criterion in <italic>V</italic>, can be calculated as follows: for provider <italic>A</italic> the maximum completeness is 
<disp-formula id="j_info1134_eq_003">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ c(u)=1-\frac{{n_{v}}}{|u|\times |{X_{u}}|}=1\]]]></tex-math></alternatives>
</disp-formula> 
and for provider <italic>B</italic> it is <inline-formula id="j_info1134_ineq_017"><alternatives><mml:math>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0.6</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$c(u)=0.6\bar{7}$]]></tex-math></alternatives></inline-formula>; possible tiers for <italic>customer support</italic>, as an example for a criterion in <italic>G</italic>, are: 
<list>
<list-item id="j_info1134_li_026">
<label>1.</label>
<p>E-mail support with a 48 hour response guarantee;</p>
</list-item>
<list-item id="j_info1134_li_027">
<label>2.</label>
<p>Telephone support 9 to 5 and 24 hours response time e-mail support;</p>
</list-item>
<list-item id="j_info1134_li_028">
<label>3.</label>
<p>Telephone and e-mail support 24/7.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="j_info1134_s_009">
<label>5</label>
<title>Quality-Based Pricing</title>
<p>Building on the data quality criteria review, this section proposes an approach of data pricing in which not only one quality dimension of a relational data product is adjusted according to a user’s willingness to pay but all dimensions are, taking user preferences into account. So let providers advertise a price <italic>P</italic>. If <italic>P</italic> exceeds a user’s willingness to pay, they may suggest a price <italic>W</italic> of their own and reveal their preferences for certain quality criteria. If customers want to pay less, i.e. <inline-formula id="j_info1134_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi></mml:math><tex-math><![CDATA[$W<P$]]></tex-math></alternatives></inline-formula>, then a data product will be tailored to their needs and willingness to pay is created and delivered.</p>
<p>A physical good with a similar procedure of a quality reduction for different use cases is ethanol. If it is sold for drinking, it is commonly expensive and highly taxed. However, if it is used as a fuel or as a solvent, it is comparatively cheap. In order to prevent abuse, i.e. drinking the cheaper alcohol, additives are used that make it bitter or toxic. Transferring this idea to data, it can be offered cheaper if it is of lesser quality as it provides less utility to consumers.</p>
<p>We now assume that users know their preferences and can express them in the form <inline-formula id="j_info1134_ineq_019"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}\geqslant {q_{j}}$]]></tex-math></alternatives></inline-formula> f.a. <inline-formula id="j_info1134_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}},{q_{j}}\in {Q_{v}}$]]></tex-math></alternatives></inline-formula>. Furthermore, preferences enjoy two properties (Pindyck and Rubinfeld, <xref ref-type="bibr" rid="j_info1134_ref_026">2013</xref>): a) completeness, i.e. preferences exist for all combinations <inline-formula id="j_info1134_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1134_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{j}}$]]></tex-math></alternatives></inline-formula>; b) transitivity, i.e. preferences are totally ordered, formally: if <inline-formula id="j_info1134_ineq_023"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∧</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{1}}\geqslant {q_{2}}\wedge {q_{2}}\geqslant {q_{3}}$]]></tex-math></alternatives></inline-formula> then <inline-formula id="j_info1134_ineq_024"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{1}}\geqslant {q_{3}}$]]></tex-math></alternatives></inline-formula>. In order to express these preferences users are asked to provide their appreciation of each quality measure.</p>
<p>Seven quality criteria were identified that allow for <italic>continuous</italic> versioning (tailoring). This means that for these criteria an arbitrarily large number of versions can be created. They were assembled in the set <inline-formula id="j_info1134_ineq_025"><alternatives><mml:math>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo></mml:math><tex-math><![CDATA[$V=\{$]]></tex-math></alternatives></inline-formula><italic>Accuracy, Amount of Data, Availability, Completeness, Latency, Response Time, Timeliness</italic>}. Furthermore, five criteria have been established for which a limited number of versions can be created, i.e. which allow for discrete versioning, collocated in <inline-formula id="j_info1134_ineq_026"><alternatives><mml:math>
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo></mml:math><tex-math><![CDATA[$G=\{$]]></tex-math></alternatives></inline-formula><italic>Customer Support, Documentation, Security, Representational Conciseness, Representational Consistency</italic>}. To handle all alike, all criteria will be treated in a way to create discrete versions. In the following the differentiation is subordinated and it will be referred to all quality criteria as: <inline-formula id="j_info1134_ineq_027"><alternatives><mml:math>
<mml:mi mathvariant="italic">Q</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo>∪</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[$Q=V\cup G$]]></tex-math></alternatives></inline-formula>. However, the order will be of importance, hence, from now on, a list of quality criteria <italic>q</italic> will be used: <inline-formula id="j_info1134_ineq_028"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q=({q_{1}},\dots ,{q_{n}})$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1134_ineq_029"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">Q</mml:mi>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$n=|Q|$]]></tex-math></alternatives></inline-formula> elements.</p>
<sec id="j_info1134_s_010">
<label>5.1</label>
<title>Introducing Utility</title>
<p>A common assumption is that goods provide utility.<xref ref-type="fn" rid="j_info1134_fn_001">1</xref><fn id="j_info1134_fn_001"><label><sup>1</sup></label>
<p>In the sequel, we will use the terms <italic>benefit</italic> and <italic>utility</italic> interchangeably.</p></fn> Commonly, micro economists investigate utility functions for a set of <italic>g</italic> goods, which will be referred to as benefit function <inline-formula id="j_info1134_ineq_030"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$b=f({x_{1}},\dots ,{x_{g}})$]]></tex-math></alternatives></inline-formula> (Pindyck and Rubinfeld, <xref ref-type="bibr" rid="j_info1134_ref_026">2013</xref>) to not confuse utility and the universal relation. We here do not consider sets of goods, but focus on one relational data good and its quality attributes, the utility of which may be formalized as <inline-formula id="j_info1134_ineq_031"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$b=f({q_{1}},\dots ,{q_{n}})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1134_ineq_032"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}$]]></tex-math></alternatives></inline-formula> represents the quality scores for quality criterion <inline-formula id="j_info1134_ineq_033"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>We consider quality criteria to be independent, i.e. the <italic>consumption</italic> of one quality criterion does not have an effect on the utility of another. While this is not the case for extremes, e.g. an incomplete data set is less likely to be accurate than a complete one, this is a necessary simplification to handle all dimensions in the following model. Furthermore, it can be argued that when looking at one item only, and keeping the others constant, it is a valid assumption.</p>
<p>Two well-known classes of functions can be used as utility functions, logarithm functions – for which the natural logarithm has been chosen as representative – as well as any root function <inline-formula id="j_info1134_ineq_034"><alternatives><mml:math><mml:mroot>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:mroot></mml:math><tex-math><![CDATA[$\sqrt[a]{x}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_035"><alternatives><mml:math>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>⩾</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$a\in {\mathbf{N}_{\geqslant 2}}$]]></tex-math></alternatives></inline-formula>. Given that the quantity of a good cannot be negative, the relevant domain for both functions is <inline-formula id="j_info1134_ineq_036"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathbf{R}_{0}^{+}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Since we propose to create versions based on the expected utility, the utility function is used to create <inline-formula id="j_info1134_ineq_037"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${m_{l}}$]]></tex-math></alternatives></inline-formula> utility-based versions or levels so that <inline-formula id="j_info1134_ineq_038"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="normal">const</mml:mi></mml:math><tex-math><![CDATA[${b_{j}}-{b_{j-1}}=\mathrm{const}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_039"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$1\leqslant j\leqslant {m_{l}}$]]></tex-math></alternatives></inline-formula>. To this end, the quality scores which have been standardized to fit the domain <inline-formula id="j_info1134_ineq_040"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,1]$]]></tex-math></alternatives></inline-formula> will be scaled to match a sector of the utility function’s domain <inline-formula id="j_info1134_ineq_041"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{x_{\min }},{x_{\max }}]$]]></tex-math></alternatives></inline-formula>, e.g. <inline-formula id="j_info1134_ineq_042"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,100]$]]></tex-math></alternatives></inline-formula> for the square root. Note that data with some quality scores beneath a certain threshold <inline-formula id="j_info1134_ineq_043"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{q}}$]]></tex-math></alternatives></inline-formula> are useless. To address this, it is also possible to transform only the interval <inline-formula id="j_info1134_ineq_044"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{t_{q}},1]$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_045"><alternatives><mml:math>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$0\leqslant {t_{q}}\leqslant 1$]]></tex-math></alternatives></inline-formula> from the original score to the representative sector of the utility function, i.e. at quality score <inline-formula id="j_info1134_ineq_046"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{q}}$]]></tex-math></alternatives></inline-formula> the utility level of that quality score is 0. To arrive at the necessary minimum quality score for each utility level, the inverted utility function is used, e.g. <inline-formula id="j_info1134_ineq_047"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${x^{2}}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_info1134_ineq_048"><alternatives><mml:math>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msqrt></mml:math><tex-math><![CDATA[$\sqrt{x}$]]></tex-math></alternatives></inline-formula>.</p>
<p>While for the square root model the utility-based levels increase linearly with <italic>x</italic> because the difference of two levels can be calculated as <inline-formula id="j_info1134_ineq_049"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${x^{2}}-{(x-1)^{2}}=2x-1$]]></tex-math></alternatives></inline-formula>, for the natural logarithm they increase exponentially in <italic>x</italic> because the difference of two levels is <inline-formula id="j_info1134_ineq_050"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathrm{e}^{x}}-1-({\mathrm{e}^{x-1}}-1)={\mathrm{e}^{x}}-\frac{{\mathrm{e}^{x}}}{\mathrm{e}}={\mathrm{e}^{x}}(1-\frac{1}{\mathrm{e}})$]]></tex-math></alternatives></inline-formula>. Thus, in the following, the square root function will be used as it produces more illustrative utility levels. The case can be made that other root functions <inline-formula id="j_info1134_ineq_051"><alternatives><mml:math><mml:mroot>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:mroot></mml:math><tex-math><![CDATA[$\sqrt[a]{x}$]]></tex-math></alternatives></inline-formula>, which scale polynomially with the degree <inline-formula id="j_info1134_ineq_052"><alternatives><mml:math>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$a-1$]]></tex-math></alternatives></inline-formula>, could be used as well. However, this is a matter of implementation as the model is – as will be seen – independent of the function.</p>
<p>The utility-based quality level vector <italic>l</italic> contains the concrete values of the utility level <inline-formula id="j_info1134_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{j}}$]]></tex-math></alternatives></inline-formula> in order. In the example manifestation presented here, it is supposed that <inline-formula id="j_info1134_ineq_054"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi></mml:math><tex-math><![CDATA[${l_{j}}=j$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_055"><alternatives><mml:math>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$0\leqslant j\leqslant {m_{l}}$]]></tex-math></alternatives></inline-formula>. While this applies for those quality criteria that allow for continuous versioning (i.e. <inline-formula id="j_info1134_ineq_056"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$q\in V$]]></tex-math></alternatives></inline-formula>), for those that only allow for discrete versioning (i.e. <inline-formula id="j_info1134_ineq_057"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[$q\in G$]]></tex-math></alternatives></inline-formula>) a smaller number has to be chosen, here four utility levels <inline-formula id="j_info1134_ineq_058"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{0}},{l_{3}},{l_{6}},{l_{9}}$]]></tex-math></alternatives></inline-formula> are chosen from the utility function for <inline-formula id="j_info1134_ineq_059"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[$q\in G$]]></tex-math></alternatives></inline-formula> – according to Goldilocks principle, proposed in Shapiro and Varian (<xref ref-type="bibr" rid="j_info1134_ref_030">1999</xref>). To differentiate between the utility level vectors of both sets, they have an according superscript, resulting in the two vectors <inline-formula id="j_info1134_ineq_060"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${l^{V}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1134_ineq_061"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${l^{G}}$]]></tex-math></alternatives></inline-formula>. Since quality levels in <inline-formula id="j_info1134_ineq_062"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${l^{G}}$]]></tex-math></alternatives></inline-formula> do not correspond to concrete quality scores, determining a value for them is meaningless. It is rather advisable to manually determine the amount of service for each level. Sample figures for both variants are presented in Table <xref rid="j_info1134_tab_003">3</xref>, where levels for the second type have been marked with an X. The used utility function and according versions are depicted in Fig. <xref rid="j_info1134_fig_001">1</xref>.</p>
<table-wrap id="j_info1134_tab_003">
<label>Table 3</label>
<caption>
<p>Used utility levels mapped to versions; showing required quality score (QS).</p>
</caption>
<table>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Utility level (<inline-formula id="j_info1134_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{j}}$]]></tex-math></alternatives></inline-formula>)</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">10</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">QS required to reach version (<inline-formula id="j_info1134_ineq_064"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$q\in V$]]></tex-math></alternatives></inline-formula>)</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">36</td>
<td style="vertical-align: top; text-align: left">49</td>
<td style="vertical-align: top; text-align: left">64</td>
<td style="vertical-align: top; text-align: left">81</td>
<td style="vertical-align: top; text-align: left">100</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">QS required to reach version (<inline-formula id="j_info1134_ineq_065"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[$q\in G$]]></tex-math></alternatives></inline-formula>)</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">X</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">X</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">⊥</td>
<td style="vertical-align: top; text-align: left">X</td>
<td style="vertical-align: top; text-align: left">⊥</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>While in reality utility does differ between customers, the general trend is the same, and will here be approximated by the same function. Furthermore, it is acknowledged that not all quality criteria have the same importance for customers. For example, completeness may be more important for a customer than timeliness because they want to do some time-independent analysis, while for another customer timeliness might be more important because they base time-critical decisions on the data. To represent this in the model, the utility gained from each <inline-formula id="j_info1134_ineq_066"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}$]]></tex-math></alternatives></inline-formula>’s quality score is weighted with a user-provided <inline-formula id="j_info1134_ineq_067"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{i}}$]]></tex-math></alternatives></inline-formula> that represents the importance of all quality criteria relative to each other.</p>
<p>To receive <inline-formula id="j_info1134_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{i}}$]]></tex-math></alternatives></inline-formula>, users are asked to express their preferences. This results in a stack of utility functions in which different aspects have a different influence on the overall utility for any individual customer. This is illustrated in Fig. <xref rid="j_info1134_fig_002">2</xref>. Moreover, this results in a weight vector <italic>ω</italic> such that: 
<disp-formula id="j_info1134_eq_004">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mo>∀</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∃</mml:mo>
<mml:mo>!</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="1em"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \forall {q_{i}}\exists !\hspace{2.5pt}{\omega _{i}},1\leqslant i\leqslant {n_{q}}\hspace{1em}\text{and}\hspace{1em}{\sum \limits_{i=1}^{{n_{q}}}}{\omega _{i}}=1.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<fig id="j_info1134_fig_001">
<label>Fig. 1</label>
<caption>
<p>Exemplary used utility functions with ten utility levels.</p>
</caption>
<graphic xlink:href="info1134_g001.jpg"/>
</fig>
<fig id="j_info1134_fig_002">
<label>Fig. 2</label>
<caption>
<p>Example utility function as stack of: <inline-formula id="j_info1134_ineq_069"><alternatives><mml:math>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msqrt></mml:math><tex-math><![CDATA[$\omega \sqrt{x}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_info1134_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[${\omega _{1}}=0.5$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.3</mml:mn></mml:math><tex-math><![CDATA[${\omega _{2}}=0.3$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1134_ineq_072"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.2</mml:mn></mml:math><tex-math><![CDATA[${\omega _{3}}=0.2$]]></tex-math></alternatives></inline-formula>.</p>
</caption>
<graphic xlink:href="info1134_g002.jpg"/>
</fig>
<p>Based on all this, a benefit matrix <italic>b</italic> can be calculated for each user. This matrix shows for which quality criterion <inline-formula id="j_info1134_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}$]]></tex-math></alternatives></inline-formula> with an according weight <inline-formula id="j_info1134_ineq_074"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{i}}$]]></tex-math></alternatives></inline-formula> what actual utility <inline-formula id="j_info1134_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${b_{ij}}$]]></tex-math></alternatives></inline-formula> can be reached for the different utility levels <inline-formula id="j_info1134_ineq_076"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${l_{j}^{V}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1134_ineq_077"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${l_{j}^{G}}$]]></tex-math></alternatives></inline-formula>. It is calculated as follows: 
<disp-formula id="j_info1134_eq_005">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="{" close="">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left">
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>for all</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>for all</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {b_{ij}}=\left\{\begin{array}{l@{\hskip4.0pt}l}{\omega _{i}}\times {l_{j}^{V}}\hspace{1em}& \text{for all}\hspace{2.5pt}{q_{i}}\in V,\\ {} {\omega _{i}}\times {l_{j}^{G}}\hspace{1em}& \text{for all}\hspace{2.5pt}{q_{i}}\in G.\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>For future reference, the subscript <italic>i</italic> refers to elements in <italic>Q</italic> and <italic>j</italic> to elements in <inline-formula id="j_info1134_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{V}}$]]></tex-math></alternatives></inline-formula> or <inline-formula id="j_info1134_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{G}}$]]></tex-math></alternatives></inline-formula>, respectively.</p>
</sec>
<sec id="j_info1134_s_011">
<label>5.2</label>
<title>Price Attribution</title>
<p>Having extensively discussed for each quality criterion how a utility level is arrived at, we now elaborate on how prices can be attached to the different levels. Besides the overall ask price <italic>P</italic> providers want to achieve, they have to specify the importance of different quality criteria from their point of view. This may either be done based on the cost the different quality criteria caused when being created or based on the perceived utility of the different criteria. As argued before, the utility-based approach is preferable; however, the cost-based approach can serve as point of reference if no further information is available. Additionally, it is also an option to attribute an equal weight to all quality criteria. Whatever method is chosen, the weights may be adapted in the course of time when providers learn about their customers. Similar to the user weighting vector <italic>ω</italic>, providers define a weight vector <italic>κ</italic> such that: 
<disp-formula id="j_info1134_eq_006">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mo>∀</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∃</mml:mo>
<mml:mo>!</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="1em"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \forall {q_{i}}\exists !{\kappa _{i}},\hspace{2.5pt}1\leqslant i\leqslant {n_{q}}\hspace{1em}\text{and}\hspace{1em}{\sum \limits_{i=1}^{{n_{q}}}}{\kappa _{i}}=1.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>For the actual distribution of the overall ask price <italic>P</italic> to the different quality levels and quality criteria two fundamentally different approaches can be implemented. Prices can either be attributed to the different quality levels using the utility levels or using the relative satisfaction of each quality criterion. In any case the overall price would be distributed to the different quality criteria using <italic>κ</italic>. The first will lead to linear prices corresponding to the benefit, which is arguably a fair way of pricing a data product. In this case, the price <inline-formula id="j_info1134_ineq_080"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{ij}}$]]></tex-math></alternatives></inline-formula> for each quality criterion <inline-formula id="j_info1134_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{i}}$]]></tex-math></alternatives></inline-formula> at each quality level <inline-formula id="j_info1134_ineq_082"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{j}}$]]></tex-math></alternatives></inline-formula> is calculated using a formula of the form <inline-formula id="j_info1134_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${w_{ij}}({b_{ij}})$]]></tex-math></alternatives></inline-formula>, in detail: <inline-formula id="j_info1134_ineq_084"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[${w_{ij}}=P\times {\kappa _{i}}\times \frac{{b_{ij}}}{{b_{i,{n_{q}}}}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>The alternative is to model prices linearly to the actual quality scores required to reach this level. This will result in increasing prices for the utility levels. However, looking at it from the discount perspective, this means that the biggest discount is granted for the sacrifice of the first utility level and then it decreases. Put differently, in this way customers will receive a product of comparably high quality at a very reasonable price. The calculation of <inline-formula id="j_info1134_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{ij}}$]]></tex-math></alternatives></inline-formula> in this case is conducted based on the inverted utility function <inline-formula id="j_info1134_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${w_{ij}}(x)=P\times {\kappa _{i}}\times {b^{-1}}(x)$]]></tex-math></alternatives></inline-formula>, in this case <inline-formula id="j_info1134_ineq_087"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${b^{-1}}(x)={x^{2}}$]]></tex-math></alternatives></inline-formula> and the overall utility levels in <italic>l</italic>: 
<disp-formula id="j_info1134_eq_007">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="{" close="">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>for all</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">κ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>for all</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {w_{ij}}=\left\{\begin{array}{l@{\hskip4.0pt}l}P\times {\kappa _{i}}\times \frac{{b^{-1}}({l_{j}^{V}})}{{b^{-1}}({l_{{m_{l}}}^{V}})}\hspace{1em}& \text{for all}\hspace{2.5pt}{q_{i}}\in V,\hspace{2.5pt}1\leqslant j\leqslant {l_{{m_{l}}}^{V}},\\ {} P\times {\kappa _{i}}\times \frac{{b^{-1}}({l_{j}^{G}})}{{b^{-1}}({l_{{m_{l}}}^{G}})}\hspace{1em}& \text{for all}\hspace{2.5pt}{q_{i}}\in G,\hspace{2.5pt}1\leqslant j\leqslant {l_{{m_{l}}}^{G}}.\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>It cannot be decided <italic>per se</italic> which of the two alternatives is the better one. There are some quality scores, such as the amount of data, for which it is sensible to grant a good discount if less data is to be delivered. In other cases, such as accuracy, it might make more sense to scale prices according to the utility levels. That being said, what model to choose is a business decision that has to be made for each individual criterion depending on the attributes of the criterion as well as on the intended fairness of the pricing model. Given the stronger decrease when using the inverted utility function, the average price across all levels is smaller than in the linear case; this speaks in favour of the latter model from a customer’s perspective. After all, it is not important what product is actually delivered as the cost of creating it is marginal. What is more important is that customers get a fair discount for their sacrifice of quality. This is achieved by either of the two.</p>
</sec>
<sec id="j_info1134_s_012">
<label>5.3</label>
<title>Fair Knapsack Pricing</title>
<p>Having shown how to attribute utility as well as a price to different quality criteria for relational data products, we now demonstrate that the pricing problem can be perceived as a Multiple-Choise Knapsack Problem (MCKP).</p>
<p>The objective of the knapsack problem, which we describe according to Kellerer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>), is to fit items (numbered from 1 to <inline-formula id="j_info1134_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${m_{l}}$]]></tex-math></alternatives></inline-formula>) with a benefit <inline-formula id="j_info1134_ineq_089"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${b_{i}}$]]></tex-math></alternatives></inline-formula> and a weight <inline-formula id="j_info1134_ineq_090"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{i}}$]]></tex-math></alternatives></inline-formula> into a knapsack, in a way that maximizes the utility given a maximum weight <italic>W</italic>. This standard knapsack problem has been extended in several ways. One of the most flexible knapsack models is the herein-applied MCKP (Kellerer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>). In a MCKP, items are chosen from <inline-formula id="j_info1134_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{q}}$]]></tex-math></alternatives></inline-formula> sets of available items rather than from just one set of available items, an additional restriction being that from each set exactly one item has to be chosen. Using the variables from the previous sections and extending the vector <italic>a</italic>, which stores for each available item whether or not it has been put in the knapsack as <inline-formula id="j_info1134_ineq_092"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${a_{i}}\in \{0,1\}$]]></tex-math></alternatives></inline-formula>, to a matrix, pricing can be formalized using the MCKP as presented in Kellerer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>). In the following, Eq. (<xref rid="j_info1134_eq_008">3</xref>) extends the original knapsack problem to multiple sets to choose from. Equation (<xref rid="j_info1134_eq_009">4</xref>) restricts the choice to one item per set and determines that items are indivisible. <disp-formula-group id="j_info1134_dg_001">
<disp-formula id="j_info1134_eq_008">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mtext>maximize</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2em"/>
<mml:mtext>subject to</mml:mtext>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{maximize}\hspace{2.5pt}{\sum \limits_{i=1}^{{n_{q}}}}{\sum \limits_{j=1}^{{m_{l}}}}{b_{ij}}{a_{ij}}\hspace{2em}\text{subject to}{\sum \limits_{i=1}^{{n_{q}}}}{\sum \limits_{j=1}^{{m_{l}}}}{w_{ij}}{a_{ij}}\leqslant W,\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1134_eq_009">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mtext>and</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{and}\hspace{2.5pt}{\sum \limits_{j=1}^{{m_{l}}}}{a_{ij}}=1,\hspace{1em}{a_{ij}}\in \{0;1\},\hspace{2.5pt}i=1,\dots ,{n_{q}},\hspace{2.5pt}j=1,\dots ,{m_{l}}.\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</sec>
<sec id="j_info1134_s_013">
<label>5.4</label>
<title>Solving the Multiple-Choice Knapsack Pricing Problem</title>
<p>In order to create a custom-tailored relational data product, the Multiple-Choice Knapsack Pricing Problem (MCKPP) has to be solved. Despite the fact that MCKP is <inline-formula id="j_info1134_ineq_093"><alternatives><mml:math>
<mml:mi mathvariant="script">NP</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{NP}$]]></tex-math></alternatives></inline-formula>-complete, it can be solved in pseudo-polynomial time using, for instance, dynamic programming; several algorithms have been presented to achieve this (Pisinger, <xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>). Most algorithms start by solving the linear MCKP to obtain an upper bound. For the linear MCKP the restriction <inline-formula id="j_info1134_ineq_094"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${a_{ij}}\in \{0;1\}$]]></tex-math></alternatives></inline-formula> has been relaxed to <inline-formula id="j_info1134_ineq_095"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[${a_{ij}}\in [0,1]$]]></tex-math></alternatives></inline-formula>, which means it allows the choosing of a fraction of an item (Pisinger, <xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>).</p>
<p>Algorithm <xref rid="j_info1134_fig_003">5.1</xref> presents a general greedy algorithm to solve the MCKPP. It has been adapted from the one outlined in Kellerer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>). The main difference is that the original algorithm contains a preparation step which is not necessary for the MCKPP. The algorithm eventually results in a matrix <italic>a</italic> indicating which items to choose, a value <inline-formula id="j_info1134_ineq_096"><alternatives><mml:math>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:mo>−</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$W-\bar{c}$]]></tex-math></alternatives></inline-formula>, which represents the total cost of these items, and a score <italic>z</italic>, indicating the total utility achieved.</p>
<p>The greedy algorithm, presented in a pricing-tailored form in Algorithm <xref rid="j_info1134_fig_003">5.1</xref>, has a runtime of <inline-formula id="j_info1134_ineq_097"><alternatives><mml:math>
<mml:mi mathvariant="script">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo movablelimits="false">log</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{O}({n_{t}}\log {n_{t}})$]]></tex-math></alternatives></inline-formula> – with <inline-formula id="j_info1134_ineq_098"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{t}}$]]></tex-math></alternatives></inline-formula> being the total number of items over all quality criteria <inline-formula id="j_info1134_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{t}}={\textstyle\sum _{i=1}^{{n_{q}}}}{{m_{l}}_{i}}{n_{t}}={\textstyle\sum _{i=1}^{{n_{q}}}}{{m_{l}}_{i}}$]]></tex-math></alternatives></inline-formula> – owing to the sorting in Line 13. This form of a greedy-type algorithm is often used as a starting point for further procedures such as branch and bound (Kellerer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>). Furthermore, the split solution is generally a good heuristic solution; however, it has to be pointed out that as a solution algorithm – despite being illustrative – it is unsuited. The reason for this is that its performance is arbitrarily bad, i.e. while performing quickly, the solution is not guaranteed to be the optimal solution (Kellerer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>).</p>
<p>Further approximation algorithms exist that do have certain performance guarantees. Gens and Levner (<xref ref-type="bibr" rid="j_info1134_ref_011">1998</xref>) have presented a binary search approximation algorithm running in time <inline-formula id="j_info1134_ineq_100"><alternatives><mml:math>
<mml:mi mathvariant="script">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo movablelimits="false">log</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{O}({n_{t}}\log {n_{q}})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1134_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{q}}$]]></tex-math></alternatives></inline-formula> is the number of quality criteria. At this point, it should be mentioned that <inline-formula id="j_info1134_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${{m_{l}}_{i}}$]]></tex-math></alternatives></inline-formula> is used here to indicate that depending on whether <inline-formula id="j_info1134_ineq_103"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[${q_{i}}\in V$]]></tex-math></alternatives></inline-formula> or <inline-formula id="j_info1134_ineq_104"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[${q_{i}}\in G$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_105"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${{m_{l}}^{G}}$]]></tex-math></alternatives></inline-formula> or <inline-formula id="j_info1134_ineq_106"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${{m_{l}}^{V}}$]]></tex-math></alternatives></inline-formula> has to be substituted. However, the guarantee is <inline-formula id="j_info1134_ineq_107"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.8</mml:mn></mml:math><tex-math><![CDATA[$\epsilon =0.8$]]></tex-math></alternatives></inline-formula>, which is still a considerably bad result – 0 being the perfect solution – even though the authors argue that the actual performance may be much better than that. Using dynamic programming, a fully polynomial time approximation scheme can be developed (Kellerer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>). Lawler (<xref ref-type="bibr" rid="j_info1134_ref_019">1977</xref>) presents an <italic>ϵ</italic>-approximation that runs in <inline-formula id="j_info1134_ineq_108"><alternatives><mml:math>
<mml:mi mathvariant="script">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo movablelimits="false">log</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ϵ</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{O}({n_{t}}\log {n_{t}}+\frac{{n_{t}}{n_{q}}}{\epsilon })$]]></tex-math></alternatives></inline-formula>, the first term being due to sorting which might be omitted here. A similar approach is also presented in Kellerer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>).</p>
<fig id="j_info1134_fig_003">
<label>Algorithm 5.1</label>
<caption>
<p>Greedy algorithm to solve MCKPP adapted from Kellerer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>).</p>
</caption>
<graphic xlink:href="info1134_g003.jpg"/>
</fig>
<p>Approaches to solve the MCKP to optimality include branch and bound (Dyer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_009">1984</xref>), dynamic programming (Dudzinski and Walukiewicz, <xref ref-type="bibr" rid="j_info1134_ref_008">1987</xref>) (which is often used to solve dynamic pricing challenges (Narahari <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_024">2005</xref>)), hybrid algorithms of the former (Dyer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_010">1995</xref>), and expanding core algorithms (Pisinger, <xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>). Pisinger (<xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>) presents a minimal expanding core algorithm solving the MCKP to optimality. It is based on the idea that the problem is first solved for a core set of classes, i.e. quality criteria, <inline-formula id="j_info1134_ineq_109"><alternatives><mml:math>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$C\subseteq {Q_{v}}$]]></tex-math></alternatives></inline-formula> based on the split item. Then, gradually more classes are added. This results in a runtime of <inline-formula id="j_info1134_ineq_110"><alternatives><mml:math>
<mml:mi mathvariant="script">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{O}({n_{t}}+W{\textstyle\sum _{{q_{i}}\in C}}{{m_{l}}_{i}})$]]></tex-math></alternatives></inline-formula>, where <italic>W</italic> denotes the weight limit. This results in a linear solution time for a minimal core and pseudo-polynomial time for larger cores (Pisinger, <xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>).</p>
<p>Notwithstanding this, the MCKP can commonly be solved quickly in practise (Dyer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_010">1995</xref>). Given that in the MCKPP the weights correlate with the benefits per definition, this results in strongly correlated data instances, which are particularly hard for knapsack algorithms, as no dominated items exist (Pisinger, <xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>; Kellerer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>).</p>
<p>Pisinger (<xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>) presented computational experiments on commodity hardware for his algorithm. Nearly a decade later, in <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>, results for the same algorithm on more recent commodity hardware were presented in Kellerer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>). Table <xref rid="j_info1134_tab_004">4</xref> shows the results relevant for strongly correlated data instances in the problem scope of MCKPP. Two realistic cases will be presented for each year: <italic>Case 1</italic> considers 100 quality dimensions and 10 quality levels and <italic>Case 2</italic> considers 100 quality dimensions and 100 quality levels. Furthermore, two different maximum bid prices are considered <italic>Max Bid 1</italic> which is set to <inline-formula id="j_info1134_ineq_111"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>000</mml:mn></mml:math><tex-math><![CDATA[$1,000$]]></tex-math></alternatives></inline-formula> and <italic>Max Bid 2</italic> which is set to <inline-formula id="j_info1134_ineq_112"><alternatives><mml:math>
<mml:mn>10</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>000</mml:mn></mml:math><tex-math><![CDATA[$10,000$]]></tex-math></alternatives></inline-formula>. The time is reported in seconds.</p>
<table-wrap id="j_info1134_tab_004">
<label>Table 4</label>
<caption>
<p>Experimental results for MCKP calculations using Pisinger (<xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>) algorithm.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">1995 (Pisinger, <xref ref-type="bibr" rid="j_info1134_ref_027">1995</xref>)</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">2004 (Kellerer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_015">2004</xref>)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Max Bid 1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Max Bid 2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Max Bid 1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Max Bid 2</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Case 1</td>
<td style="vertical-align: top; text-align: left">0.37</td>
<td style="vertical-align: top; text-align: left">5.16</td>
<td style="vertical-align: top; text-align: left">0.061</td>
<td style="vertical-align: top; text-align: left">0.561</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Case 2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">6.93</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.52</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.828</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_info1134_s_014">
<label>5.5</label>
<title>Application to the Running Example</title>
<p>Returning to our weather example, suppose that the customer has opted to buy data from provider <italic>A</italic> presented in Table <xref rid="j_info1134_tab_001">1</xref> before it is modified, i.e. <italic>u</italic>. The advertised price <italic>P</italic> is $ 1200.00 for both providers; however, the customer is only willing to pay <inline-formula id="j_info1134_ineq_113"><alternatives><mml:math>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1000.00</mml:mn></mml:math><tex-math><![CDATA[$W=1000.00$]]></tex-math></alternatives></inline-formula>. For reasons of clarity and comprehensibility this section investigates only three quality attributes, namely: 
<disp-formula id="j_info1134_eq_010">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">{</mml:mo>
<mml:mi mathvariant="italic">Timeliness</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Amount</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">of</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">Data</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">Columns</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">Customer</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">Service</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle V=\big\{\mathit{Timeliness}({q_{1}}),\mathit{Amount}\hspace{2.5pt}\mathit{of}\hspace{2.5pt}\mathit{Data}\hspace{2.5pt}(\mathit{Columns})({q_{2}})\big\},\\ {} \displaystyle G=\{\mathit{Customer}\hspace{2.5pt}\mathit{Service}({q_{3}})\}.\end{array}\]]]></tex-math></alternatives>
</disp-formula> 
For <italic>customer service</italic>, the provider offers the three service levels described previously:</p>
<list>
<list-item id="j_info1134_li_029">
<label>1.</label>
<p>E-mail support with a 48 hour response guarantee;</p>
</list-item>
<list-item id="j_info1134_li_030">
<label>2.</label>
<p>Telephone support 9 to 5 and 24 hours response time e-mail support;</p>
</list-item>
<list-item id="j_info1134_li_031">
<label>3.</label>
<p>Telephone and e-mail support 24/7.</p>
</list-item>
</list>
<p>Furthermore, at quality level 0 no support is provided. The customer-provided preferences for the different quality criteria are: <inline-formula id="j_info1134_ineq_114"><alternatives><mml:math>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0.35</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.15</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\omega =(0.35,0.5,0.15)$]]></tex-math></alternatives></inline-formula> and the provider specifies <inline-formula id="j_info1134_ineq_115"><alternatives><mml:math>
<mml:mi mathvariant="italic">κ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.2</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\kappa =(0.5,0.3,0.2)$]]></tex-math></alternatives></inline-formula>. In the following, the index <italic>i</italic> (rows) refers to quality criteria and the index <italic>j</italic> (columns) refers to utility levels. Based on this the utility matrix <italic>b</italic>, the weight matrix <italic>w</italic> as well as the incremental utility matrix <inline-formula id="j_info1134_ineq_116"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\tilde{b}$]]></tex-math></alternatives></inline-formula> and the incremental weight matrix <inline-formula id="j_info1134_ineq_117"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\tilde{w}$]]></tex-math></alternatives></inline-formula> can be calculated. Eventually, this can be used to arrive at the incremental efficiency <inline-formula id="j_info1134_ineq_118"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\tilde{e}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_info1134_eq_011">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center center center center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.7</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>1.05</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>1.4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>1.75</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>2.1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>2.45</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>2.8</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>3.15</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>3.5</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>1.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>2</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>2.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>3</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>3.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>4.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>5</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.45</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.9</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>1.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center center center center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>24</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>54</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>96</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>150</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>216</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>294</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>384</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>486</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>600</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>3.6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>14.4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>32.4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>57.6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>90</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>129.6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>176.4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>230.4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>291.6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>360</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>26.</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>106.</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>240</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center center center center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.35</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.45</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.45</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.45</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center center center center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>18</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>30</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>42</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>54</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>66</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>78</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>90</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>102</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>114</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>3.6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>10.8</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>18</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>25.2</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>32.4</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>39.6</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>46.8</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>54</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>61.2</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>68.4</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>26.</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>80</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>133.</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" columnalign="center center center center center center center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0.0729</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0194</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0117</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0083</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0065</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0053</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0045</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0039</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0034</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0031</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0.1389</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0463</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0278</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0198</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0154</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0126</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0107</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0093</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0082</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0073</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0169</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0056</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mn>0.0033</mml:mn>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle b=\left(\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}0.35\hspace{1em}& 0.7\hspace{1em}& 1.05\hspace{1em}& 1.4\hspace{1em}& 1.75\hspace{1em}& 2.1\hspace{1em}& 2.45\hspace{1em}& 2.8\hspace{1em}& 3.15\hspace{1em}& 3.5\\ {} 0.5\hspace{1em}& 1\hspace{1em}& 1.5\hspace{1em}& 2\hspace{1em}& 2.5\hspace{1em}& 3\hspace{1em}& 3.5\hspace{1em}& 4\hspace{1em}& 4.5\hspace{1em}& 5\\ {} \hspace{1em}& \hspace{1em}& 0.45\hspace{1em}& \hspace{1em}& \hspace{1em}& 0.9\hspace{1em}& \hspace{1em}& \hspace{1em}& 1.35\hspace{1em}\end{array}\right),\\ {} \displaystyle w=\left(\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}6\hspace{1em}& 24\hspace{1em}& 54\hspace{1em}& 96\hspace{1em}& 150\hspace{1em}& 216\hspace{1em}& 294\hspace{1em}& 384\hspace{1em}& 486\hspace{1em}& 600\\ {} 3.6\hspace{1em}& 14.4\hspace{1em}& 32.4\hspace{1em}& 57.6\hspace{1em}& 90\hspace{1em}& 129.6\hspace{1em}& 176.4\hspace{1em}& 230.4\hspace{1em}& 291.6\hspace{1em}& 360\\ {} \hspace{1em}& \hspace{1em}& 26.\bar{6}\hspace{1em}& \hspace{1em}& \hspace{1em}& 106.\bar{6}\hspace{1em}& \hspace{1em}& \hspace{1em}& 240\hspace{1em}\end{array}\right),\\ {} \displaystyle \tilde{b}=\left(\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\hspace{1em}& 0.35\\ {} 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\hspace{1em}& 0.5\\ {} \hspace{1em}& \hspace{1em}& 0.45\hspace{1em}& \hspace{1em}& \hspace{1em}& 0.45\hspace{1em}& \hspace{1em}& \hspace{1em}& 0.45\hspace{1em}\end{array}\right),\\ {} \displaystyle \tilde{w}=\left(\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}6\hspace{1em}& 18\hspace{1em}& 30\hspace{1em}& 42\hspace{1em}& 54\hspace{1em}& 66\hspace{1em}& 78\hspace{1em}& 90\hspace{1em}& 102\hspace{1em}& 114\\ {} 3.6\hspace{1em}& 10.8\hspace{1em}& 18\hspace{1em}& 25.2\hspace{1em}& 32.4\hspace{1em}& 39.6\hspace{1em}& 46.8\hspace{1em}& 54\hspace{1em}& 61.2\hspace{1em}& 68.4\\ {} \hspace{1em}& \hspace{1em}& 26.\bar{6}\hspace{1em}& \hspace{1em}& \hspace{1em}& 80\hspace{1em}& \hspace{1em}& 133.\bar{3}\hspace{1em}& \hspace{1em}\end{array}\right),\\ {} \displaystyle \tilde{e}=\left(\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}0.0729\hspace{1em}& 0.0194\hspace{1em}& 0.0117\hspace{1em}& 0.0083\hspace{1em}& 0.0065\hspace{1em}& 0.0053\hspace{1em}& 0.0045\hspace{1em}& 0.0039\hspace{1em}& 0.0034\hspace{1em}& 0.0031\\ {} 0.1389\hspace{1em}& 0.0463\hspace{1em}& 0.0278\hspace{1em}& 0.0198\hspace{1em}& 0.0154\hspace{1em}& 0.0126\hspace{1em}& 0.0107\hspace{1em}& 0.0093\hspace{1em}& 0.0082\hspace{1em}& 0.0073\\ {} \hspace{1em}& \hspace{1em}& 0.0169\hspace{1em}& \hspace{1em}& \hspace{1em}& 0.0056\hspace{1em}& \hspace{1em}& \hspace{1em}& 0.0033\hspace{1em}\end{array}\right).\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>This results in the following ordered list of <inline-formula id="j_info1134_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{ij}}$]]></tex-math></alternatives></inline-formula>. <italic>Nota bene</italic>, <inline-formula id="j_info1134_ineq_120"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,1}},{\tilde{e}_{21}}$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1134_ineq_121"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>31</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{31}}$]]></tex-math></alternatives></inline-formula> are missing because they are used to initialize the knapsack. 
<disp-formula id="j_info1134_eq_012">
<alternatives><mml:math display="block">
<mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none none" equalcolumns="false" columnalign="center center center center center center">
<mml:mtr>
<mml:mtd class="array">
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0463</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0278</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0198</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0194</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0154</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0126</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0117</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0107</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0093</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0083</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0082</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0073</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0065</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0056</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0053</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0045</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0039</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0034</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0033</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.0031</mml:mn>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">}</mml:mo>
<mml:mo>.</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}\big\{{\tilde{e}_{2,2}}=0.0463,\hspace{1em}& {\tilde{e}_{2,3}}=0.0278,\hspace{1em}& {\tilde{e}_{2,4}}=0.0198,\hspace{1em}& {\tilde{e}_{1,2}}=0.0194,\hspace{1em}& {\tilde{e}_{2,5}}=0.0154,\hspace{1em}& {\tilde{e}_{2,6}}=0.0126,\\ {} {\tilde{e}_{1,3}}=0.0117,\hspace{1em}& {\tilde{e}_{2,7}}=0.0107,\hspace{1em}& {\tilde{e}_{2,8}}=0.0093,\hspace{1em}& {\tilde{e}_{1,4}}=0.0083,\hspace{1em}& {\tilde{e}_{2,9}}=0.0082,\hspace{1em}& {\tilde{e}_{2,10}}=0.0073,\\ {} {\tilde{e}_{1,5}}=0.0065,\hspace{1em}& {\tilde{e}_{3,2}}=0.0056,\hspace{1em}& {\tilde{e}_{1,6}}=0.0053,\hspace{1em}& {\tilde{e}_{1,7}}=0.0045,\hspace{1em}& {\tilde{e}_{1,8}}=0.0039,\hspace{1em}& {\tilde{e}_{1,9}}=0.0034,\\ {} {\tilde{e}_{3,3}}=0.0033,\hspace{1em}& \hspace{2.5pt}{\tilde{e}_{1,10}}=0.0031\big\}.\hspace{1em}\end{array}\]]]></tex-math></alternatives>
</disp-formula> 
The knapsack is initialized as follows: 
<disp-formula id="j_info1134_eq_013">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mspace width="1em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1.3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:mo>−</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>963.7</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle {x_{i1}}:=1\hspace{1em}\text{for all}\hspace{2.5pt}i,1\leqslant i\leqslant {n_{q}},\\ {} \displaystyle z:={\sum \limits_{i=1}^{n}}{b_{i1}}=1.3,\\ {} \displaystyle \bar{c}:=W-{\sum \limits_{i=1}^{n}}{w_{i1}}=963.7\bar{3}.\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Then, the MCKPP is solved using Algorithm <xref rid="j_info1134_fig_003">5.1</xref>. The sequence of <inline-formula id="j_info1134_ineq_122"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{c}$]]></tex-math></alternatives></inline-formula>, and the selected <inline-formula id="j_info1134_ineq_123"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{ij}}$]]></tex-math></alternatives></inline-formula> in each step is shown in Table <xref rid="j_info1134_tab_005">5</xref>. Again, it has to be pointed out that this is just for illustrative purposes as better but less easy to comprehend algorithms exist to solve this.</p>
<table-wrap id="j_info1134_tab_005">
<label>Table 5</label>
<caption>
<p>Development of <inline-formula id="j_info1134_ineq_124"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{c}$]]></tex-math></alternatives></inline-formula> after each processing step.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Iteration</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">2</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">3</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">4</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">5</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">6</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">7</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">8</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">9</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">10</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Selected <inline-formula id="j_info1134_ineq_125"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{ij}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_127"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_128"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,4}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_129"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,5}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_131"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,6}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_133"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,7}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,8}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_135"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,4}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1134_ineq_136"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{c}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">952,93</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">934,93</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">909,73</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">891,73</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">859,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">819,73</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">789,73</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">742,93</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">688,93</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">646,93</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Iteration</td>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">19</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Selected <inline-formula id="j_info1134_ineq_137"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{ij}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,9}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_139"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{2,10}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_140"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,5}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_141"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{3,2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_142"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,6}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_143"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,7}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_144"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,8}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_145"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,9}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_146"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{3,3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_147"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,10}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1134_ineq_148"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{c}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">585,73</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">517,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">463,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">383,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">317,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">239,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">149,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">47,33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">−86,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">−200,00</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As can be seen in Table <xref rid="j_info1134_tab_005">5</xref>, the items that do not fit in the knapsack are <inline-formula id="j_info1134_ineq_149"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{3,3}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1134_ineq_150"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,10}}$]]></tex-math></alternatives></inline-formula>.<xref ref-type="fn" rid="j_info1134_fn_002">2</xref><fn id="j_info1134_fn_002"><label><sup>2</sup></label>
<p>Note that the split has not been considered to keep the example simple.</p></fn> By implication, this means that items <inline-formula id="j_info1134_ineq_151"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{1,9}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_152"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{2,10}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1134_ineq_153"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{3,2}}$]]></tex-math></alternatives></inline-formula> are chosen, i.e. <italic>timeliness</italic> at level 9, <italic>amount of data</italic> at full level and <italic>customer support</italic> at level 2. Thus, <italic>customer support</italic> is served as 9 to 5 telephone support and 24 hours response time e-mail support.</p>
<p>Note that MCKPP can be applied to multiple vendors as well. In this case not the scores of one provider have to be mapped to the quality levels but only the best scores of all providers. This results in a problem scenario, where some providers might not be able to deliver all quality criteria to the highest level. To this end, consider one customer who is unsure which provider to buy from. Given that the average timeliness of both providers is the same, we now look at: 
<disp-formula id="j_info1134_eq_014">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">{</mml:mo>
<mml:mi mathvariant="italic">Completeness</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Amount</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">of</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">Data</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">Columns</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">Customer</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">Service</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle V=\big\{\mathit{Completeness}({q_{1}}),\mathit{Amount}\hspace{2.5pt}\mathit{of}\hspace{2.5pt}\mathit{Data}\hspace{2.5pt}(\mathit{Columns})({q_{2}})\big\},\\ {} \displaystyle G=\{\mathit{Customer}\hspace{2.5pt}\mathit{Service}({q_{3}})\}.\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Again, <italic>customer service</italic> does not need to be calculated and the three levels stated above are considered here, too. For the other two criteria, the maximum scores for each provider have to be calculated. For provider <italic>A completeness</italic> was = 1 and <italic>amount of columns</italic> is <inline-formula id="j_info1134_ineq_154"><alternatives><mml:math>
<mml:mn>0.6</mml:mn><mml:mover accent="true">
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$0.6\bar{7}$]]></tex-math></alternatives></inline-formula>; provider <italic>B</italic> offers a maximum <italic>completeness</italic> of 0.8125 and an <italic>AoC</italic> of 1. Both provide the service levels as stated above. From this it can be concluded that the relevant mapping overall again is 0 to 1. However, it has to be stated that no provider can satisfy the highest level of all categories.</p>
<p>As with the previous example, the customer-provided preferences for the different quality criteria are: <inline-formula id="j_info1134_ineq_155"><alternatives><mml:math>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0.35</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.15</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\omega =(0.35,0.5,0.15)$]]></tex-math></alternatives></inline-formula> and the provider specifies <inline-formula id="j_info1134_ineq_156"><alternatives><mml:math>
<mml:mi mathvariant="italic">κ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.2</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\kappa =(0.5,0.3,0.2)$]]></tex-math></alternatives></inline-formula>. Therefore, the above calculus can be reused. As a result, the items that do not fit in the knapsack are <inline-formula id="j_info1134_ineq_157"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{3,3}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1134_ineq_158"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{e}_{1,10}}$]]></tex-math></alternatives></inline-formula>; in this case <italic>customer support</italic> at level 3 and <italic>completeness</italic> at level 10. Consequently, the customer should chose/will be served by provider <italic>B</italic> because they can provide the data that has been found to be optimal. In contrast, provider can provide <italic>AoC</italic> only up to level 8, this is illustrated in Table <xref rid="j_info1134_tab_006">6</xref>.</p>
<table-wrap id="j_info1134_tab_006">
<label>Table 6</label>
<caption>
<p>Utility levels offered by providers.</p>
</caption>
<table>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Utility Level (<inline-formula id="j_info1134_ineq_159"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{j}}$]]></tex-math></alternatives></inline-formula>)</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">10</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">QS required to reach</td>
<td style="vertical-align: top; text-align: left">0.0</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">0.04</td>
<td style="vertical-align: top; text-align: left">0.09</td>
<td style="vertical-align: top; text-align: left">0.16</td>
<td style="vertical-align: top; text-align: left">0.25</td>
<td style="vertical-align: top; text-align: left">0.36</td>
<td style="vertical-align: top; text-align: left">0.49</td>
<td style="vertical-align: top; text-align: left">0.64</td>
<td style="vertical-align: top; text-align: left">0.81</td>
<td style="vertical-align: top; text-align: left">1.00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">version (<inline-formula id="j_info1134_ineq_160"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$q\in V$]]></tex-math></alternatives></inline-formula>)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Completeness</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_161"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_162"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_163"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">X</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_164"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_165"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_166"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_167"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_168"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_169"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><italic>A</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Amount of columns</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_170"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_171"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_172"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">X</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_173"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_174"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_175"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_176"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1134_ineq_177"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi></mml:math><tex-math><![CDATA[$A/B$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><italic>B</italic></td>
<td style="vertical-align: top; text-align: left"><italic>B</italic></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>However, if the customer favoured <italic>completeness</italic> over <italic>AoC</italic>, and supposing the same weights, the result would be different. In this case, provider <italic>A</italic> while being able to provide full <italic>completeness</italic>, still lacks the ability to provide <italic>AoC</italic> greater than level 8. Making up for this the algorithm would also suggest <italic>customer support</italic> at level 3 leaving a weight of 16 unused. Provider <italic>B</italic> in the same scenario is not able to offer <italic>completeness</italic> at level 10 but at level 9. Furthermore, provider <italic>B</italic> will in this case also offer <italic>AoC</italic> at level 9 and <italic>customer support</italic> at level 2. Given the customer’s preferences provider <italic>B</italic> is not a good choice despite leaving a residuum of less than 2. All this shows that while solving the MCKPP for all providers given a customer’s query and preference, it can also be determined which provider offers the best product for a customer.</p>
</sec>
<sec id="j_info1134_s_015">
<label>5.6</label>
<title>Modifying Quality</title>
<p>For any of the quality measures presented previously an algorithm can easily be stated that creates a quality-adjusted relational data product according to a proposed discount. For accuracy, this has extensively been described in Tang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1134_ref_036">2013b</xref>). Largely, modifications to the quality can be grouped into three categories:</p>
<list>
<list-item id="j_info1134_li_032">
<label>1.</label>
<p>The modification of accompanying services, e.g. delivery conditions and comprehensiveness of <italic>support</italic>;</p>
</list-item>
<list-item id="j_info1134_li_033">
<label>2.</label>
<p>The modification of the data itself, e.g. decreasing the <italic>accuracy</italic>;</p>
</list-item>
<list-item id="j_info1134_li_034">
<label>3.</label>
<p>The modification of the view on the data, e.g. a limited <italic>amount of data</italic>.</p>
</list-item>
</list>
<p>As examples this section will present algorithms to modify the <italic>completeness</italic> as representation of the second as well as <italic>timeliness</italic> and <italic>amount of data</italic> as representation of the third. No representation for the first will be given as this is a rather trivial contractual task and does not affect the data as such. Nevertheless, an example will be provided in the next subsection.</p>
<p>Obviously, the order in which the quality is decreased plays an important role. For instance, if null values are inserted first and then the accuracy is reduced, the accuracy reduction might build on a wrong distribution. Here, it is suggested to apply criteria first that reduce the size, i.e. criteria of the third type and also accuracy, before the rest of the quality is lowered.</p>
<p>The first quality measure to be looked at in more detail is <italic>completeness</italic> as presented in Eq. (<xref rid="j_info1134_eq_001">1</xref>). This implies that in order to reduce the completeness further, null values have to be inserted at random. In the following <italic>u</italic> is the universal relation to be sold before any modification and <inline-formula id="j_info1134_ineq_178"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${u^{\ast }}$]]></tex-math></alternatives></inline-formula> afterwards. The same applies to all other relevant variables, <inline-formula id="j_info1134_ineq_179"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{v}}$]]></tex-math></alternatives></inline-formula> is the number of null values before and <inline-formula id="j_info1134_ineq_180"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${{n_{v}}_{t}}$]]></tex-math></alternatives></inline-formula> after the quality modification. The suffix <italic>t</italic> indicates a target value. Furthermore, <inline-formula id="j_info1134_ineq_181"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{\max }}$]]></tex-math></alternatives></inline-formula> denotes the maximum of the domain of the utility function and <italic>x</italic> the utility score at the chosen level. To lower the completeness the actual value for completeness has to be determined and the target value for completeness has to be calculated based on the selected quality level: 
<disp-formula id="j_info1134_eq_015">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {c_{t}}=\frac{x}{{x_{\max }}}\times c(u).\]]]></tex-math></alternatives>
</disp-formula> 
Based on this the target number of null values <inline-formula id="j_info1134_ineq_182"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${{n_{v}}_{t}}$]]></tex-math></alternatives></inline-formula> can be calculated: 
<disp-formula id="j_info1134_eq_016">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mover>
<mml:mrow>
<mml:mo>=</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>!</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mover>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \frac{x}{{x_{\max }}}\times c(u)\stackrel{!}{=}1-\frac{{{n_{v}}_{t}}}{|u|\times |{X_{u}}|}.\]]]></tex-math></alternatives>
</disp-formula> 
Resulting in: 
<disp-formula id="j_info1134_eq_017">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true">⌈</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true">⌉</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {{n_{v}}_{t}}=\bigg\lceil |u|\times |{X_{u}}|\times \bigg(1-\frac{x}{{x_{\max }}}c(u)\bigg)\bigg\rceil .\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Note that the ceiling function has to be used in Eq. (<xref rid="j_info1134_eq_017">7</xref>) to ensure <inline-formula id="j_info1134_ineq_183"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{t}}$]]></tex-math></alternatives></inline-formula> is an integer as no half null values exist. Alternatively, the floor function could be used, this is at the provider’s discretion but would result in a slightly different product version. Based on this target value for null values <inline-formula id="j_info1134_ineq_184"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${n_{t}}$]]></tex-math></alternatives></inline-formula> Algorithm <xref rid="j_info1134_fig_005">5.3</xref> presents an exemplary method to achieve the modified data set <italic>u</italic>.</p>
<p>Given <inline-formula id="j_info1134_ineq_185"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">AoC</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[${\mathit{AoC}_{t}}=\frac{{y_{t}}}{{x_{\max }}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1134_ineq_186"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[${y_{t}}=|Y|$]]></tex-math></alternatives></inline-formula> can be calculated. Similar to <italic>completeness</italic>, the ceiling function is used to ensure that <inline-formula id="j_info1134_ineq_187"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${y_{t}}$]]></tex-math></alternatives></inline-formula> is an integer. 
<disp-formula id="j_info1134_eq_018">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">⌈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">AoC</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">⌉</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {y_{t}}=|Y|=\big\lceil {\mathit{AoC}_{t}}\times |{X_{u}}|\big\rceil .\]]]></tex-math></alternatives>
</disp-formula>
</p>
<fig id="j_info1134_fig_004">
<label>Algorithm 5.2</label>
<caption>
<p>Adapting the relation to the amount of columns score.</p>
</caption>
<graphic xlink:href="info1134_g004.jpg"/>
</fig>
<fig id="j_info1134_fig_005">
<label>Algorithm 5.3</label>
<caption>
<p>Adapting the relation to the completeness score.</p>
</caption>
<graphic xlink:href="info1134_g005.jpg"/>
</fig>
<p>Furthermore, it is supposed that the customer provides a list of attributes <inline-formula id="j_info1134_ineq_188"><alternatives><mml:math>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$Z\subseteq {X_{u}}$]]></tex-math></alternatives></inline-formula> in decreasing order of their liking, such that the first attribute is the most important and the last is the least important. If <italic>Z</italic> is not provided, it is at the provider’s discretion which attributes actually to deliver. While this could also be the standard, giving customers the choice seems more fair. Algorithm <xref rid="j_info1134_fig_004">5.2</xref> presents a sample method to achieve <inline-formula id="j_info1134_ineq_189"><alternatives><mml:math>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$Y\subseteq {X_{u}}$]]></tex-math></alternatives></inline-formula> provided <inline-formula id="j_info1134_ineq_190"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi></mml:math><tex-math><![CDATA[${y_{t}},u,Z$]]></tex-math></alternatives></inline-formula>.</p>
<p><italic>Timeliness</italic> does not require an algorithm as it is concerned with delayed delivery. However, it requires some calculus, presented in the following building on Eq. (<xref rid="j_info1134_eq_002">2</xref>). For better readability <inline-formula id="j_info1134_ineq_191"><alternatives><mml:math>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mtext>LastUpdated</mml:mtext>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\mu [\text{LastUpdated}]$]]></tex-math></alternatives></inline-formula> will be denoted as <italic>LU</italic> and DeliveryTime will be denoted as <italic>DT</italic>. Furthermore, the max function can be omitted supposing that the target score <inline-formula id="j_info1134_ineq_192"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">max</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[${t_{\mathrm{target}}}=\frac{x}{{x_{\max }}}$]]></tex-math></alternatives></inline-formula> is positive. Additionally <inline-formula id="j_info1134_ineq_193"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$|u|$]]></tex-math></alternatives></inline-formula> will be represented by <italic>n</italic>. Thus: 
<disp-formula id="j_info1134_eq_019">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">tim</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">DT</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">LU</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathit{tim}(u)=\frac{{\textstyle\sum _{\mu \in u}}\big(1-\frac{\mathit{DT}-\mathit{LU}}{v}\big)}{n}.\]]]></tex-math></alternatives>
</disp-formula> 
Plugging in a target value <inline-formula id="j_info1134_ineq_194"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{\mathrm{target}}}$]]></tex-math></alternatives></inline-formula> yields 
<disp-formula id="j_info1134_eq_020">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub><mml:mover>
<mml:mrow>
<mml:mo>⩾</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>!</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mover><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">DT</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">LU</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mspace width="1em"/>
<mml:mo stretchy="false">⇔</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>−</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">DT</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">LU</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {t_{\mathrm{target}}}\stackrel{!}{\geqslant }\frac{{\textstyle\sum _{\mu \in u}}\big(1-\frac{\mathit{DT}-\mathit{LU}}{v}\big)}{n}\hspace{1em}\Leftrightarrow \hspace{1em}{t_{\mathrm{target}}}\times n\times v\geqslant n\times v-\sum \limits_{\mu \in u}\mathit{DT}-\mathit{LU}.\]]]></tex-math></alternatives>
</disp-formula> 
Given that only <italic>LU</italic> is variable: <disp-formula-group id="j_info1134_dg_002">
<disp-formula id="j_info1134_eq_021">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo>−</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">LU</mml:mi>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {t_{\mathrm{target}}}\times n\times v\geqslant n\times v-\bigg(n\times DT-\sum \limits_{\mu \in u}\mathit{LU}\bigg),\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1134_eq_022">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>×</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">LU</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">DT</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \frac{1}{n}\times \sum \limits_{\mu \in u}\mathit{LU}\leqslant v\times ({t_{\mathrm{target}}}-1)+\mathit{DT}.\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> Eq. (<xref rid="j_info1134_eq_022">12</xref>) shows what the average timeliness depending on the target value <inline-formula id="j_info1134_ineq_195"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{\mathrm{target}}}$]]></tex-math></alternatives></inline-formula> should be and could also be written as: 
<disp-formula id="j_info1134_eq_023">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">AvgLU</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">DT</mml:mi>
<mml:mspace width="1em"/>
<mml:mtext>or</mml:mtext>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">DT</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathit{AvgLU}(t)\leqslant v\times ({t_{\mathrm{target}}}-1)+\mathit{DT}\hspace{1em}\text{or}\hspace{1em}L{U_{\mathrm{target}}}\leqslant v\times ({t_{\mathrm{target}}}-1)+\mathit{DT}.\]]]></tex-math></alternatives>
</disp-formula> 
The delivery time will always be the current time. Thus, it will be represented by the variable <italic>now</italic>, which will be replaced by the current timestamp upon query time. This allows for further modification to result in: 
<disp-formula id="j_info1134_eq_024">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">LU</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">now</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{LU}_{\mathrm{target}}}\leqslant \mathit{now}-v\times (1-{t_{\mathrm{target}}}).\]]]></tex-math></alternatives>
</disp-formula> 
Introducing a delay function: 
<disp-formula id="j_info1134_eq_025">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext>results in</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">LU</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">now</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ d(v,{t_{\mathrm{target}}}):=v\times (1-{t_{\mathrm{target}}})\hspace{1em}\text{results in}\hspace{2.5pt}{\mathit{LU}_{\mathrm{target}}}\leqslant \mathit{now}-d(v,{t_{\mathrm{target}}}).\]]]></tex-math></alternatives>
</disp-formula> 
At first sight one might require each data set to have an average timeliness not greater than <inline-formula id="j_info1134_ineq_196"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$L{U_{\mathrm{target}}}$]]></tex-math></alternatives></inline-formula>. However, using the overall average of a data set is slightly problematic, as this allows the selection of data that is very old together with very fresh data and then only use the fresh data. To avoid this, the timeliness of any record is required to be not greater than <inline-formula id="j_info1134_ineq_197"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">LU</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{LU}_{\mathrm{target}}}$]]></tex-math></alternatives></inline-formula>. In this way it is ensured that records with a timeliness worse than or equal to what has been paid for is delivered. In practical terms customers do query a view <inline-formula id="j_info1134_ineq_198"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${u^{\ast }}$]]></tex-math></alternatives></inline-formula> on <italic>u</italic> such that: 
<disp-formula id="j_info1134_eq_026">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">LastUpdated</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">now</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">target</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {u^{\ast }}={\sigma _{\mu [{\mathit{LastUpdated}^{\ast }}]\leqslant \mathit{now}-d(v,{t_{\mathrm{target}}})}}(u).\]]]></tex-math></alternatives>
</disp-formula> 
In this model it is important that when records are updated, the original record is kept so that customers can still access the older record rather than receiving an empty result set.</p>
<p>Continuing our example, remember that <italic>timeliness</italic> was to be provided at level 9, <italic>amount of data</italic> at full level and <italic>customer support</italic> at level 2. The last dimension counts as a contractual category that does not influence the data. Since <italic>amount of data</italic> is served at full level it also does not influence the data. Therefore, <inline-formula id="j_info1134_ineq_199"><alternatives><mml:math>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$u={u^{\ast }}$]]></tex-math></alternatives></inline-formula> holds as no modifications to the data have to be made. However, given that time restrictions apply, in that the data cannot be queried as soon as it is entered into the system, a view has to be derived at. Here, the assumption is made that the volatility of weather forecast data is 24 hours. Given that the target quality score of <inline-formula id="j_info1134_ineq_200"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>81</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:mn>0.81</mml:mn></mml:math><tex-math><![CDATA[${t_{t}}=\frac{81}{100}=0.81$]]></tex-math></alternatives></inline-formula> is a result of the optimization process, based on the quality level 9, now the delay may be calculated using Eq. (<xref rid="j_info1134_eq_025">13</xref>): 
<disp-formula id="j_info1134_eq_027">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>24</mml:mn>
<mml:mo>∗</mml:mo>
<mml:mn>0.19</mml:mn>
<mml:mo>=</mml:mo>
<mml:mn>4.45.</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle d(v,{t_{t}})={v^{\ast }}\times (1-{t_{t}}),\\ {} \displaystyle d=24\ast 0.19=4.45.\end{array}\]]]></tex-math></alternatives>
</disp-formula> 
Having identified a delay of 4.45 hours and supposing that constant <italic>now</italic> is expressed in hours, too, the final delivery view can be expressed as: 
<disp-formula id="j_info1134_eq_028">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">LastUpdated</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">now</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>4.56</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\sigma _{\mu [{\mathit{LastUpdated}^{\ast }}]\leqslant \mathit{now}-4.56}}(u).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</sec>
<sec id="j_info1134_s_016">
<label>6</label>
<title>Conclusions and Future Work</title>
<p>In this paper, we have demonstrated how data quality measures can be applied when pricing relational data goods. Concretely, we have presented a model that allows providers to apply an NYOP scheme for data. This paper also shows how this model can be used when competitive data sources exist. Thus, the model enables data providers to tap the willingness to pay of customers, who would otherwise not buy their relational data product; in turn customers receive a highly custom-tailored data product. By adjusting the quality, it can be ensured that customers get exactly what they pay for. In fact, using this model providers do not have to specify a price publicly at all. They also could use an internal price <italic>P</italic> and still apply the same pricing model. While this would require users to bid exactly the price they are willing to pay it lacks transparency. An alternative would be advertising a price <inline-formula id="j_info1134_ineq_201"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${P^{p}}$]]></tex-math></alternatives></inline-formula> greater than <italic>P</italic> publicly. This would result in additional profits from customers paying a price <italic>W</italic> for which <inline-formula id="j_info1134_ineq_202"><alternatives><mml:math>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">W</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$P\leqslant W\leqslant {P^{p}}$]]></tex-math></alternatives></inline-formula> holds.</p>
<p>This paper has excluded the issue of potential cannibalization, i.e. that customers who would have bought expensive products switch to a cheaper version if it becomes available. This is an organisational aspect subject to future research. Furthermore, it should be evaluated whether this pricing model is perceived as fair as this is an important issue when pricing (Reinartz, <xref ref-type="bibr" rid="j_info1134_ref_029">2002</xref>; Narahari <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_024">2005</xref>). To this end, it could be experimented with an alternative pricing model, in which not all prices are calculated automatically but users are provided with feedback regarding the actual quality levels while entering their prices and preferences. This might also increase the perceived fairness. Furthermore, using statistical analyses on the bid prices, data providers can learn what value customers attribute to their offerings. In this context, truth revelation might be an issue (Narahari <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1134_ref_024">2005</xref>); the question remains if customers can actually cheat the system by not mentioning their true preference. At this point, no formal proof can be provided but the argument is made that if the used algorithm indeed delivers optimal results, then customers cannot cheat the system as it delivers a custom-tailored product for exactly the suggested price. Depending on the number and size of the quality-based utility levels, there might be little room to minimize the residual capacity <inline-formula id="j_info1134_ineq_203"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{c}$]]></tex-math></alternatives></inline-formula> which might still occur; however, this is ineluctable.</p>
<p>Developing a quality-based pricing model, it has been shown that pricing on a data marketplace can be expressed as an MCKP. An implementation is important future work in order to evaluate the algorithm presented in Section <xref rid="j_info1134_s_013">5.4</xref> in the context of pricing. In this regard, it is particularly interesting from which number of quality levels and quality scores the algorithms become inefficient – if at all. Conducting such experiments, it can be verified if the assumption that using the proposed solution to the MCKPP the quality level can be determined in fractions of seconds can be held. Furthermore, some work has to be invested into the question of how to actually create the required relational data products on the spot as this might take a considerable amount of time.</p>
<p>To summarize, MCKPP is influenced by <italic>Quality Criteria</italic>, <italic>Customer Info</italic> comprising the preference vector <italic>ω</italic> and a bid price <italic>W</italic>, <italic>Provider Info</italic> comprising a weighting vector <italic>κ</italic> and an ask price <italic>P</italic>, a <italic>versioning function b</italic>, a <italic>weighting function</italic> <inline-formula id="j_info1134_ineq_204"><alternatives><mml:math>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$w(x)$]]></tex-math></alternatives></inline-formula> or <inline-formula id="j_info1134_ineq_205"><alternatives><mml:math>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$w(b)$]]></tex-math></alternatives></inline-formula>, and a <italic>Quality Adaptation Algorithm</italic> for each <italic>Quality Criterion</italic>. It is a distinct feature of this model that all components can be adjusted to match the needs of data marketplace providers as well as the needs of data providers.</p>
</sec>
</body>
<back>
<ref-list id="j_info1134_reflist_001">
<title>References</title>
<ref id="j_info1134_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Balazinska</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Howe</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Suciu</surname>, <given-names>D.</given-names></string-name> (<year>2011</year>). <article-title>Data markets in the cloud: an opportunity for the database community</article-title>. <source>PVLDB</source>, <volume>4</volume>(<issue>12</issue>), <fpage>1482</fpage>–<lpage>1485</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_002">
<mixed-citation publication-type="chapter"><string-name><surname>Balazinska</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Howe</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Koutris</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Suciu</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Upadhyaya</surname>, <given-names>P.</given-names></string-name> (<year>2013</year>). <chapter-title>A discussion on pricing relational data</chapter-title>. In: <string-name><surname>Tannen</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Wong</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Libkin</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Tan</surname>, <given-names>W.-C.</given-names></string-name>, <string-name><surname>Fourman</surname>, <given-names>M.</given-names></string-name> (Eds.), <source>Search of Elegance in the Theory and Practice of Computation</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>8000</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>167</fpage>–<lpage>173</lpage>. ISBN <isbn>978-3-642-41659-0</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Basch</surname>, <given-names>R.</given-names></string-name> (<year>1990</year>). <article-title>Measuring the quality of the data: report on the fourth annual SCOUG retreat</article-title>. <source>Database Searcher</source>, <volume>6</volume>(<issue>8</issue>), <fpage>18</fpage>–<lpage>24</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_004">
<mixed-citation publication-type="book"><string-name><surname>Batini</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Scannapieca</surname>, <given-names>M.</given-names></string-name> (<year>2006</year>). <source>Data Quality: Concepts, Methodologies and Techniques. Data-Centric Systems and Applications</source>. <publisher-name>Springer</publisher-name>. ISBN <isbn>9783540331735</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_005">
<mixed-citation publication-type="other"><string-name><surname>Bodenbenner</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Tempich</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Feuerstein</surname>, <given-names>L.</given-names></string-name> (2011). <italic>Detecon Opinion Paper: Turning Data into Profit – Success Factors in Data-Centric Business Models</italic>. Technical report, Detecon Consulting.</mixed-citation>
</ref>
<ref id="j_info1134_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Zhu</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>N.</given-names></string-name> (<year>1998</year>). <article-title>Query processing with quality control in the world wide web</article-title>. <source>World Wide Web</source>, <volume>1</volume>(<issue>4</issue>), <fpage>241</fpage>–<lpage>255</lpage>. <comment>ISSN 1386-145X</comment>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_007">
<mixed-citation publication-type="other"><string-name><surname>Davenport</surname>, <given-names>T.H.</given-names></string-name>, <string-name><surname>Prusak</surname>, <given-names>L.</given-names></string-name> (2000). <italic>Working Knowledge: How Organizations Manage What They Know</italic>. Harvard Business School Press. ISBN 9781578513017.</mixed-citation>
</ref>
<ref id="j_info1134_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Dudzinski</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Walukiewicz</surname>, <given-names>S.</given-names></string-name> (<year>1987</year>). <article-title>Exact methods for the knapsack problem and its generalizations</article-title>. <source>European Journal of Operational Research</source>, <volume>28</volume>(<issue>1</issue>), <fpage>3</fpage>–<lpage>21</lpage>. <comment>ISSN 0377-2217</comment>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Dyer</surname>, <given-names>M.E.</given-names></string-name>, <string-name><surname>Kayal</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Walker</surname>, <given-names>J.</given-names></string-name> (<year>1984</year>). <article-title>A branch and bound algorithm for solving the multiple-choice knapsack problem</article-title>. <source>Journal of Computational and Applied Mathematics</source>, <volume>11</volume>(<issue>2</issue>), <fpage>231</fpage>–<lpage>249</lpage>. <comment>ISSN 0377-0427</comment>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Dyer</surname>, <given-names>M.E.</given-names></string-name>, <string-name><surname>Riha</surname>, <given-names>W.O.</given-names></string-name>, <string-name><surname>Walker</surname>, <given-names>J.</given-names></string-name> (<year>1995</year>). <article-title>A hybrid dynamic programming/branch-and-bound algorithm for the multiple-choice knapsack problem</article-title>. <source>Journal of Computational and Applied Mathematics</source>, <volume>58</volume>(<issue>1</issue>), <fpage>43</fpage>–<lpage>54</lpage>. <comment>ISSN 0377-0427</comment>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Gens</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Levner</surname>, <given-names>E.</given-names></string-name> (<year>1998</year>). <article-title>An approximate binary search algorithm for the multiple-choice knapsack problem</article-title>. <source>Information Processing Letters</source>, <volume>67</volume>(<issue>5</issue>), <fpage>261</fpage>–<lpage>265</lpage>. <comment>ISSN 0020-0190</comment>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Hinz</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Hann</surname>, <given-names>I.-H.</given-names></string-name>, <string-name><surname>Spann</surname>, <given-names>M.</given-names></string-name> (<year>2011</year>). <article-title>Price discrimination in e-commerce? an examination of dynamic pricing in name-your-own price markets</article-title>. <source>MIS Quarterly</source>, <volume>35</volume>(<issue>1</issue>), <fpage>81</fpage>–<lpage>98</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Hui</surname>, <given-names>K.L.</given-names></string-name>, <string-name><surname>Chau</surname>, <given-names>P.Y.K.</given-names></string-name> (<year>2002</year>). <article-title>Classifying digital products</article-title>. <source>Communications of the ACM</source>, <volume>45</volume>(<issue>6</issue>), <fpage>73</fpage>–<lpage>79</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_014">
<mixed-citation publication-type="chapter"><string-name><surname>Jarke</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Vassiliou</surname>, <given-names>Y.</given-names></string-name> (<year>1997</year>). <chapter-title>Data warehouse quality design: a review of the DWQ project</chapter-title>. In: <source>Proceedings of the International Conference on Information Quality (IQ)</source>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_015">
<mixed-citation publication-type="book"><string-name><surname>Kellerer</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Pferschy</surname>, <given-names>U.</given-names></string-name>, <string-name><surname>Pisinger</surname>, <given-names>D.</given-names></string-name> (<year>2004</year>). <source>Knapsack Problems</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_016">
<mixed-citation publication-type="chapter"><string-name><surname>Koutris</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Upadhyaya</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Balazinska</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Howe</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Suciu</surname>, <given-names>D.</given-names></string-name> (<year>2012</year>a). <chapter-title>Query-based data pricing</chapter-title>. In: <source>PODS</source>, pp. <fpage>167</fpage>–<lpage>178</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Koutris</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Upadhyaya</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Balazinska</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Howe</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Suciu</surname>, <given-names>D.</given-names></string-name> (<year>2012</year>b). <article-title>Querymarket demonstration: Pricing for online data markets</article-title>. <source>PVLDB</source>, <volume>5</volume>(<issue>12</issue>), <fpage>1962</fpage>–<lpage>1965</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_018">
<mixed-citation publication-type="chapter"><string-name><surname>Koutris</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Upadhyaya</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Balazinska</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Howe</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Suciu</surname>, <given-names>D.</given-names></string-name> (<year>2013</year>). <chapter-title>Toward practical query pricing with querymarket</chapter-title>. In: <source>SIGMOD Conference</source>, pp. <fpage>613</fpage>–<lpage>624</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_019">
<mixed-citation publication-type="chapter"><string-name><surname>Lawler</surname>, <given-names>E.L.</given-names></string-name> (<year>1977</year>). <chapter-title>Fast approximation algorithms for knapsack problems</chapter-title>. In: <source>18th Annual Symposium on Foundations of Computer Science, 1977</source>, pp. <fpage>206</fpage>–<lpage>213</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_020">
<mixed-citation publication-type="chapter"><string-name><surname>Li</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Li</surname></string-name>, <string-name><surname>Miklau G</surname>, <given-names>D.Y.</given-names></string-name>, <string-name><surname>Suciu</surname>, <given-names>D.</given-names></string-name> (<year>2013</year>). <chapter-title>A theory of pricing private data</chapter-title>. In: <source>Proceedings of the 16th International Conference on Database Theory, ICDT ’13</source>. <publisher-name>ACM</publisher-name>, <publisher-loc>New York, NY, USA</publisher-loc>, pp. <fpage>33</fpage>–<lpage>44</lpage>. ISBN <isbn>978-1-4503-1598-2</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Maier</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Ullman</surname>, <given-names>J.D.</given-names></string-name>, <string-name><surname>Vardi</surname>, <given-names>M.Y.</given-names></string-name> (<year>1984</year>). <article-title>On the foundations of the universal relation model</article-title>. <source>ACM Transactions on Database Systems (TODS)</source>, <volume>9</volume>(<issue>2</issue>), <fpage>283</fpage>–<lpage>308</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_022">
<mixed-citation publication-type="other"><string-name><surname>Miller</surname>, <given-names>P.</given-names></string-name> (2012). Data markets: in search of new business models. <ext-link ext-link-type="uri" xlink:href="http://research.gigaom.com/report/data-markets-in-search-of-new-business-models/">http://research.gigaom.com/report/data-markets-in-search-of-new-business-models/</ext-link>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_023">
<mixed-citation publication-type="chapter"><string-name><surname>Muschalle</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Stahl</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Löser</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Vossen</surname>, <given-names>G.</given-names></string-name> (<year>2012</year>). <chapter-title>Pricing approaches for data markets</chapter-title>. In: <source>Proceedings of the Workshop Business Intelligence for the Real Time Enterprise</source>, <conf-loc>Istanbul, Turkey</conf-loc>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Narahari</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Raju</surname>, <given-names>C.V.L.</given-names></string-name>, <string-name><surname>Ravikumar</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Shah</surname>, <given-names>S.</given-names></string-name> (<year>2005</year>). <chapter-title>Dynamic pricing models for electronic business</chapter-title>. In: <source>Sadhana (Academy Proceedings in Engineering Sciences)</source>, Vol. <volume>30</volume>. <publisher-name>Indian Academy of Sciences</publisher-name>, pp. <fpage>231</fpage>–<lpage>256</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_025">
<mixed-citation publication-type="book"><string-name><surname>Naumann</surname>, <given-names>F.</given-names></string-name> (<year>2002</year>). <source>Quality-Driven Query Answering for Integrated Information Systems</source>. <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>2261</volume>. <publisher-name>Springer</publisher-name>. ISBN <isbn>3-540-43349-X</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_026">
<mixed-citation publication-type="book"><string-name><surname>Pindyck</surname>, <given-names>R.S.</given-names></string-name>, <string-name><surname>Rubinfeld</surname>, <given-names>D.L.</given-names></string-name> (<year>2013</year>). <source>Microeconomics</source>, <edition>8</edition>th ed. <publisher-name>Pearson</publisher-name>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_027">
<mixed-citation publication-type="journal"><string-name><surname>Pisinger</surname>, <given-names>D.</given-names></string-name> (<year>1995</year>). <article-title>A minimal algorithm for the multiple-choice knapsack problem</article-title>. <source>European Journal of Operational Research</source>, <volume>83</volume>(<issue>2</issue>), <fpage>394</fpage>–<lpage>410</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_028">
<mixed-citation publication-type="other"><string-name><surname>Redman</surname>, <given-names>T.C.</given-names></string-name> (1996). <italic>Data Quality for the Information Age</italic>. Artech House Telecommunications Library, Artech House. ISBN 9780890068830.</mixed-citation>
</ref>
<ref id="j_info1134_ref_029">
<mixed-citation publication-type="other"><string-name><surname>Reinartz</surname>, <given-names>W.</given-names></string-name> (2002). Customizing prices in online markets. <italic>Symphonya. Emerging Issues in Management</italic>, (1 Market-Space Management).</mixed-citation>
</ref>
<ref id="j_info1134_ref_030">
<mixed-citation publication-type="book"><string-name><surname>Shapiro</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Varian</surname>, <given-names>H.R.</given-names></string-name> (<year>1999</year>). <source>Information Rules: A Strategic Guide to the Network Economy</source>. <publisher-name>Harvard Business School Press</publisher-name>. ISBN <isbn>9780875848631</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_031">
<mixed-citation publication-type="other"><string-name><surname>Stahl</surname>, <given-names>F.</given-names></string-name> (2015). <italic>High-Quality Web Information Provisioning and Quality-Based Data Pricing</italic>. PhD thesis, University of Münster.</mixed-citation>
</ref>
<ref id="j_info1134_ref_032">
<mixed-citation publication-type="chapter"><string-name><surname>Stahl</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Vossen</surname>, <given-names>G.</given-names></string-name> (<year>2016</year>a). <chapter-title>Fair knapsack pricing for data marketplaces</chapter-title>. In: <source>Proceedings of the 20th East-European Conference on Advances in Databases and Information Systems</source>, <series><italic>LNCS</italic></series>, Vol. <volume>9809</volume>. <conf-loc>(ADBIS) 2016, Prague, Czech Republic</conf-loc>. <publisher-name>Springer</publisher-name>, pp. <fpage>46</fpage>–<lpage>59</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_033">
<mixed-citation publication-type="chapter"><string-name><surname>Stahl</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Vossen</surname>, <given-names>G.</given-names></string-name> (<year>2016</year>b). <chapter-title>Data quality scores for pricing on data marketplaces</chapter-title>. In: <string-name><surname>Nguyen</surname>, <given-names>N.T.</given-names></string-name>, <string-name><surname>Trawinski</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Fujita</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Hong</surname>, <given-names>T.-P.</given-names></string-name> (Eds.), <source>Intelligent Information and Database Systems</source>, <series><italic>Lecture Notes in Artificial Intelligence</italic></series>, Vol. <volume>9621</volume>. <publisher-name>Springer-Verlag</publisher-name>, <publisher-loc>Berlin</publisher-loc>, pp. <fpage>215</fpage>–<lpage>224</lpage>. ISBN <isbn>978-3-662-49380-9</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_034">
<mixed-citation publication-type="journal"><string-name><surname>Stahl</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Schomm</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Vossen</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Vomfell</surname>, <given-names>L.</given-names></string-name> (<year>2016</year>). <article-title>A classification framework for data marketplaces</article-title>. <source>Vietnam Journal of Computer Science</source>, <volume>3</volume>, <fpage>137</fpage>–<lpage>143</lpage>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_035">
<mixed-citation publication-type="chapter"><string-name><surname>Tang</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Bao</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Bressan</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Valduriez</surname>, <given-names>P.</given-names></string-name> (<year>2013</year>a). <chapter-title>The price is right</chapter-title>. In: <string-name><surname>Decker</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Lhotská</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Link</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Basl</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Tjoa</surname>, <given-names>A.</given-names></string-name> (Eds.), <source>Database and Expert Systems Applications</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>8056</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>380</fpage>–<lpage>394</lpage>. ISBN <isbn>978-3-642-40172-5</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_036">
<mixed-citation publication-type="chapter"><string-name><surname>Tang</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Shao</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Bressan</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Valduriez</surname>, <given-names>P.</given-names></string-name> (<year>2013</year>b). <chapter-title>What you pay for is what you get</chapter-title>. In: <string-name><surname>Decker</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Lhotská</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Link</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Basl</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Tjoa</surname>, <given-names>A.</given-names></string-name> (Eds.), <source>Database and Expert Systems Applications</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>8056</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>395</fpage>–<lpage>409</lpage>. ISBN <isbn>978-3-642-40172-5</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_037">
<mixed-citation publication-type="chapter"><string-name><surname>Tang</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Amarilli</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Senellart</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Bressan</surname>, <given-names>S.</given-names></string-name> (<year>2014</year>). <chapter-title>Get a sample for a discount</chapter-title>. In: <string-name><surname>Decker</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Lhotská</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Link</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Spies</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Wagner</surname>, <given-names>R.R.</given-names></string-name> (Eds.), <source>Database and Expert Systems Applications</source>, <series><italic>LNCS</italic></series>, Vol. <volume>8644</volume>. <publisher-name>Springer International Publishing</publisher-name>, pp. <fpage>20</fpage>–<lpage>34</lpage>. ISBN <isbn>978-3-319-10072-2</isbn>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_038">
<mixed-citation publication-type="other"><string-name><surname>Tempich</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Kröger</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Rieger</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Bodenbenner</surname>, <given-names>P.</given-names></string-name> (2011). <italic>Cash Cow “Information”: Erfolgsfaktoren für informationszentrierte Unternehmen in 2032</italic>. Technical report, Detecon Consulting.</mixed-citation>
</ref>
<ref id="j_info1134_ref_039">
<mixed-citation publication-type="journal"><string-name><surname>Wang</surname>, <given-names>R.Y.</given-names></string-name>, <string-name><surname>Strong</surname>, <given-names>D.M.</given-names></string-name> (<year>1996</year>). <article-title>Beyond accuracy: what data quality means to data consumers</article-title>. <source>Journal of Management Information Systems</source>, <volume>12</volume>(<issue>4</issue>), <fpage>5</fpage>–<lpage>33</lpage>. <comment>ISSN 0742-1222</comment>.</mixed-citation>
</ref>
<ref id="j_info1134_ref_040">
<mixed-citation publication-type="chapter"><string-name><surname>Weikum</surname>, <given-names>G.</given-names></string-name> (<year>1999</year>). <chapter-title>Towards guaranteed quality and dependability of information services</chapter-title>. In: <source>Datenbanksysteme in Büro, Technik und Wissenschaft</source>. <publisher-name>Springer Verlag</publisher-name>, pp. <fpage>379</fpage>–<lpage>409</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>