Skip to content

Instantly share code, notes, and snippets.

@anantmalhotra
Created September 25, 2014 11:41
Show Gist options
  • Select an option

  • Save anantmalhotra/12dfd862493d2f5c2114 to your computer and use it in GitHub Desktop.

Select an option

Save anantmalhotra/12dfd862493d2f5c2114 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:878576ac92625c5c7c50aa45754b7d614ad517042832d15b0966609edaa7b108"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Tiered Pricing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ISPs sell contracts to other (customer) ISPs, transit ISPs implement policies which price traffic by volume or by destination with volume discount and cheaper prices to destinations which cost them less. The studies destination based tiered pricing with the idea that ISPs should unbundle traffic and sell pricing in tiers according to destination to maximise profits.\n",
"\n",
"A useful taxonomy of current bundles sold by transit ISPs:\n",
"\n",
"* \u201cTransit\u201d \u2013 conventional transit pricing, sold at a blended rate for all traffic to all destinations ($/Mbps/month). Blended rates have been decreasing at 30% each year historically.\n",
"\n",
"* \u201cPaid peering\u201d \u2013 like conventional peering but one network pays to reach the other. off-net (destinations outside its network) and on-net (destinations within its network) may be charged at different rates. E.g. national ISPs selling local connectivity at a discount.\n",
"\n",
"* \u201cBackplane peering\u201d \u2013 an ISP sells global transit through its background but discounts traffic it can offload to peers at same Internet exchange. Smaller ISPs may buy this if they cannot get settlement-free peering at exchange.\n",
"\n",
"* \u201cRegional pricing\u201d \u2013 transit providers price different geographical regions differently. Typically, one or two extra price levels are used for regions."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"import numpy as np\n",
"import seaborn as sns\n",
"import sympy as sym\n",
"from IPython.display import FileLink\n",
"from scipy.stats import variation\n",
"flows = pd.read_pickle(\"flows_hourly\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Consider a transit market with multiple ISPs and customers. Each ISP is rational and maximizes its profit, which is expressed as the difference between its revenue and costs, where $p_{i}$ is the price an ISP sets to deliver flow i, $c_{i}$ is the unit\n",
"cost for i, and $Q_{i}(\\hat{P})$ is the demand for i given a vector of prices\n",
"$\\hat{P} = (p1, p2, . . . , pn)$:"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Cost Models"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Aggregate"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Each link in the network has been assigned an OPEX cost based on its capacity (in multiples of 10Gbps) and the associated vertex router pair locations, these are listed below."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The mechanism considered while attributing costs is as follows:\n",
"\n",
"* **Complete customer liability: where each customer is attributed the cost of the links it uses in proportion of its percentage of total utilization of the links.**\n",
"\n",
"Finally, the cost of on-net flows (customer-customer) are attributed equally on both sides, i.e. source and destination, while off-net flow costs (customer-peer) are assigned to the only customer present."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"location_cost = pd.read_csv(\"location_to_location_cost\", names = ['source','destination','unit_cost($/Mbps)'])\n",
"location_cost['OPEX'] = location_cost['unit_cost($/Mbps)']*10000\n",
"location_cost.head(15)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>source</th>\n",
" <th>destination</th>\n",
" <th>unit_cost($/Mbps)</th>\n",
" <th>OPEX</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> NORTH AMERICA</td>\n",
" <td> NORTH AMERICA</td>\n",
" <td> 0.10</td>\n",
" <td> 1000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> NORTH AMERICA</td>\n",
" <td> EUROPE</td>\n",
" <td> 0.25</td>\n",
" <td> 2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> NORTH AMERICA</td>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> 0.10</td>\n",
" <td> 1000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> NORTH AMERICA</td>\n",
" <td> ASIA</td>\n",
" <td> 1.62</td>\n",
" <td> 16200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> NORTH AMERICA</td>\n",
" <td> CENTRAL AMERICA</td>\n",
" <td> 0.10</td>\n",
" <td> 1000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> EUROPE</td>\n",
" <td> NORTH AMERICA</td>\n",
" <td> 0.25</td>\n",
" <td> 2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> EUROPE</td>\n",
" <td> EUROPE</td>\n",
" <td> 0.09</td>\n",
" <td> 900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> EUROPE</td>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> 0.25</td>\n",
" <td> 2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> EUROPE</td>\n",
" <td> ASIA</td>\n",
" <td> 1.40</td>\n",
" <td> 14000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> EUROPE</td>\n",
" <td> CENTRAL AMERICA</td>\n",
" <td> 0.25</td>\n",
" <td> 2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> NORTH AMERICA</td>\n",
" <td> 0.10</td>\n",
" <td> 1000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> EUROPE</td>\n",
" <td> 0.25</td>\n",
" <td> 2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> 1.62</td>\n",
" <td> 16200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> ASIA</td>\n",
" <td> 1.62</td>\n",
" <td> 16200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> SOUTH AMERICA</td>\n",
" <td> CENTRAL AMERICA</td>\n",
" <td> 0.10</td>\n",
" <td> 1000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
" source destination unit_cost($/Mbps) OPEX\n",
"0 NORTH AMERICA NORTH AMERICA 0.10 1000\n",
"1 NORTH AMERICA EUROPE 0.25 2500\n",
"2 NORTH AMERICA SOUTH AMERICA 0.10 1000\n",
"3 NORTH AMERICA ASIA 1.62 16200\n",
"4 NORTH AMERICA CENTRAL AMERICA 0.10 1000\n",
"5 EUROPE NORTH AMERICA 0.25 2500\n",
"6 EUROPE EUROPE 0.09 900\n",
"7 EUROPE SOUTH AMERICA 0.25 2500\n",
"8 EUROPE ASIA 1.40 14000\n",
"9 EUROPE CENTRAL AMERICA 0.25 2500\n",
"10 SOUTH AMERICA NORTH AMERICA 0.10 1000\n",
"11 SOUTH AMERICA EUROPE 0.25 2500\n",
"12 SOUTH AMERICA SOUTH AMERICA 1.62 16200\n",
"13 SOUTH AMERICA ASIA 1.62 16200\n",
"14 SOUTH AMERICA CENTRAL AMERICA 0.10 1000"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"FileLink('Network Cost Model.ipynb')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<a href='Network Cost Model.ipynb' target='_blank'>Network Cost Model.ipynb</a><br>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"/home/anant/IPython/Network Cost Model.ipynb"
]
}
],
"prompt_number": 3
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Shapley"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Computation in progress, deferred."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Demand Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To compute profit for the Service Provider, one must understand how price changes lead to different demands for a given consumer. The demand functions may be interpreted as either the inherent demand or the residual demand, which not only represents the inherent demand but also accounts for the availability of substitutes. Consider these families of demand functions:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The coefficient of variation (CV) is a normalized measure of dispersion. It is defined as the ratio of the standard deviation $\\sigma$ to the mean $\\mu$. CV is a standard indicator of the amount of variability for demand and cost of flows and hence impacts the pricing tiers:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['unit_cost'] = flows['cost1']/flows['speed']\n",
"CV_demand = variation(flows['speed'])\n",
"CV_cost = variation(flows['unit_cost'])\n",
"print CV_demand,CV_cost"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"16.2874354407 332.38491941\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"A. Constant Elasticity Demand"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is derived from the alpha-fair utility function, which is often used to model consumer utility on the internet. The alpha-fair utility takes the form of a concave increasing utility function, which emulates a decreasing marginal benefit to additional bandwidth for a user. Flow demands are assumed separable (i.e. changes in demand or prices for one flow have no effect on demand and prices of other flows). Constant elasticity demand represents a constant price elasticity across flows (or groups of flows), $\\alpha$. This is replicated in a scenario where consumers do not have enough choices, or the market is monopolistic:\n",
"\n",
"$$Q_{i}(p_{i}) = (\\frac{v_{i}}{p_{i}})^\\alpha$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig = plt.figure(figsize=(16,5))\n",
"demand = np.arange(0,3,0.1)\n",
"vals, alphas = [1.0,2.0,3.0], [1.5, 2.0, 3.0]\n",
"ax1 = fig.add_subplot(121)\n",
"for val in vals:\n",
" p = val/demand**(1/alphas[0])\n",
" ax1.plot(demand,p,'--',label=\"val=%d\"%val)\n",
" ax1.legend()\n",
" plt.xlabel(\"Quantity\")\n",
" plt.ylabel(\"Price\")\n",
" plt.title(\"alpha=%0.1f\"%alphas[0])\n",
" \n",
"ax2 = fig.add_subplot(122)\n",
"for alpha in alphas:\n",
" p = vals[0]/demand**(1/alpha)\n",
" ax2.plot(demand,p,'--',label=\"alpha=%0.01f\"%alpha)\n",
" ax2.legend()\n",
" plt.xlabel(\"Quantity\")\n",
" plt.ylabel(\"Price\")\n",
" plt.title(\"val=%0.1f\"%vals[0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7fae312a5550>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Price Sensitivity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The degree to which the price of a product affects consumers purchasing behaviors is referred to as the price sensitivity. In this case, $\\alpha$. The degree of price sensitivity varies from consumer to consumer. It is commonly measured using the price elasticity of demand, which in this case is: $-\\alpha$. For a given flow with demand of $q_{i}$, unit cost $c_{i}$ and a blended rate charged $P_{0}$ : \n",
"\n",
"$$\\alpha = \\frac{\\sum{P_{0}q_{i}}}{\\sum{P_{0}q_{i}} - \\sum{c_{i}q_{i}}}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"P0=5.0\n",
"alpha_ced = sum(P0*flows['speed'])/(sum(P0*flows['speed']) - sum(flows['unit_cost']*flows['speed']))\n",
"print alpha_ced"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2.06394351124\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Valuation Coefficients"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These indicate the valuation of a flow \"i\". It is required as a parameter in the demand models as described above and ultimately serve in computation of the service providers profit. For constant elasticity demand, assume the service provider charges the same blended rate $P_{0}$ for every flow, get valuation coefficients based on the formula listed, compute the scaling parameter, $\\gamma$ and scale costs according to price:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['val_ced'] = pow(flows['speed'],1/alpha_ced)*P0\n",
"gamma = P0*(alpha_ced-1)*sum(pow(flows['val_ced'],alpha_ced))/(alpha_ced*sum(flows['unit_cost']*pow(flows['val_ced'],alpha_ced)))\n",
"flows['unit_cost'] = gamma*flows['unit_cost']\n",
"current_profit = sum((P0 - flows['unit_cost'])*flows['speed'])\n",
"print current_profit, gamma"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"5.20113586827e+13 0.999999999996\n"
]
}
],
"prompt_number": 7
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Optimal Blended Price"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Assume each flow is charged with the same blended price $P_{0}$. This is the bundle price to be used in various bundling strategies described later. It follows the optimal price assumption in the current network model and the parameter alpha is derived from this. In a scenario with some flows bundled, the profit maximizing price for the network with constant elasticity demand is:\n",
"\n",
"$$P_{0} = \\frac{\\alpha}{\\alpha - 1}\\frac{\\sum_{i=1}^{n}{c_{i}v_{i}^{\\alpha}}}{\\sum_{i=1}^{n}{v_{i}^{\\alpha}}}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"P_ = alpha_ced*sum(pow(flows['val_ced'],alpha_ced)*flows['unit_cost'])/((alpha_ced-1)*sum(pow(flows['val_ced'],alpha_ced)))\n",
"flows['blended_demand'] = pow(flows['val_ced']/P_,alpha_ced)\n",
"profit_ = sum((P_- flows['unit_cost'])*flows['blended_demand'])\n",
"print P_, profit_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"5.0 5.20113586827e+13\n"
]
}
],
"prompt_number": 8
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Optimal Discriminated Price"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The profit maximizing price for each flow with constant elasticity demand is found by differentiating the profit function. This is the optimal profit maximizing price that achieves perfect discrimation across flows in time, i.e. an infinite bundles. This price leads to obtaining maximum possible profit in the network, given a parameter setting. Obviously, this is not practical to implement, rather it serves as the benchmark of comparison for optimality : \n",
"\n",
"$$\\hat{p_{i}} = \\frac{\\alpha}{\\alpha - 1}*c_{i}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['opt_price_ced'] = alpha_ced*flows['unit_cost']/(alpha_ced-1)\n",
"flows['opt_demand'] = pow(flows['val_ced']/flows['opt_price_ced'],alpha_ced)\n",
"max_profit = sum((flows['opt_price_ced'] - flows['unit_cost'])*flows['opt_demand'])\n",
"print flows['opt_price_ced'].median(), max_profit"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"6.5499150774 5.57458325514e+14\n"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def optimal_price(flows, alpha):\n",
" return alpha*sum(pow(flows['val_ced'],alpha)*flows['unit_cost'])/((alpha-1)*sum(pow(flows['val_ced'],alpha)))\n",
"\n",
"def get_profit(flows,p):\n",
" return sum((p-flows['unit_cost'])*pow(flows['val_ced']/p,alpha_ced))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"B. Logit Demand"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The logit demand model assumes that each consumer faces a discrete choice among a set of available goods or services. In the context of data transit, the choice is between different destinations or flows. A consumer \"j\" using flow \"i\" with price elasticity $\\alpha$ and idiosyncratic preference $\\epsilon_{ij}$ has utility:\n",
"\n",
"$$u_{ij} = \\alpha(v_{i} - p_{i}) + \\epsilon_{ij}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The logit model defines the probability that any given consumer will use flow \"i\" as a function of the price vector of all flows, this is also referred to as the \"market share\" of flow \"i\":\n",
"\n",
"$$s_{i}(P) = \\frac{e^{\\alpha(v_{i}-p_{i})}}{\\sum_{j}e^{\\alpha(v_{j}-p_{j})} + 1}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig = plt.figure(figsize=(16,5))\n",
"p = np.arange(0,3,0.1)\n",
"vals, alphas = [1.0,2.0,3.0], [1.5, 2.0, 3.0]\n",
"ax1 = fig.add_subplot(121)\n",
"for val in vals:\n",
" demand = np.exp(alphas[0]*(val - p))/(1+np.exp(alphas[0]*(val - p)))\n",
" ax1.plot(demand,p,'--',label=\"val=%d\"%val)\n",
" ax1.legend()\n",
" plt.xlabel(\"Quantity\")\n",
" plt.ylabel(\"Price\")\n",
" plt.title(\"alpha=%0.1f\"%alphas[0])\n",
" \n",
"ax2 = fig.add_subplot(122)\n",
"for alpha in alphas:\n",
" demand = np.exp(alpha*(vals[0] - p))/(1+np.exp(alpha*(vals[0] - p)))\n",
" ax2.plot(demand,p,'--',label=\"alpha=%0.01f\"%alpha)\n",
" ax2.legend()\n",
" plt.xlabel(\"Quantity\")\n",
" plt.ylabel(\"Price\")\n",
" plt.title(\"val=%0.1f\"%vals[0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7fae311e2a90>"
]
}
],
"prompt_number": 11
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Valuation Coefficients"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Valuation Coefficient in case of logit-demand models, $v_{i}$, is the \u201caverage\u201d consumer\u2019s maximum willingness to pay for flow \"i\". Compute valuation coefficients by assuming initial blended pricing, $P_{0}$ and assuming an traffic share for traffic not sent, $s_{0}$, as a sensitivity parameter :\n",
"\n",
"$$v_{i} = \\frac{log(s_{i}) - log(s_{0})}{\\alpha} + P_{0}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s0 = 0.4\n",
"N = sum(flows['speed'])/(1-s0)\n",
"flows['si_blended'] = flows['speed']/N\n",
"alpha_logit = 1/(s0*(P0 - (sum(flows['unit_cost']*flows['speed'])/sum(flows['speed']))))\n",
"print alpha_logit, N\n",
"flows['val_logit'] = ((np.log(flows['si_blended']) - np.log(s0))/alpha_logit) + P0"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1.03197175562 3.57828354212e+13\n"
]
}
],
"prompt_number": 12
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Optimal Discriminated Price"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The profit maximizing price for each flow with logit demand is found by differentiating the profit function. This optimal profit maximizing price achieves perfect discrimation across flows in time, i.e. an infinite bundles. Due to the presence of $s_{0}$, $p_{i}$ recursively depends on itself and on profit-maximizing prices of other flows. Again, this is not practical to implement :\n",
"\n",
"$$ p_{i} = c_{i} + \\frac{1}{\\alpha s_{0}}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"num = sum(np.exp(alpha_logit*(flows['val_logit'] - flows['unit_cost'])))\n",
"x = sym.symbols('x')\n",
"sol = sym.solve(x - 1 - (num/sym.exp(x)), x)\n",
"k = sol/alpha_logit\n",
"margin = np.around(float(k[0]),decimals=3)\n",
"print margin"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"3.832\n"
]
}
],
"prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hence the optimal price is $c_{i} + k$ for each flow. To compute the optimal profit for the Service Provider, use the logit-demand model for \"N\" consumers:\n",
"\n",
"$$\\Pi(\\hat{P}) = N \\sum_{p_{i} \\in \\hat{P}}{s_{i}(\\hat{P})(p_{i}-c_{i})}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['opt_price_logit'] = flows['unit_cost'] + margin\n",
"den = sum(np.exp(alpha_logit*(flows['val_logit'] - flows['opt_price_logit'])))\n",
"flows['opt_si'] = np.exp(alpha_logit*(flows['val_logit'] - flows['opt_price_logit']))/(1+den)\n",
"max_profit_logit = N*sum(flows['opt_si']*margin)\n",
"opt_s0 = 1 - sum(flows['opt_si'])\n",
"print max_profit_logit,opt_s0"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1.02457914504e+14 0.252785552678\n"
]
}
],
"prompt_number": 14
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let $p_{i} - c_{i} = constant = \"k\" $; This is constant as both $\\alpha$ and $s_{0}$ are consistent across flows. Thus each flow is trying to solve the equation expressed above as:\n",
"\n",
"$$\\alpha k - 1 = \\frac{\\sum_{i}e^{\\alpha (v_{i} - c_{i})}}{e^{\\alpha k}}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def optimal_price_logit(flows, alpha_logit):\n",
" n = len(pd.unique(flows['bundle']))\n",
" bundle_cost, bundle_val = np.zeros(n), np.zeros(n)\n",
" for i in range(1,n+1):\n",
" bundle = flows[flows['bundle'] == i]\n",
" bundle_cost[i-1] = sum(bundle['unit_cost']*np.exp(alpha_logit*bundle['val_logit']))/sum(np.exp(alpha_logit*bundle['val_logit']))\n",
" bundle_val[i-1] = np.log(sum(np.exp(alpha_logit*bundle['val_logit'])))/alpha_logit\n",
" num = sum(np.exp(alpha_logit*(bundle_val - bundle_cost)))\n",
" sol = sym.solve(x - 1 - (num/sym.exp(x)), x)\n",
" k = sol/alpha_logit\n",
" margin = np.around(float(k[0]),decimals=3)\n",
" return (margin + bundle_cost)\n",
"\n",
"def get_profit_logit(flows, alpha_logit):\n",
" den = np.zeros(n)\n",
" s0_bundle = 1/(1+sum(np.exp(alpha_logit*(flows['val_logit'] - flows['bundle_price']))))\n",
" flows['bundle_si'] = np.exp(alpha_logit*(flows['val_logit'] - flows['bundle_price']))*s0_bundle\n",
" return sum((flows['bundle_price']-flows['unit_cost'])*flows['bundle_si']*N)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Optimal Blended Price"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Assume each flow is charged with the same blended price $P_{0}$. This follows the optimal price assumption in the current network model and the parameter alpha is derived from this. In a scenario with flows bundled, the valuation coefficient and unit cost for the bundle are derived as:\n",
"\n",
"$$v_{bundle} = \\frac{\\log({\\sum_{i=1}^{n}{e^{\\alpha v_{i}}}})}{\\alpha}; c_{bundle} = \\frac{\\sum_{i=1}^{n}c_{i} e^{\\alpha v_{i}}}{\\sum_{i=1}^{n} e^{\\alpha v_{i}}}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"price = sum(flows['unit_cost']*np.exp(alpha_logit*flows['val_logit']))/sum(np.exp(alpha_logit*flows['val_logit'])) + 1/(alpha_logit*s0)\n",
"current_profit_logit = sum((price - flows['unit_cost'])*flows['speed'])\n",
"print price, current_profit_logit"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"4.99999999998 5.20113586822e+13\n"
]
}
],
"prompt_number": 16
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Bundling Strategies"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Various bundling strategies are employed to derive optimal pricing buckets. For a given number of bundles, n, while there does exist an optimal way to bundle the flows together to achieve maximum profit, it is computationally infeasible to arrive at. It requires computing various possible combinations of dividing distinct flows into n bundles (see Stirling Numbers of the second kind). Thus heuristic based measures, that render computation tractable are employed. \n",
"\n",
"The profit capture of a given bundling strategy is defined as the ratio of profit gain over the original profit from using this bundling strategy, to the max. profit gain from a complete price discrimination strategy (infinite bundles) :\n",
"\n",
"$$\\Pi = \\frac{P_{current} - P_{original}}{P_{max} - P_{original}}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bundles = {'demand':{'ced':[],'logit':[]},'cost':{'ced':[],'logit':[]},'profit':{'ced':[]},'cost_div':{'ced':[],'logit':[]},'index':{'ced':[],'logit':[]}}"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"A. Demand Weighted"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this strategy, the following algorithm groups traffic flows to \"n\" bundles: \n",
"\n",
"* Set the overall token budget as the sum of the original demand of all flows.\n",
"* Assign equal budget to all bundles = overall budget/n.\n",
"* Sort the flows in decreasing order of their demand and traverse them one-by-one.\n",
"* When traversing flow i, assign it to the first bundle j that has a budget $t_{j} > 0$.\n",
"* Reduce the budget of that bundle by $q_{i}$."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows.sort(columns = ['speed'], ascending=False, inplace=True)\n",
"\n",
"for n in range(1,7):\n",
" P,profit = {'ced':[],'logit':[]},{'ced':[],'logit':[]}\n",
" token = sum(flows['speed'])/n\n",
" flows['bundle'] = n\n",
" for i in range(1,n+1):\n",
" cumulative = flows[flows['bundle'] == n]['speed'].cumsum()\n",
" flows.loc[cumulative.reindex_like(flows) <= token, 'bundle'] = i\n",
" P['ced'].append(optimal_price(flows[flows['bundle']==i][['val_ced','unit_cost']],alpha_ced))\n",
" profit['ced'].append(get_profit(flows[flows['bundle']==i][['val_ced','unit_cost']],P['ced'][i-1]))\n",
" P['logit'] = optimal_price_logit(flows, alpha_logit).tolist()\n",
" flows['bundle_price'] = flows[['bundle']].applymap(dict(zip(range(1,1+len(P['logit'])),P['logit'])).get)\n",
" profit['logit'] = get_profit_logit(flows[['bundle_price','val_logit','unit_cost']],alpha_logit)\n",
" bundles['demand']['ced'].append(np.around((sum(profit['ced']) - current_profit)/(max_profit - current_profit),decimals=4))\n",
" bundles['demand']['logit'].append(np.around((sum(profit['logit']) - current_profit_logit)/(max_profit_logit - current_profit_logit),decimals=4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"B. Cost Weighted"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A similar approach as in demand weighted bundling is used where instead of aggregating demands in assigning token budgets, use the inverse of unit costs of each flow for bundling aggregation:\n",
"$\\pi_{i} = 1/c_{i}$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['inv_cost'] = 1/flows['unit_cost']\n",
"flows.sort(columns = ['inv_cost'], ascending=False, inplace=True)\n",
"\n",
"for n in range(1,7):\n",
" P,profit = {'ced':[],'logit':[]},{'ced':[],'logit':[]}\n",
" token = sum(flows['inv_cost'])/n\n",
" flows['bundle'] = n\n",
" for i in range(1,n+1):\n",
" cumulative = flows[flows['bundle'] == n]['inv_cost'].cumsum()\n",
" flows.loc[cumulative.reindex_like(flows) <= token, 'bundle'] = i\n",
" P['ced'].append(optimal_price(flows[flows['bundle']==i][['val_ced','unit_cost']],alpha_ced))\n",
" profit['ced'].append(get_profit(flows[flows['bundle']==i][['val_ced','unit_cost']],P['ced'][i-1]))\n",
" P['logit'] = optimal_price_logit(flows, alpha_logit).tolist()\n",
" flows['bundle_price'] = flows[['bundle']].applymap(dict(zip(range(1,1+len(P['logit'])),P['logit'])).get)\n",
" profit['logit'] = get_profit_logit(flows[['bundle_price','val_logit','unit_cost']],alpha_logit)\n",
" bundles['cost']['ced'].append(np.around((sum(profit['ced']) - current_profit)/(max_profit - current_profit),decimals=4))\n",
" bundles['cost']['logit'].append(np.around((sum(profit['logit']) - current_profit_logit)/(max_profit_logit - current_profit_logit),decimals=4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"C. Profit Weighted"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The bundling algorithms considered above use demand and cost seperately. To account for cost and demand together, estimate the potential profit for each flow using the metric and then use the same weighted algorithms as earlier:\n",
"\n",
"$$ \\pi_{i} = \\frac {v_{i}^{\\alpha}}{\\alpha}({\\frac{\\alpha c_{i}}{\\alpha-1}})^{1-\\alpha}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['profit'] = (pow(flows['val_ced'],alpha_ced)/alpha_ced)*pow(alpha_ced*flows['unit_cost']/(alpha_ced-1),1-alpha_ced)\n",
"flows.sort(columns = ['profit'], ascending=False, inplace=True)\n",
"\n",
"for n in range(1,7):\n",
" P,profit = {'ced':[],'logit':[]},{'ced':[],'logit':[]}\n",
" token = sum(flows['profit'])/n\n",
" flows['bundle'] = n\n",
" for i in range(1,n+1):\n",
" cumulative = flows[flows['bundle'] == n]['profit'].cumsum()\n",
" flows.loc[cumulative.reindex_like(flows) <= token, 'bundle'] = i\n",
" P['ced'].append(optimal_price(flows[flows['bundle']==i][['val_ced','unit_cost']],alpha_ced))\n",
" profit['ced'].append(get_profit(flows[flows['bundle']==i][['val_ced','unit_cost']],P['ced'][i-1]))\n",
" bundles['profit']['ced'].append(np.around((sum(profit['ced']) - current_profit)/(max_profit - current_profit),decimals=4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"D. Cost Division"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The most expensive flow is divided into ranges according to its cost. For example, if we want to introduce two bundles and the most expensive flow costs \\$10/Mbps/month to reach, we assign flows that cost \\$0\u2013\\$4.99 to the first bundle and flows that cost \\$5\u2013\\$10 to the second bundle."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for n in range(1,7):\n",
" P,profit = {'ced':[],'logit':[]},{'ced':[],'logit':[]}\n",
" flows['bundle'] = pd.factorize(pd.cut(flows['unit_cost'],n))[0] + 1\n",
" for i in range(1,1+len(pd.unique(flows['bundle']))):\n",
" P['ced'].append(optimal_price(flows[flows['bundle']==i][['val_ced','unit_cost']],alpha_ced))\n",
" profit['ced'].append(get_profit(flows[flows['bundle']==i][['val_ced','unit_cost']],P['ced'][i-1]))\n",
" P['logit'] = optimal_price_logit(flows, alpha_logit).tolist()\n",
" flows['bundle_price'] = flows[['bundle']].applymap(dict(zip(range(1,1+len(P['logit'])),P['logit'])).get)\n",
" profit['logit'] = get_profit_logit(flows[['bundle_price','val_logit','unit_cost']],alpha_logit)\n",
" bundles['cost_div']['ced'].append(np.around((sum(profit['ced']) - current_profit)/(max_profit - current_profit),decimals=4))\n",
" bundles['cost_div']['logit'].append(np.around((sum(profit['logit']) - current_profit_logit)/(max_profit_logit - current_profit_logit),decimals=4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 21
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"E. Index Division"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Index-division bundling is similar to cost division bundling, except that we rank flows according to their cost and use the rank, rather than the cost, to perform the division into bundles."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flows['cost_index'] = flows['unit_cost'].rank()\n",
"max_cost = flows['cost_index'].max()\n",
"\n",
"for n in range(1,7):\n",
" P,profit = {'ced':[],'logit':[]},{'ced':[],'logit':[]}\n",
" token = max_cost/n\n",
" flows['bundle'] = 1\n",
" for i in range(1,n+1):\n",
" flows.loc[flows['cost_index'] > i*token, 'bundle'] = i+1\n",
" P['ced'].append(optimal_price(flows[flows['bundle']==i][['val_ced','unit_cost']],alpha_ced))\n",
" profit['ced'].append(get_profit(flows[flows['bundle']==i][['val_ced','unit_cost']],P['ced'][i-1]))\n",
" P['logit'] = optimal_price_logit(flows, alpha_logit).tolist()\n",
" flows['bundle_price'] = flows[['bundle']].applymap(dict(zip(range(1,1+len(P['logit'])),P['logit'])).get)\n",
" profit['logit'] = get_profit_logit(flows[['bundle_price','val_logit','unit_cost']],alpha_logit)\n",
" bundles['index']['ced'].append(np.around((sum(profit['ced']) - current_profit)/(max_profit - current_profit),decimals=4))\n",
" bundles['index']['logit'].append(np.around((sum(profit['logit']) - current_profit_logit)/(max_profit_logit - current_profit_logit),decimals=4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here are the plots depicting profit capture vs the number of bundles used:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig = plt.figure(figsize=(16,5))\n",
"\n",
"ax1 = fig.add_subplot(121)\n",
"ax1.plot(range(1,7),bundles['demand']['ced'],'r--',label='demand',linewidth=2)\n",
"ax1.plot(range(1,7),bundles['cost']['ced'],'b--',label='cost',linewidth=2)\n",
"ax1.plot(range(1,7),bundles['profit']['ced'],'g--',label='profit',linewidth=2)\n",
"ax1.plot(range(1,1+len(bundles['cost_div']['ced'])),bundles['cost_div']['ced'],'m--',label='cost division',linewidth=2)\n",
"ax1.plot(range(1,7),bundles['index']['ced'],'y--',label='index division',linewidth=2)\n",
"\n",
"plt.title(\"Constant Elasticity Demand\")\n",
"plt.legend(loc='upper left')\n",
"plt.xlabel(\"bundles\")\n",
"plt.ylabel(\"profit capture\")\n",
"\n",
"ax2 = fig.add_subplot(122)\n",
"ax2.plot(range(1,7),bundles['demand']['logit'],'r--',label='demand',linewidth=2)\n",
"ax2.plot(range(1,7),bundles['cost']['logit'],'b--',label='cost',linewidth=2)\n",
"ax2.plot(range(1,1+len(bundles['cost_div']['logit'])),bundles['cost_div']['logit'],'m--',label='cost division',linewidth=2)\n",
"ax2.plot(range(1,7),bundles['index']['logit'],'y--',label='index division',linewidth=2)\n",
"\n",
"plt.title(\"Logit Demand\")\n",
"plt.legend(loc='upper left')\n",
"plt.xlabel(\"bundles\")\n",
"plt.ylabel(\"profit capture\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 23,
"text": [
"<matplotlib.text.Text at 0x7fade9c48a50>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nHwQesNa+kNuU8tJFwAPGmALgc+B7Oc4n76g2Z4Rqc/pUmzNPtbnjVJszQ7VZRERERERERERERERE\nRERERERERERERERERERERERERERERERERERERERERERERERERERERLLKGOMZY0qyOP7OxphVm38u\nIiIiqak2i3Rtbq4TEJGNnFwnICIiIptQbRbpooK5TkBENrrCGHMiUAxcba39pzFmZ+Bda201JI7Y\nbnjd8vl7wG3AaKAEOMda+0ZL7A+Ai4Fa4Jm2VmqMOQD4PVDR8tbPrbXPGGP6AQ8C/Vref9Fae2kG\nv18REZGuTrVZpIvSGVmRriNmrR0OjAEmG2P6tmOZ3sB0a+2+wK+A6wCMMcOAq4GDrLUjWuKSGGOq\ngEnAadba/YATgNuNMZXAd4DPrLXDrLXDgF+m9+2JiIjkHdVmkS5KjaxI13EXgLXWAjOBr7djmXpr\n7YYjum8Du7Z8fjgwzVq74X6byW0sfxAwGHjWGDOLxNFhr2WcN4FjjTF/NMYcBzR07NsRERHJe6rN\nIl2ULi0W6To2vw/HB2JsesCpaLOY5lafx/nyd9rfbLy27vFxgNnW2sNSfdEYsw9wDHAGcBVwSFvJ\ni4iIdEOqzSJdlM7IinQd3wMwxnwFGA68BSwHQsaYDUdzT2vnWK8Bo40x1S2vz2kjbjrwFWPM4Rve\nMMZ8reXjziSOKj8MXAaMaPd3IiIi0j2oNot0UWpkRbqOgDFmJvAUcJ61drW1Ngb8CPi3MeZtEkeB\n/VbL+JuN4QNYa2cDvwPeMMa8B9SkWs5aW0Pivp9fGGPeN8bMAX5ujHFIXAI1o9VlTedn9LsVERHp\n+lSbRURERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE\nRERERERERERERERERLq6/weIEYIjZFuD1AAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7fade9e4cc10>"
]
}
],
"prompt_number": 23
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Thus, with an appropriate heuristics-based bundling strategy, the ISP attains maximum profit with just 3\u20134 bundles. As expected, an optimal flow bundling strategy would capture the most profit for a given number of bundles. With only minor exceptions, the cost-weighted bundling heuristic is almost as good as the the optimal bundling, followed by the profit-weighted bundling heuristic in both constant-elasticity and logit demand models."
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Sensitivity Analysis:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To explore the robustness of the results to any input parameter settings, one may vary an input parameter under test keeping other parameters constant. The set of parameters, such as price of the original bundle, $P_{0}$, and in the logit model, the share of the market that corresponds to deciding not to purchase bandwidth, $s_{0}$ are analyzed to qualitatively study how sensitive the model is to the choice of these parameters. <* to be completed *>"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Assumptions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Demand models are valid\n",
"* Current pricing at a single blended rate $P_{0}$\n",
"* Unit cost does not vary with pricing\n",
"* Pricing on flow-aggregates instead of 95th percentile"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Concluding Remarks"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The goal of this study is to understand how the profit that a service provider extracts from offering tiered pricing depends on the number of tiers, the bundling strategy, the network topology and demands. There is no validation of the assumptions in some aspects of cost and demand models, or even which model is most appropriate. This also assumes that the current pricing is optimally served at a blended rate. Given that the demand models are valid, the data is used to derive model parameters, such as valuation and alpha, and the profit of each strategy is evaluated across models and input parameters. What happens in a situation where the service provider is already offering a tiered pricing structure (baseline optimal) is yet to be explored. Such a scenario would require appropriate adjustments to parameter estimation in the models suggested above.\n",
"\n",
"As evident in the results, a service provider needs few bundles (3-4) to capture 80%-90% of the profit provided by an infinite number of bundles, provided the bundling strategy used is appropriate. The profit capture is higher in case of logit demand with fewer bundles. A bundling strategy that considers only cost is most effective. The topology and traffic of a network influences its bundling and profit capture, networks with higher coefficient of variation of demand need more bundles to extract maximum profit. Cost-division is redundant bundling -- same as blended, irrespective of how many bundles are used, this may require further examination. Index division also shows good profit capture and in some cases even better than purely cost driven bundling.\n",
"\n",
"Two cost models, both based on aggregate traffic, have been employed covering both liability extremes. One considers any under-utilization of resources as borne by the network (charging constant \\$/Mbps), while the other puts the liability on the consumer (charging based on utilization). Throughout the analysis it is explicitly assumed that unit cost for any flow does not change with pricing. While this may be the case in certain cost models, such as the \"complete network liability\" case, it is often violated in other cost models such as the complete customer liability case. Changing the the price would often affect the demand and hence affect the unit costs across the various flows, this may or may not be feasible in implementation. Another direction to be worked upon includes using \"Shapley\" cost models, which is based on the peak usage instead of aggregates, obviously since network capacity, being the major cost driver, is based on peaks. Another limitation that arises is when pricing is based on flow-aggregates rather than standard 95th percentiles."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"References"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Valancius, Vytautas, et al. \"How many tiers?: pricing in the internet transit market.\" ACM SIGCOMM Computer Communication Review 41.4 (2011): 194-205. http://www.cc.gatech.edu/fac/Vijay.Vazirani/tier.pdf"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment