{
  "id": 22074,
  "title": "Why does a product ID have multiple prices?",
  "url": "/competitions/grupo-bimbo-inventory-demand/discussion/22074",
  "author_name": "",
  "post_date": "2016-07-06T20:35:18.203Z",
  "votes": null,
  "comment_count": 5,
  "views": 1193,
  "content": "<p>Why does a product ID have multiple prices?</p>\n\n<p>Thanks in advance for answering my question.</p>\n\n<p>Product ID 1212 is &quot;Roles Canela 2p 120g BIM 1212&quot; and has prices ranging from 2.52 pesos to 9.6 pesos.</p>\n\n<p>Price is a calculated variable for me and is calculated as under:\nPrice= Sales/ (Units sold)</p>\n\n<p>Code and output is below:</p>\n\n<pre><code>sort(unique(train$Price[train$ProductID==1212]))\n</code></pre>\n\n<p>[1] 2.520000 2.520000 2.567206 2.587692 2.597778 2.621538 2.622029 2.622466 2.622493 2.624407\n [11] 2.624923 2.625561 2.626116 2.628533 2.632632 2.663402 2.687843 2.688947 2.694904 2.708824\n [21] 2.719070 2.725333 2.734000 2.740000 2.740000 2.745263 2.787500 2.809792 2.832913 2.840000\n [31] 2.843019 2.846441 2.850625 2.852381 2.856629 2.857895 2.862720 2.873790 2.877447 2.883030\n [41] 2.883800 2.887475 2.968000 3.008861 3.035000 3.039683 3.045172 3.046494 3.055000 3.066383\n [51] 3.077143 3.093197 3.109700 3.115455 3.133333 3.139385 3.146897 3.160544 3.162469 3.166111\n [61] 3.173640 3.175476 3.178286 3.185045 3.188750 3.193571 3.194658 3.197658 3.198889 3.207327\n [71] 3.210000 3.216744 3.216909 3.219615 3.228276 3.233333 3.247758 3.263780 3.271648 3.282162\n [81] 3.330000 3.335221 3.357442 3.362778 3.366875 3.369333 3.376000 3.461111 3.477500 3.485091\n [91] 3.502462 3.582857 3.590000 3.590000 3.625000 3.644545 3.712055 3.714426 3.715714 3.734085\n[101] 3.746612 3.747134 3.755000 3.770566 3.782923 3.920000 3.920000 3.920000 5.600000 5.600000\n[111] 5.878000 6.110000 6.110000 6.110000 6.156000 6.670000 6.670000 7.200000 7.680000 8.130000\n[121] 8.130000 8.130000 8.200000 8.200000 8.230000 8.230000 8.230000 8.380000 8.380000 8.380000\n[131] 8.380000 8.380000 8.450000 8.450000 8.450000 8.450000 8.450000 8.535000 8.800000 8.800000\n[141] 8.800000 8.940000 8.940000 8.980000 8.980000 9.050000 9.070000 9.070000 9.070000 9.250000\n[151] 9.600000 9.600000</p>",
  "messages": [
    {
      "id": "126149",
      "postDate": "07/06/2016 20:35:18",
      "content": "<p>Why does a product ID have multiple prices?</p>\n\n<p>Thanks in advance for answering my question.</p>\n\n<p>Product ID 1212 is &quot;Roles Canela 2p 120g BIM 1212&quot; and has prices ranging from 2.52 pesos to 9.6 pesos.</p>\n\n<p>Price is a calculated variable for me and is calculated as under:\nPrice= Sales/ (Units sold)</p>\n\n<p>Code and output is below:</p>\n\n<pre><code>sort(unique(train$Price[train$ProductID==1212]))\n</code></pre>\n\n<p>[1] 2.520000 2.520000 2.567206 2.587692 2.597778 2.621538 2.622029 2.622466 2.622493 2.624407\n [11] 2.624923 2.625561 2.626116 2.628533 2.632632 2.663402 2.687843 2.688947 2.694904 2.708824\n [21] 2.719070 2.725333 2.734000 2.740000 2.740000 2.745263 2.787500 2.809792 2.832913 2.840000\n [31] 2.843019 2.846441 2.850625 2.852381 2.856629 2.857895 2.862720 2.873790 2.877447 2.883030\n [41] 2.883800 2.887475 2.968000 3.008861 3.035000 3.039683 3.045172 3.046494 3.055000 3.066383\n [51] 3.077143 3.093197 3.109700 3.115455 3.133333 3.139385 3.146897 3.160544 3.162469 3.166111\n [61] 3.173640 3.175476 3.178286 3.185045 3.188750 3.193571 3.194658 3.197658 3.198889 3.207327\n [71] 3.210000 3.216744 3.216909 3.219615 3.228276 3.233333 3.247758 3.263780 3.271648 3.282162\n [81] 3.330000 3.335221 3.357442 3.362778 3.366875 3.369333 3.376000 3.461111 3.477500 3.485091\n [91] 3.502462 3.582857 3.590000 3.590000 3.625000 3.644545 3.712055 3.714426 3.715714 3.734085\n[101] 3.746612 3.747134 3.755000 3.770566 3.782923 3.920000 3.920000 3.920000 5.600000 5.600000\n[111] 5.878000 6.110000 6.110000 6.110000 6.156000 6.670000 6.670000 7.200000 7.680000 8.130000\n[121] 8.130000 8.130000 8.200000 8.200000 8.230000 8.230000 8.230000 8.380000 8.380000 8.380000\n[131] 8.380000 8.380000 8.450000 8.450000 8.450000 8.450000 8.450000 8.535000 8.800000 8.800000\n[141] 8.800000 8.940000 8.940000 8.980000 8.980000 9.050000 9.070000 9.070000 9.070000 9.250000\n[151] 9.600000 9.600000</p>",
      "rawMarkdown": "Why does a product ID have multiple prices?\r\n\r\nThanks in advance for answering my question.\r\n\r\nProduct ID 1212 is \"Roles Canela 2p 120g BIM 1212\" and has prices ranging from 2.52 pesos to 9.6 pesos.\r\n\r\nPrice is a calculated variable for me and is calculated as under:\r\nPrice= Sales/ (Units sold)\r\n\r\nCode and output is below:\r\n\r\n    sort(unique(train$Price[train$ProductID==1212]))\r\n  [1] 2.520000 2.520000 2.567206 2.587692 2.597778 2.621538 2.622029 2.622466 2.622493 2.624407\r\n [11] 2.624923 2.625561 2.626116 2.628533 2.632632 2.663402 2.687843 2.688947 2.694904 2.708824\r\n [21] 2.719070 2.725333 2.734000 2.740000 2.740000 2.745263 2.787500 2.809792 2.832913 2.840000\r\n [31] 2.843019 2.846441 2.850625 2.852381 2.856629 2.857895 2.862720 2.873790 2.877447 2.883030\r\n [41] 2.883800 2.887475 2.968000 3.008861 3.035000 3.039683 3.045172 3.046494 3.055000 3.066383\r\n [51] 3.077143 3.093197 3.109700 3.115455 3.133333 3.139385 3.146897 3.160544 3.162469 3.166111\r\n [61] 3.173640 3.175476 3.178286 3.185045 3.188750 3.193571 3.194658 3.197658 3.198889 3.207327\r\n [71] 3.210000 3.216744 3.216909 3.219615 3.228276 3.233333 3.247758 3.263780 3.271648 3.282162\r\n [81] 3.330000 3.335221 3.357442 3.362778 3.366875 3.369333 3.376000 3.461111 3.477500 3.485091\r\n [91] 3.502462 3.582857 3.590000 3.590000 3.625000 3.644545 3.712055 3.714426 3.715714 3.734085\r\n[101] 3.746612 3.747134 3.755000 3.770566 3.782923 3.920000 3.920000 3.920000 5.600000 5.600000\r\n[111] 5.878000 6.110000 6.110000 6.110000 6.156000 6.670000 6.670000 7.200000 7.680000 8.130000\r\n[121] 8.130000 8.130000 8.200000 8.200000 8.230000 8.230000 8.230000 8.380000 8.380000 8.380000\r\n[131] 8.380000 8.380000 8.450000 8.450000 8.450000 8.450000 8.450000 8.535000 8.800000 8.800000\r\n[141] 8.800000 8.940000 8.940000 8.980000 8.980000 9.050000 9.070000 9.070000 9.070000 9.250000\r\n[151] 9.600000 9.600000",
      "votes": null
    },
    {
      "id": "126169",
      "postDate": "07/06/2016 23:56:52",
      "content": "<p>I would assume that price can change in time, and to be sensitive to location and even Cliente_ID.</p>",
      "rawMarkdown": "I would assume that price can change in time, and to be sensitive to location and even Cliente_ID.",
      "votes": null
    },
    {
      "id": "126315",
      "postDate": "07/07/2016 16:37:55",
      "content": "<p>I would assume that the price can also change by the number of units </p>\n\n<p>Bulkier orders get a cheaper price?</p>",
      "rawMarkdown": "I would assume that the price can also change by the number of units \r\n\r\nBulkier orders get a cheaper price?",
      "votes": null
    },
    {
      "id": "126380",
      "postDate": "07/08/2016 01:31:03",
      "content": "<p>Might be, but I would incline to think that the price can be negotiated by big retailers as they are able to make bigger orders. But if a corner store suddenly wants to buy 1000 Gansito they still wouldn't get a price as low as a retailer that makes 1000 Gansitos orders every week.</p>\n\n<p>Still, you can calculate the prices at a transaction level and see if all of these ideas hold true or not (I haven't tested)</p>",
      "rawMarkdown": "Might be, but I would incline to think that the price can be negotiated by big retailers as they are able to make bigger orders. But if a corner store suddenly wants to buy 1000 Gansito they still wouldn't get a price as low as a retailer that makes 1000 Gansitos orders every week.\r\n\r\nStill, you can calculate the prices at a transaction level and see if all of these ideas hold true or not (I haven't tested)",
      "votes": null
    },
    {
      "id": "126492",
      "postDate": "07/08/2016 20:48:32",
      "content": "<p>Sometimes the way price lists work for food distribution is by &quot;channel&quot;, &quot;Canal_ID&quot; could help you differentiate types of customers : Small stores, Supermarkets, Big retailer chains, Hotels, Hospitals, Schools, etc. Check the average customer order volume per channel to see the differences.\nInside each channel you can have different prices lists according to volume and special campaigns with discounts.   </p>\n\n<p>Bimbo usually does discounts when they have overstock or when the product expiring date is approaching.  </p>\n\n<p>Check also inside the product description file you will find some products with the &quot;prom&quot; tag, and without the tag, it could be &quot;promocion&quot;, spanish equivalent of &quot;campaign&quot;. Same products but with different ID and probably different price. Usually demand of the promo product goes against demand of the &quot;normal&quot; priced product, this a typical behavior in demand prediction problems.   </p>\n\n<p>30370,Tortillinas 12p 310g Prom TR 30370 <br>\n30371,Tortillinas 12p 310g WM MTA TR 30371 <br>\n30372,Tortillinas 12p 310g Prom TAB TR 30372   </p>",
      "rawMarkdown": "Sometimes the way price lists work for food distribution is by \"channel\", \"Canal_ID\" could help you differentiate types of customers : Small stores, Supermarkets, Big retailer chains, Hotels, Hospitals, Schools, etc. Check the average customer order volume per channel to see the differences.\r\nInside each channel you can have different prices lists according to volume and special campaigns with discounts.   \r\n\r\nBimbo usually does discounts when they have overstock or when the product expiring date is approaching.  \r\n\r\nCheck also inside the product description file you will find some products with the \"prom\" tag, and without the tag, it could be \"promocion\", spanish equivalent of \"campaign\". Same products but with different ID and probably different price. Usually demand of the promo product goes against demand of the \"normal\" priced product, this a typical behavior in demand prediction problems.   \r\n\r\n30370,Tortillinas 12p 310g Prom TR 30370   \r\n30371,Tortillinas 12p 310g WM MTA TR 30371   \r\n30372,Tortillinas 12p 310g Prom TAB TR 30372",
      "votes": null
    },
    {
      "id": "126530",
      "postDate": "07/09/2016 09:21:50",
      "content": "<p>All some very good points. \nLet me get down to analysing the dataset some more and see if I can get any answers.\nRegards,\nsinghn9</p>",
      "rawMarkdown": "All some very good points. \r\nLet me get down to analysing the dataset some more and see if I can get any answers.\r\nRegards,\r\nsinghn9",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 126169,
      "author_name": "juanrdz",
      "author_url": "",
      "post_date": "07/06/2016 23:56:52",
      "content": "<p>I would assume that price can change in time, and to be sensitive to location and even Cliente_ID.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 126315,
      "author_name": "jherna17",
      "author_url": "",
      "post_date": "07/07/2016 16:37:55",
      "content": "<p>I would assume that the price can also change by the number of units </p>\n\n<p>Bulkier orders get a cheaper price?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 126380,
      "author_name": "juanrdz",
      "author_url": "",
      "post_date": "07/08/2016 01:31:03",
      "content": "<p>Might be, but I would incline to think that the price can be negotiated by big retailers as they are able to make bigger orders. But if a corner store suddenly wants to buy 1000 Gansito they still wouldn't get a price as low as a retailer that makes 1000 Gansitos orders every week.</p>\n\n<p>Still, you can calculate the prices at a transaction level and see if all of these ideas hold true or not (I haven't tested)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 126492,
      "author_name": "rlomascolo",
      "author_url": "",
      "post_date": "07/08/2016 20:48:32",
      "content": "<p>Sometimes the way price lists work for food distribution is by &quot;channel&quot;, &quot;Canal_ID&quot; could help you differentiate types of customers : Small stores, Supermarkets, Big retailer chains, Hotels, Hospitals, Schools, etc. Check the average customer order volume per channel to see the differences.\nInside each channel you can have different prices lists according to volume and special campaigns with discounts.   </p>\n\n<p>Bimbo usually does discounts when they have overstock or when the product expiring date is approaching.  </p>\n\n<p>Check also inside the product description file you will find some products with the &quot;prom&quot; tag, and without the tag, it could be &quot;promocion&quot;, spanish equivalent of &quot;campaign&quot;. Same products but with different ID and probably different price. Usually demand of the promo product goes against demand of the &quot;normal&quot; priced product, this a typical behavior in demand prediction problems.   </p>\n\n<p>30370,Tortillinas 12p 310g Prom TR 30370 <br>\n30371,Tortillinas 12p 310g WM MTA TR 30371 <br>\n30372,Tortillinas 12p 310g Prom TAB TR 30372   </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 126530,
      "author_name": "singhn9",
      "author_url": "",
      "post_date": "07/09/2016 09:21:50",
      "content": "<p>All some very good points. \nLet me get down to analysing the dataset some more and see if I can get any answers.\nRegards,\nsinghn9</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "126149": "Why does a product ID have multiple prices?\r\n\r\nThanks in advance for answering my question.\r\n\r\nProduct ID 1212 is \"Roles Canela 2p 120g BIM 1212\" and has prices ranging from 2.52 pesos to 9.6 pesos.\r\n\r\nPrice is a calculated variable for me and is calculated as under:\r\nPrice= Sales/ (Units sold)\r\n\r\nCode and output is below:\r\n\r\n    sort(unique(train$Price[train$ProductID==1212]))\r\n  [1] 2.520000 2.520000 2.567206 2.587692 2.597778 2.621538 2.622029 2.622466 2.622493 2.624407\r\n [11] 2.624923 2.625561 2.626116 2.628533 2.632632 2.663402 2.687843 2.688947 2.694904 2.708824\r\n [21] 2.719070 2.725333 2.734000 2.740000 2.740000 2.745263 2.787500 2.809792 2.832913 2.840000\r\n [31] 2.843019 2.846441 2.850625 2.852381 2.856629 2.857895 2.862720 2.873790 2.877447 2.883030\r\n [41] 2.883800 2.887475 2.968000 3.008861 3.035000 3.039683 3.045172 3.046494 3.055000 3.066383\r\n [51] 3.077143 3.093197 3.109700 3.115455 3.133333 3.139385 3.146897 3.160544 3.162469 3.166111\r\n [61] 3.173640 3.175476 3.178286 3.185045 3.188750 3.193571 3.194658 3.197658 3.198889 3.207327\r\n [71] 3.210000 3.216744 3.216909 3.219615 3.228276 3.233333 3.247758 3.263780 3.271648 3.282162\r\n [81] 3.330000 3.335221 3.357442 3.362778 3.366875 3.369333 3.376000 3.461111 3.477500 3.485091\r\n [91] 3.502462 3.582857 3.590000 3.590000 3.625000 3.644545 3.712055 3.714426 3.715714 3.734085\r\n[101] 3.746612 3.747134 3.755000 3.770566 3.782923 3.920000 3.920000 3.920000 5.600000 5.600000\r\n[111] 5.878000 6.110000 6.110000 6.110000 6.156000 6.670000 6.670000 7.200000 7.680000 8.130000\r\n[121] 8.130000 8.130000 8.200000 8.200000 8.230000 8.230000 8.230000 8.380000 8.380000 8.380000\r\n[131] 8.380000 8.380000 8.450000 8.450000 8.450000 8.450000 8.450000 8.535000 8.800000 8.800000\r\n[141] 8.800000 8.940000 8.940000 8.980000 8.980000 9.050000 9.070000 9.070000 9.070000 9.250000\r\n[151] 9.600000 9.600000",
    "126169": "I would assume that price can change in time, and to be sensitive to location and even Cliente_ID.",
    "126315": "I would assume that the price can also change by the number of units \r\n\r\nBulkier orders get a cheaper price?",
    "126380": "Might be, but I would incline to think that the price can be negotiated by big retailers as they are able to make bigger orders. But if a corner store suddenly wants to buy 1000 Gansito they still wouldn't get a price as low as a retailer that makes 1000 Gansitos orders every week.\r\n\r\nStill, you can calculate the prices at a transaction level and see if all of these ideas hold true or not (I haven't tested)",
    "126492": "Sometimes the way price lists work for food distribution is by \"channel\", \"Canal_ID\" could help you differentiate types of customers : Small stores, Supermarkets, Big retailer chains, Hotels, Hospitals, Schools, etc. Check the average customer order volume per channel to see the differences.\r\nInside each channel you can have different prices lists according to volume and special campaigns with discounts.   \r\n\r\nBimbo usually does discounts when they have overstock or when the product expiring date is approaching.  \r\n\r\nCheck also inside the product description file you will find some products with the \"prom\" tag, and without the tag, it could be \"promocion\", spanish equivalent of \"campaign\". Same products but with different ID and probably different price. Usually demand of the promo product goes against demand of the \"normal\" priced product, this a typical behavior in demand prediction problems.   \r\n\r\n30370,Tortillinas 12p 310g Prom TR 30370   \r\n30371,Tortillinas 12p 310g WM MTA TR 30371   \r\n30372,Tortillinas 12p 310g Prom TAB TR 30372",
    "126530": "All some very good points. \r\nLet me get down to analysing the dataset some more and see if I can get any answers.\r\nRegards,\r\nsinghn9"
  },
  "source": "meta"
}