Skip to content

Instantly share code, notes, and snippets.

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

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

Select an option

Save anantmalhotra/e10c3b63772e808cf6c0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:9613c957ac2fc3161e4ab24e173eb34f73dc26b5cc608ccc44cbd9076eba4924"
},
"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",
"* **No customer liability: where each customer is attributed the cost of the links it uses based on a fixed cost per Mbps on the links regardless of link utilization.**\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['cost']/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 0.817036945373\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 0x7fb4b1218550>"
]
}
],
"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=0.4\n",
"alpha_ced = sum(P0*flows['speed'])/(sum(P0*flows['speed']) - sum(flows['cost']))\n",
"print alpha_ced"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2.77082784283\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": [
"3.09939158556e+12 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": [
"0.4 3.09939158556e+12\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": [
"0.469412288589 1.10586736404e+13\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 0x7fb4b1155a90>"
]
}
],
"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": [
"17.3176740178 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": [
"0.227\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": [
"6.06561417467e+12 0.253251818232\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": [
"0.399999999999 3.09939158553e+12\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 0x7fb4357c6ed0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nFhqbu05jc/fT2Nx5Gpu7h8ZmERERERERERERERERERERERERERERERERERERERERERERERERERER\nEREREREREREREREREelRxhjXGFPYg+sfaYxZvOb3IiIi4k9js0jvFsh1ASLSxsp1ASIiIrIajc0i\nvVQw1wWISJtfGmOOAKLArx3HedoYMxKY7jhOFaQ/sV15u/X794A7gUOAQuAsx3HebM3+FPg5sAKY\nlu1BjTE7AzcApa2LrnIcZ5oxZhDwKDCodfk/HMe5tBufr4iISG+nsVmkl9KMrEjvkXQcZ1vgcOAu\nY8zADtynAnjLcZztgGuAPwAYY8YCvwZ2cxxn+9ZcBmPMAGAScLLjODsA44HJxpgy4BTgK8dxxjqO\nMxb4XdeenoiISN7R2CzSS6mRFek97gFwHMcB3gd27cB9GhzHWfmJ7rvAqNbv9waedxxn5fE2d2W5\n/27ARsCLxpgPSH867Lau523gYGPMH40xhwKNnXs6IiIieU9js0gvpV2LRXqPNY/D8YAkq3/gFFkj\nE2/3fYpVf9PeGuvLdoyPBcx0HGcvvx8aY7YBDgROA64A9shWvIiISB+ksVmkl9KMrEjvcSaAMWYT\nYFvgHaAGCBljVn6ae3IH1/U6cIgxpqr19llZcm8Bmxhj9l65wBizY+vXkaQ/VX4C+AWwfYefiYiI\nSN+gsVmkl1IjK9J72MaY94HngHMdx1niOE4SuBh41RjzLulPgb129/HWWIcH4DjOTOB64E1jzHtA\nnd/9HMepI33cz9XGmA+NMZ8BVxljLNK7QM1ot1vThG59tiIiIr2fxmYRERERERERERERERERERER\nERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGR3u7/Aw1F\nR7Ca4U23AAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x7fb43593a910>"
]
}
],
"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 our results to cost models and 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