{
  "id": 65691,
  "title": "Welcome!",
  "url": "/competitions/ga-customer-revenue-prediction/discussion/65691",
  "author_name": "Phil Culliton",
  "post_date": "2018-09-13T18:55:42.095000",
  "votes": 35,
  "comment_count": 86,
  "views": 0,
  "content": "<p>Welcome to Google Analytics Customer Revenue Prediction!</p>\n\n<p>In this competition, we'll be looking at visits to the Google Merchandise Store, and attempting to predict future user revenue from them. Note that we're predicting the <strong>natural log of the total revenue per unique user</strong>, as laid out in the <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#evaluation\">Evaluation</a> and <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/data\">Data description</a> pages, so please be sure to check those out and adjust your code accordingly. The data for this competition is hosted both on BigQuery <em>and</em> as traditional CSVs, and we'll be posting starter kernels to get you going in each type of data.</p>\n\n<p><strong>Important:</strong> Please note that the IDs we're using in this competition must be loaded as strings to properly deduplicate / match with BigQuery. Be wary of loading this data in programs like Excel that might also truncate or alter the IDs.</p>\n\n<p>In addition to the regular prizes, this competition will have a special prize for R users. Make sure to check out the <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#Prizes\">Prizes</a> page for more details.</p>\n\n<p>We'll start a separate thread in a few days for domain-specific questions about the data. In the meantime, please feel free to ask your questions in this thread.</p>\n\n<p>Good luck!</p>",
  "messages": [
    {
      "id": 386861,
      "postDate": "2018-09-13T18:55:42.097Z",
      "content": "<p>Welcome to Google Analytics Customer Revenue Prediction!</p>\n\n<p>In this competition, we'll be looking at visits to the Google Merchandise Store, and attempting to predict future user revenue from them. Note that we're predicting the <strong>natural log of the total revenue per unique user</strong>, as laid out in the <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#evaluation\">Evaluation</a> and <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/data\">Data description</a> pages, so please be sure to check those out and adjust your code accordingly. The data for this competition is hosted both on BigQuery <em>and</em> as traditional CSVs, and we'll be posting starter kernels to get you going in each type of data.</p>\n\n<p><strong>Important:</strong> Please note that the IDs we're using in this competition must be loaded as strings to properly deduplicate / match with BigQuery. Be wary of loading this data in programs like Excel that might also truncate or alter the IDs.</p>\n\n<p>In addition to the regular prizes, this competition will have a special prize for R users. Make sure to check out the <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#Prizes\">Prizes</a> page for more details.</p>\n\n<p>We'll start a separate thread in a few days for domain-specific questions about the data. In the meantime, please feel free to ask your questions in this thread.</p>\n\n<p>Good luck!</p>",
      "rawMarkdown": "Welcome to Google Analytics Customer Revenue Prediction!\n\nIn this competition, we'll be looking at visits to the Google Merchandise Store, and attempting to predict future user revenue from them. Note that we're predicting the **natural log of the total revenue per unique user**, as laid out in the [Evaluation][1] and [Data description][2] pages, so please be sure to check those out and adjust your code accordingly. The data for this competition is hosted both on BigQuery *and* as traditional CSVs, and we'll be posting starter kernels to get you going in each type of data.\n\n**Important:** Please note that the IDs we're using in this competition must be loaded as strings to properly deduplicate / match with BigQuery. Be wary of loading this data in programs like Excel that might also truncate or alter the IDs.\n\nIn addition to the regular prizes, this competition will have a special prize for R users. Make sure to check out the [Prizes][3] page for more details.\n\nWe'll start a separate thread in a few days for domain-specific questions about the data. In the meantime, please feel free to ask your questions in this thread.\n\nGood luck!\n\n[1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#evaluation\n[2]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/data\n[3]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#Prizes\n",
      "votes": 34
    },
    {
      "id": 387112,
      "postDate": "2018-09-14T10:30:27.517Z",
      "content": "<p>Thanks for an interesting competition!</p>\n\n<p>A few questions about the data:</p>\n\n<ol>\n<li><p>There is a set of features in json, that contain <code>'not available in demo dataset'</code> entries. In particular, <code>['device.browserSize', 'device.browserVersion', 'device.flashVersion', 'device.language', 'device.mobileDeviceBranding', 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName', 'device.mobileDeviceModel', 'device.mobileInputSelector', 'device.operatingSystemVersion', 'device.screenColors', 'device.screenResolution',  'geoNetwork.cityId', 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.networkLocation', 'trafficSource.adwordsClickInfo.criteriaParameters']</code> contain <strong>only</strong> this string. While <code>['geoNetwork.metro', 'geoNetwork.region', 'geoNetwork.city']</code> contain this string together with other options. \nWhat is the meaning and intention here?</p></li>\n<li><p><code>socialEngagementType</code> and <code>totals.visits</code> have a single value only. Is that intended?</p></li>\n<li><p>A large fraction (~98.7%) of the target variable (<code>totals.transactionRevenue</code>) seems to be <code>NaN</code>. What does it mean and what shall one predict in such case? Does it mean <em>no purchase</em> and should we use 0 in such case as a target? Are there such entries in the test dataset? </p></li>\n<li><p><code>trafficSource.campaignCode</code> has a single non-NaN value in the training dataset and the column is completely missing in the test dataset. This is just fun fact :)</p></li>\n<li><p><code>trafficSource.adwordsClickInfo.isVideoAd</code> has only <code>False</code> as a non-NaN value. Does it mean that <code>NaN == True</code>? The inverse situation appears for <code>trafficSource.isTrueDirect</code></p></li>\n</ol>\n\n<p>(There are several other features, where NaN can have a special meaning, but let's wait for your alluded dedicated post with domain info)</p>\n\n<p>Thanks in advance for any feedback!</p>",
      "rawMarkdown": "Thanks for an interesting competition!\n\nA few questions about the data:\n\n1.  There is a set of features in json, that contain `'not available in demo dataset'` entries. In particular, `['device.browserSize', 'device.browserVersion', 'device.flashVersion', 'device.language', 'device.mobileDeviceBranding', 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName', 'device.mobileDeviceModel', 'device.mobileInputSelector', 'device.operatingSystemVersion', 'device.screenColors', 'device.screenResolution',  'geoNetwork.cityId', 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.networkLocation', 'trafficSource.adwordsClickInfo.criteriaParameters']` contain **only** this string. While `['geoNetwork.metro', 'geoNetwork.region', 'geoNetwork.city']` contain this string together with other options. \nWhat is the meaning and intention here?\n\n2. `socialEngagementType` and `totals.visits` have a single value only. Is that intended?\n\n3. A large fraction (~98.7%) of the target variable (`totals.transactionRevenue`) seems to be `NaN`. What does it mean and what shall one predict in such case? Does it mean _no purchase_ and should we use 0 in such case as a target? Are there such entries in the test dataset? \n\n4. `trafficSource.campaignCode` has a single non-NaN value in the training dataset and the column is completely missing in the test dataset. This is just fun fact :)\n\n5. `trafficSource.adwordsClickInfo.isVideoAd` has only `False` as a non-NaN value. Does it mean that `NaN == True`? The inverse situation appears for `trafficSource.isTrueDirect`\n\n(There are several other features, where NaN can have a special meaning, but let's wait for your alluded dedicated post with domain info)\n\nThanks in advance for any feedback!",
      "votes": 25,
      "replies": [
        {
          "id": 387176,
          "postDate": "2018-09-14T13:45:07.910Z",
          "content": "<p>Hey Misha - thanks for your interest.</p>\n\n<p>1) The training data for this competition began as a large - and pretty fascinating - public BigQuery dataset.  Not all values are available, but we wanted to provide competitors with as many of the original columns as we could.</p>\n\n<p>2) Yep.</p>\n\n<p>3) If <code>totals.transactionRevenue</code> is null, then yes, there was no purchase.</p>\n\n<p>4) Yep!  :)</p>\n\n<p>5) That appears to be the case, yes.</p>\n\n<p>Part of the fun of this dataset is wandering around in it and figuring out how it works.  I hope everyone enjoys it as much as we did!</p>",
          "rawMarkdown": "Hey Misha - thanks for your interest.\n\n1) The training data for this competition began as a large - and pretty fascinating - public BigQuery dataset.  Not all values are available, but we wanted to provide competitors with as many of the original columns as we could.\n\n2) Yep.\n\n3) If `totals.transactionRevenue` is null, then yes, there was no purchase.\n\n4) Yep!  :)\n\n5) That appears to be the case, yes.\n\nPart of the fun of this dataset is wandering around in it and figuring out how it works.  I hope everyone enjoys it as much as we did!",
          "votes": 5
        },
        {
          "id": 387188,
          "postDate": "2018-09-14T14:02:35.260Z",
          "content": "<p>It is hard to comment for others, but I definitely enjoy exploring these data.</p>\n\n<p>Could you please leaborate a bit more on the point #3 above? Are there cases in the tests data with no purchases? If so, what shall we predict in such case? Is the desired prediction 0 or NaN or  something else? And how is <code>ln(0)</code> treated in this case? Maybe in practice the evaluation metric is RMSE on <code>ln(total_Revenue+1)</code>?</p>",
          "rawMarkdown": "It is hard to comment for others, but I definitely enjoy exploring these data.\n\nCould you please leaborate a bit more on the point #3 above? Are there cases in the tests data with no purchases? If so, what shall we predict in such case? Is the desired prediction 0 or NaN or  something else? And how is `ln(0)` treated in this case? Maybe in practice the evaluation metric is RMSE on `ln(total_Revenue+1)`?",
          "votes": 7
        },
        {
          "id": 387242,
          "postDate": "2018-09-14T15:51:30.913Z",
          "content": "<p>Absolutely, there are cases in the test data with no purchases.  Since we're predicting the natural log of the sum of the revenue for a particular user, if you believe they've made no purchases, then your final prediction would be zero.</p>\n\n<p>That's correct, in practice the evaluation is RMSE on <code>ln(total_Revenue + 1)</code>.  I'll update the data and evaluation pages to more explicitly reflect this.  Thanks!</p>",
          "rawMarkdown": "Absolutely, there are cases in the test data with no purchases.  Since we're predicting the natural log of the sum of the revenue for a particular user, if you believe they've made no purchases, then your final prediction would be zero.\n\nThat's correct, in practice the evaluation is RMSE on `ln(total_Revenue + 1)`.  I'll update the data and evaluation pages to more explicitly reflect this.  Thanks!",
          "votes": 9
        },
        {
          "id": 387854,
          "postDate": "2018-09-15T19:41:14.530Z",
          "content": "<p>Nice finds, Misha. I used the info to adjust my <a href=\"https://www.kaggle.com/jpmiller/showing-na-in-its-various-forms\">exploration of NA</a> kernel.</p>",
          "rawMarkdown": "Nice finds, Misha. I used the info to adjust my [exploration of NA](https://www.kaggle.com/jpmiller/showing-na-in-its-various-forms) kernel.",
          "votes": 1
        },
        {
          "id": 389214,
          "postDate": "2018-09-18T11:15:19.407Z",
          "content": "<p>Referring to question 1 here - Is the 'not available in demo dataset' data available in the bigquery version of the dataset?</p>",
          "rawMarkdown": "Referring to question 1 here - Is the 'not available in demo dataset' data available in the bigquery version of the dataset?"
        },
        {
          "id": 389561,
          "postDate": "2018-09-18T22:35:48.327Z",
          "content": "<p>Hi Phil--a few questions:\n1)I'm not seeing an update regarding the ln(0) vs. ln(0 + 1) issue yet on the Evaluation page; am I missing that?</p>\n\n<p>1a) Given that actual revenue is x1e6, and purchases are for actual items, it appears that there is a minimum purchase value (if not zero) greater than $1, so there is a minimum for the revenue values of 1e6 (again, if not 0) or at least a large number compared to 1 (one), so adding 1 to avoid ln(0) is a non-significant change.  Is that the logic that says it's \"OK\" to compute sum((ln(pred + 1) - ln(act + 1))^2)?</p>\n\n<p>2) (this has been asked elsewhere in various forms) On the Evaluation page it says \"where y hat is the predicted revenue for a customer and y is the natural log of the actual revenue value\" which I think is a typo--should be:</p>\n\n<p>where y hat is the <strong>natural log of the</strong> predicted revenue for a customer and ...</p>\n\n<p>and the sum of the differences squared really has the logs on the inside? </p>\n\n<p>(i.e. it is NOT sum(ln(yh - y)^2), </p>\n\n<p>it really is sum((ln(yh) - ln(y))^2)</p>",
          "rawMarkdown": "Hi Phil--a few questions:\n1)I'm not seeing an update regarding the ln(0) vs. ln(0 + 1) issue yet on the Evaluation page; am I missing that?\n\n1a) Given that actual revenue is x1e6, and purchases are for actual items, it appears that there is a minimum purchase value (if not zero) greater than $1, so there is a minimum for the revenue values of 1e6 (again, if not 0) or at least a large number compared to 1 (one), so adding 1 to avoid ln(0) is a non-significant change.  Is that the logic that says it's \"OK\" to compute sum((ln(pred + 1) - ln(act + 1))^2)?\n\n2) (this has been asked elsewhere in various forms) On the Evaluation page it says \"where y hat is the predicted revenue for a customer and y is the natural log of the actual revenue value\" which I think is a typo--should be:\n\nwhere y hat is the **natural log of the** predicted revenue for a customer and ...\n\nand the sum of the differences squared really has the logs on the inside? \n\n(i.e. it is NOT sum(ln(yh - y)^2), \n\nit really is sum((ln(yh) - ln(y))^2)",
          "votes": 2
        },
        {
          "id": 389588,
          "postDate": "2018-09-19T00:14:44.163Z",
          "content": "<p>1) You're not missing it.  I'll be putting that change up shortly.</p>\n\n<p>1a) That is a sensible line of reasoning, yes.</p>\n\n<p>2) You are correct about the typo, thank you.  However, because <code>y</code> and <code>y hat</code> should already include the natural log - the value the metric is dealing with has already been transformed - we do not include the <code>ln</code> in the mathematical description of how the metric works.</p>",
          "rawMarkdown": "1) You're not missing it.  I'll be putting that change up shortly.\n\n1a) That is a sensible line of reasoning, yes.\n\n2) You are correct about the typo, thank you.  However, because `y` and `y hat` should already include the natural log - the value the metric is dealing with has already been transformed - we do not include the `ln` in the mathematical description of how the metric works."
        },
        {
          "id": 391318,
          "postDate": "2018-09-21T15:35:06.543Z",
          "content": "<p>I believe you are mistaken regarding trafficSource.adwordsClickInfo.isVideoAd. </p>\n\n<p>In the training set there are 882193 NaN values for isVideoAd and 21460 False values. The split between NaN and non NaN is the same for other adwords features (e.g. trafficSource_adwordsClickInfo.slot).</p>\n\n<p>My understanding is that, for isVideoAd, NaN = not applicable, i.e. we are not dealing with an Ad. There are just no rows with video ads (same in Test set).</p>\n\n<p>Therefore, I believe this column can be dropped (or otherwise be an awkward proxy for whether we have an ad or not)</p>",
          "rawMarkdown": "I believe you are mistaken regarding trafficSource.adwordsClickInfo.isVideoAd. \n\nIn the training set there are 882193 NaN values for isVideoAd and 21460 False values. The split between NaN and non NaN is the same for other adwords features (e.g. trafficSource_adwordsClickInfo.slot).\n\nMy understanding is that, for isVideoAd, NaN = not applicable, i.e. we are not dealing with an Ad. There are just no rows with video ads (same in Test set).\n\nTherefore, I believe this column can be dropped (or otherwise be an awkward proxy for whether we have an ad or not)",
          "votes": 4
        }
      ]
    },
    {
      "id": 387628,
      "postDate": "2018-09-15T09:48:24.630Z",
      "content": "<p>Thanks for hosting this interesting competition. I've a few clarifications:</p>\n\n<ol>\n<li><p>I think it has been clarified that the evaluation is RMSE of <strong>ln(1 + totalRevenue)</strong> instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.</p></li>\n<li><p>As mentioned <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65771\">here</a> and <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\">here</a>, there appears to be 7679 fullVisitorId appearing in both train and test. For the prediction, should we submit the predicted log revenue for just the test, or train+test if the user appear in both? From the LB, it appears that adding totalRevenue from train lowers the score -- but will be good to get a confirmation of the organizer's intention.</p></li>\n<li><p>As mentioned <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65806\">here</a>, the LB seems to favor Sum(Log(Transactions)) instead of Log(Sum(Transactions)). When I read the data description, however, it seems to suggest the latter (i.e. adding up non-log transactions of each visitor, before taking the log), which has a substantially lower LB RMSE. Will be good to get a clarification as well.</p></li>\n</ol>\n\n<p>Many thanks in advance.</p>",
      "rawMarkdown": "Thanks for hosting this interesting competition. I've a few clarifications:\n\n1. I think it has been clarified that the evaluation is RMSE of **ln(1 + totalRevenue)** instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.\n\n2. As mentioned [here][1] and [here][2], there appears to be 7679 fullVisitorId appearing in both train and test. For the prediction, should we submit the predicted log revenue for just the test, or train+test if the user appear in both? From the LB, it appears that adding totalRevenue from train lowers the score -- but will be good to get a confirmation of the organizer's intention.\n\n3. As mentioned [here][3], the LB seems to favor Sum(Log(Transactions)) instead of Log(Sum(Transactions)). When I read the data description, however, it seems to suggest the latter (i.e. adding up non-log transactions of each visitor, before taking the log), which has a substantially lower LB RMSE. Will be good to get a clarification as well.\n\nMany thanks in advance.\n\n  [1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65771\n  [2]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\n  [3]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65806",
      "votes": 11,
      "replies": [
        {
          "id": 387779,
          "postDate": "2018-09-15T16:59:55.497Z",
          "content": "<p>1) Correct.</p>\n\n<p>2) It would be wise to make predictions for the test set based solely on the test set, as that's what the targets are based on.</p>\n\n<p>3) Use Log(Sum(Transactions)).  That's the target.  If you're lowering your RMSE on the public test set and not actually using the intended target to do so, there's a really, really good chance your model is going to fail on the private test set.</p>",
          "rawMarkdown": "1) Correct.\n\n2) It would be wise to make predictions for the test set based solely on the test set, as that's what the targets are based on.\n\n3) Use Log(Sum(Transactions)).  That's the target.  If you're lowering your RMSE on the public test set and not actually using the intended target to do so, there's a really, really good chance your model is going to fail on the private test set.",
          "votes": 3
        },
        {
          "id": 388000,
          "postDate": "2018-09-16T04:48:00.993Z",
          "content": "<p>There's no good reason why it should be 1 that is added. Rather than returning PredictedLogRevenue as 0, surely NA is a better quantity to return for customers that don't make a purchase?  PredictedRevenue =0 but the competition is asking for PredictedLogRevenue. </p>",
          "rawMarkdown": "There's no good reason why it should be 1 that is added. Rather than returning PredictedLogRevenue as 0, surely NA is a better quantity to return for customers that don't make a purchase?  PredictedRevenue =0 but the competition is asking for PredictedLogRevenue. "
        },
        {
          "id": 388817,
          "postDate": "2018-09-17T16:28:06.130Z",
          "content": "<p>That's how the metric works, and how the target is set up.  So - if you think there isn't any revenue for that test ID, put in 0.</p>",
          "rawMarkdown": "That's how the metric works, and how the target is set up.  So - if you think there isn't any revenue for that test ID, put in 0.",
          "votes": 1
        },
        {
          "id": 389005,
          "postDate": "2018-09-18T01:23:02.877Z",
          "content": "<p>Hi Kaggle Team - @Phil Culliton ,</p>\n\n<p>I have a couple of quick questions:</p>\n\n<ol>\n<li>I am quoting Phil's reply to yilisg 's question :\n\"I think it has been clarified that the evaluation is RMSE of ln(1 + totalRevenue) instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.\"\nas \"correct\".</li>\n</ol>\n\n<p>Are you sure that's the case ?\nIf Yes, maybe it should be clarified in the data section of the competition as well, since ln(sum(revenues)) doesn't mean adding 1 to the part inside.\nI think how the target is defined and set up is very important - since it will strongly affect the loss/error the users are trying to minimize, and that Kaggle's test on our submission is done on the same thing. If Kaggle is measuring error on a metric different than the one user is trying to minimize, all effort will be a waste unfortunately.</p>\n\n<p>So, can you please clarify which one is it?</p>\n\n<ul>\n<li><p>log(1 + sum(revenue)</p></li>\n<li><p>log( sum (1 + revenue) )</p></li>\n<li><p>log(sum(revenue)).</p></li>\n</ul>\n\n<p>And 2nd question:\n  If the 'totals_transactionRevenue' is missing in the train set - it is zero right ?  As in , a row with missing 'totals_transactionRevenue' does still correspond to a valid user visit with no purchase right?</p>\n\n<p>Thanks a lot in advance!</p>",
          "rawMarkdown": "Hi Kaggle Team - @Phil Culliton ,\n\nI have a couple of quick questions:\n\n 1. I am quoting Phil's reply to yilisg 's question :\n\"I think it has been clarified that the evaluation is RMSE of ln(1 + totalRevenue) instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.\"\nas \"correct\".\n\nAre you sure that's the case ?\nIf Yes, maybe it should be clarified in the data section of the competition as well, since ln(sum(revenues)) doesn't mean adding 1 to the part inside.\nI think how the target is defined and set up is very important - since it will strongly affect the loss/error the users are trying to minimize, and that Kaggle's test on our submission is done on the same thing. If Kaggle is measuring error on a metric different than the one user is trying to minimize, all effort will be a waste unfortunately.\n\nSo, can you please clarify which one is it?\n\n - log(1 + sum(revenue)\n\n - log( sum (1 + revenue) )\n\n - log(sum(revenue)).\n\n\nAnd 2nd question:\n  If the 'totals_transactionRevenue' is missing in the train set - it is zero right ?  As in , a row with missing 'totals_transactionRevenue' does still correspond to a valid user visit with no purchase right?\n\nThanks a lot in advance!",
          "votes": 1
        },
        {
          "id": 389077,
          "postDate": "2018-09-18T05:35:08.960Z",
          "content": "<p>I think, it has been explicitly clarified, that the first option is what the kaggle admins believe is used, see <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65691#387242\">the answer here</a>. The docs have not been updated indeed.</p>",
          "rawMarkdown": "I think, it has been explicitly clarified, that the first option is what the kaggle admins believe is used, see [the answer here](https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65691#387242). The docs have not been updated indeed.",
          "votes": 1
        }
      ]
    },
    {
      "id": 388372,
      "postDate": "2018-09-16T21:50:24.040Z",
      "content": "<p>Hi @Julia \\ @Phil. Can we use publicly available external data in this competition? Like country economic data (GDP etc.)</p>",
      "rawMarkdown": "Hi @Julia \\ @Phil. Can we use publicly available external data in this competition? Like country economic data (GDP etc.)",
      "votes": 9
    },
    {
      "id": 388201,
      "postDate": "2018-09-16T14:44:58.310Z",
      "content": "<p>If I'd augment the data with timezone information, would that be seen as \"external data\" ?</p>",
      "rawMarkdown": "If I'd augment the data with timezone information, would that be seen as \"external data\" ?",
      "votes": 7,
      "replies": [
        {
          "id": 389966,
          "postDate": "2018-09-19T14:21:25.637Z",
          "content": "<p>Up to know, common knowledge such as time zone data, list of public holidays and so on where never considered public data.</p>",
          "rawMarkdown": "Up to know, common knowledge such as time zone data, list of public holidays and so on where never considered public data."
        }
      ]
    },
    {
      "id": 387171,
      "postDate": "2018-09-14T13:38:57.357Z",
      "content": "<p>one more question to the data: are <code>date</code> and <code>visitStartTime</code> given in the same timezone? It seems like the two  do not agree in the cases close to midnight. </p>\n\n<p>One can do such comparison looking at <br>\n<code>pd.concat([pd.to_datetime(df_trn['visitStartTime'], unit='s'), df_trn['date']], axis=1)</code></p>",
      "rawMarkdown": "one more question to the data: are `date` and `visitStartTime` given in the same timezone? It seems like the two  do not agree in the cases close to midnight. \n\nOne can do such comparison looking at  \n`pd.concat([pd.to_datetime(df_trn['visitStartTime'], unit='s'), df_trn['date']], axis=1)`",
      "votes": 7,
      "replies": [
        {
          "id": 387175,
          "postDate": "2018-09-14T13:44:03.860Z",
          "content": "<p>I suppose we need to handle the difference with Time Zones here</p>",
          "rawMarkdown": "I suppose we need to handle the difference with Time Zones here"
        },
        {
          "id": 387658,
          "postDate": "2018-09-15T11:13:56.663Z",
          "content": "<p>I hope admin would answer this question. But I do believe this visitStartTime is UTC.\nTotally different by each country.</p>\n\n<p><a href=\"https://imgur.com/a/4RsZCXM\">https://imgur.com/a/4RsZCXM</a>\n(image inserting doesn't work for me)</p>",
          "rawMarkdown": "I hope admin would answer this question. But I do believe this visitStartTime is UTC.\nTotally different by each country.\n\nhttps://imgur.com/a/4RsZCXM\n(image inserting doesn't work for me)",
          "votes": 2
        },
        {
          "id": 390808,
          "postDate": "2018-09-20T21:31:58.187Z",
          "content": "<p><a href=\"/philculliton\">@philculliton</a> , is it possible to fix the timezone from information found by geoNetwork.country time zone?</p>\n\n<p>I mean, if its ok, we should be able to get external data for timezone information.</p>",
          "rawMarkdown": "@philculliton , is it possible to fix the timezone from information found by geoNetwork.country time zone?\n\nI mean, if its ok, we should be able to get external data for timezone information.",
          "votes": 2
        },
        {
          "id": 390809,
          "postDate": "2018-09-20T21:35:24.807Z",
          "content": "<p>I was thinking about that approach. But then i bumped into the fact that several countries span over several timezones, for example US and Russia</p>",
          "rawMarkdown": "I was thinking about that approach. But then i bumped into the fact that several countries span over several timezones, for example US and Russia"
        },
        {
          "id": 390817,
          "postDate": "2018-09-20T22:02:23.867Z",
          "content": "<p>you are right. But I suppose it is better than nothing. Right?</p>",
          "rawMarkdown": "you are right. But I suppose it is better than nothing. Right?",
          "votes": 1
        },
        {
          "id": 393680,
          "postDate": "2018-09-25T18:41:08.513Z",
          "content": "<p>Hey guys. <br>\nThe reason is much simpler, and it does not have anything to do with the visitor's time zone. <br>\nI explained it in more detail <a href=\"https://www.kaggle.com/c/ga-customer-revenue-prediction/discussion/66815\">here</a></p>\n\n<p>I hope this helps.</p>",
          "rawMarkdown": "Hey guys.  \nThe reason is much simpler, and it does not have anything to do with the visitor's time zone.  \nI explained it in more detail [here](https://www.kaggle.com/c/ga-customer-revenue-prediction/discussion/66815)\n\nI hope this helps."
        },
        {
          "id": 394946,
          "postDate": "2018-09-27T17:37:45.450Z",
          "content": "<p>Thanks Yannis. But as you have stated in the other post, adding timezone to find visitors local time should also help a lot. It s more important than the store s date and time. Dont you think?</p>",
          "rawMarkdown": "Thanks Yannis. But as you have stated in the other post, adding timezone to find visitors local time should also help a lot. It s more important than the store s date and time. Dont you think?"
        },
        {
          "id": 394955,
          "postDate": "2018-09-27T18:01:04.233Z",
          "content": "<p>I'm pretty confident but I haven't had the time to check it.</p>\n\n<p>I guess an easy way to find out if the local time is important is to select rows from a single region (e.g. NY) and plot the revenue over the time of the day.</p>",
          "rawMarkdown": "I'm pretty confident but I haven't had the time to check it.\n\nI guess an easy way to find out if the local time is important is to select rows from a single region (e.g. NY) and plot the revenue over the time of the day."
        }
      ]
    },
    {
      "id": 391196,
      "postDate": "2018-09-21T11:49:13.637Z",
      "content": "<p>Is it allowed tu use a package like <code>geopy</code> that requests a database to retrieve geographical informations about e.g cities, countries ?</p>",
      "rawMarkdown": "Is it allowed tu use a package like `geopy` that requests a database to retrieve geographical informations about e.g cities, countries ?",
      "votes": 5
    },
    {
      "id": 390353,
      "postDate": "2018-09-20T04:36:24.747Z",
      "content": "<p>Thanks for hosting this competition. <br>\nOne clarification:  </p>\n\n<pre><code>Does transactionRevenue include shipping costs ?  \n</code></pre>",
      "rawMarkdown": "Thanks for hosting this competition.  \nOne clarification:  \n\n    Does transactionRevenue include shipping costs ?  \n\n  ",
      "votes": 6
    },
    {
      "id": 386993,
      "postDate": "2018-09-14T05:05:14.490Z",
      "content": "<p>Just to be sure, are we predicting totals.transactionRevenue? It has some huge values, like 99990000.</p>",
      "rawMarkdown": "Just to be sure, are we predicting totals.transactionRevenue? It has some huge values, like 99990000.",
      "votes": 3,
      "replies": [
        {
          "id": 387037,
          "postDate": "2018-09-14T07:13:28.383Z",
          "content": "<p>That's true... I think values are too high to be some monetary value</p>",
          "rawMarkdown": "That's true... I think values are too high to be some monetary value"
        },
        {
          "id": 387170,
          "postDate": "2018-09-14T13:36:06.310Z",
          "content": "<p>As noted in the original post and elsewhere, we're predicting the <strong>natural log of the total revenue per unique user</strong>, which is, yep, based on <code>totals.transactionRevenue</code>.</p>",
          "rawMarkdown": "As noted in the original post and elsewhere, we're predicting the **natural log of the total revenue per unique user**, which is, yep, based on `totals.transactionRevenue`."
        },
        {
          "id": 387769,
          "postDate": "2018-09-15T16:44:52.123Z",
          "content": "<p>As explained by dinosaur <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65775#387740\">here</a>, the transactionRevenue are USD times 10^6... probably to avoid any loss of decimal precision when converting from/to foreign currencies.</p>",
          "rawMarkdown": "As explained by dinosaur [here][1], the transactionRevenue are USD times 10^6... probably to avoid any loss of decimal precision when converting from/to foreign currencies.\n\n  [1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65775#387740",
          "votes": 2
        }
      ]
    },
    {
      "id": 386887,
      "postDate": "2018-09-13T20:27:44.670Z",
      "content": "<p>The CSV has no revenue data, but when I see the kernel from BIgQuery they have much more data than that's  in the csv? Are the CSV's correct?</p>",
      "rawMarkdown": "The CSV has no revenue data, but when I see the kernel from BIgQuery they have much more data than that's  in the csv? Are the CSV's correct?",
      "votes": 3
    },
    {
      "id": 387629,
      "postDate": "2018-09-15T09:49:11.713Z",
      "content": "<p>If a visitor appears both in the train and test sets, should we predict the total revenue as the revenue from the time covered in train + the time covered in test? Or only the test set?</p>",
      "rawMarkdown": "If a visitor appears both in the train and test sets, should we predict the total revenue as the revenue from the time covered in train + the time covered in test? Or only the test set?",
      "votes": 4,
      "replies": [
        {
          "id": 388818,
          "postDate": "2018-09-17T16:28:29.427Z",
          "content": "<p>Only the test set.</p>",
          "rawMarkdown": "Only the test set."
        }
      ]
    },
    {
      "id": 390721,
      "postDate": "2018-09-20T17:43:49.533Z",
      "content": "<p>Ok</p>",
      "rawMarkdown": "Ok",
      "votes": 1
    },
    {
      "id": 388931,
      "postDate": "2018-09-17T20:52:08.823Z",
      "content": "<p>Hi @Julia \\ @Phil\nI haven't received a response from Kaggle on this issue i posted here:\n<a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65875\">https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65875</a></p>\n\n<p>Regarding an R competitor teaming up with a python competitor, whether the combined solution is eligible to receive the R prize.</p>\n\n<p>Thanks!</p>",
      "rawMarkdown": "Hi @Julia \\ @Phil\nI haven't received a response from Kaggle on this issue i posted here:\nhttps://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65875\n\nRegarding an R competitor teaming up with a python competitor, whether the combined solution is eligible to receive the R prize.\n\nThanks!",
      "votes": 1
    },
    {
      "id": 388627,
      "postDate": "2018-09-17T10:04:00.507Z",
      "content": "<p>Hi @Phil, are teams who use <code>Rcpp</code> still eligible for the R Usage Prize?</p>",
      "rawMarkdown": "Hi @Phil, are teams who use `Rcpp` still eligible for the R Usage Prize?",
      "votes": 1,
      "replies": [
        {
          "id": 388927,
          "postDate": "2018-09-17T20:42:37.957Z",
          "content": "<p>Rcpp is considered by the competition host to be a legitimate use of R. Generally, it is acceptable to use any R package on CRAN for the competition</p>",
          "rawMarkdown": "Rcpp is considered by the competition host to be a legitimate use of R. Generally, it is acceptable to use any R package on CRAN for the competition",
          "votes": 1
        }
      ]
    },
    {
      "id": 388132,
      "postDate": "2018-09-16T11:29:30.707Z",
      "content": "<p>Hi Phil, If a user browses thru tablet, mobile and desktop will he have  same fullVisitorId across devices, I don't see this in the data. But just want to confirm on it. So users are not tracked across devices ?</p>",
      "rawMarkdown": "Hi Phil, If a user browses thru tablet, mobile and desktop will he have  same fullVisitorId across devices, I don't see this in the data. But just want to confirm on it. So users are not tracked across devices ?",
      "votes": 1
    },
    {
      "id": 387696,
      "postDate": "2018-09-15T13:09:05.533Z",
      "content": "<p>Hello</p>\n\n<p>The files that we have to download are protected. When I try to read them with pandas I get an OSError. That surprises me because I don't find where you explain this part in the data section.</p>\n\n<p>Help me please I love you</p>",
      "rawMarkdown": "Hello\n\nThe files that we have to download are protected. When I try to read them with pandas I get an OSError. That surprises me because I don't find where you explain this part in the data section.\n\nHelp me please I love you",
      "votes": 1,
      "replies": [
        {
          "id": 387766,
          "postDate": "2018-09-15T16:39:23.447Z",
          "content": "<p>Hi Kerzer,</p>\n\n<p>The files are not protected.  You may have had an error in your download.</p>",
          "rawMarkdown": "Hi Kerzer,\n\nThe files are not protected.  You may have had an error in your download."
        },
        {
          "id": 387794,
          "postDate": "2018-09-15T17:25:35.183Z",
          "rawMarkdown": "",
          "votes": 3,
          "isDeleted": true
        },
        {
          "id": 388924,
          "postDate": "2018-09-17T20:36:22.640Z",
          "content": "<p>What are you using to extract the .zip archive?</p>",
          "rawMarkdown": "What are you using to extract the .zip archive?"
        },
        {
          "id": 397308,
          "postDate": "2018-10-02T10:02:53.930Z",
          "content": "<p><code>kaggle competitions download -c ga-customer-revenue-prediction</code></p>\n\n<p><code>unzip sample_submission.csv.zip</code></p>\n\n<p><code>ls -l</code> shows file decompressed file permission as <code>----------</code> like Ilya said. Same result when decompressing with Archive Manager.</p>\n\n<p><code>chmod 400 sample_submission.csv</code> solves it as Ilya mentioned.</p>",
          "rawMarkdown": " `kaggle competitions download -c ga-customer-revenue-prediction`\n\n `unzip sample_submission.csv.zip`\n\n `ls -l ` shows file decompressed file permission as `----------` like Ilya said. Same result when decompressing with Archive Manager.\n\n `chmod 400 sample_submission.csv` solves it as Ilya mentioned.",
          "votes": 1
        },
        {
          "id": 397436,
          "postDate": "2018-10-02T13:33:51.213Z",
          "content": "<p>Thanks!  I'll bring this to the appropriate people.</p>",
          "rawMarkdown": "Thanks!  I'll bring this to the appropriate people.",
          "votes": 1
        }
      ]
    },
    {
      "id": 386897,
      "postDate": "2018-09-13T21:10:40.950Z",
      "content": "<p>I'm very new to Machine Learning (and Kaggle as well). Would be great if I can get to team up with someone to learn and contribute to this ;) </p>",
      "rawMarkdown": "I'm very new to Machine Learning (and Kaggle as well). Would be great if I can get to team up with someone to learn and contribute to this ;) ",
      "votes": 1
    },
    {
      "id": 392410,
      "postDate": "2018-09-23T18:17:25.400Z",
      "content": "<p>@Phil,  i have a question about how public leaderboard is constructed? is it constructed by \n1. randomly select 30% data from the test set\n2. stratified by FullVisitorId, and pick 30% user\n3. time split, the first few days(which accounts for 30 % of data)</p>\n\n<p>i can only see 2nd and 3rd way a reasonable split because if we go with method 1, you do not want to exclude some of the transactions when calculating user's total revenue in the test period.</p>\n\n<p>it will be really helpful to clarify this as this will help us design cv strategies. thanks</p>",
      "rawMarkdown": "@Phil,  i have a question about how public leaderboard is constructed? is it constructed by \n1. randomly select 30% data from the test set\n2. stratified by FullVisitorId, and pick 30% user\n3. time split, the first few days(which accounts for 30 % of data)\n\ni can only see 2nd and 3rd way a reasonable split because if we go with method 1, you do not want to exclude some of the transactions when calculating user's total revenue in the test period.\n\nit will be really helpful to clarify this as this will help us design cv strategies. thanks\n",
      "votes": 2,
      "replies": [
        {
          "id": 392784,
          "postDate": "2018-09-24T11:14:38.653Z",
          "content": "<p>I think you don't need 'time' information since we calculate each customer's revenue. We don't submit session predictions. So it totally makes sense to have a random split within 'users-their revenues' data.</p>",
          "rawMarkdown": "I think you don't need 'time' information since we calculate each customer's revenue. We don't submit session predictions. So it totally makes sense to have a random split within 'users-their revenues' data."
        },
        {
          "id": 392792,
          "postDate": "2018-09-24T11:29:28.080Z",
          "content": "<p>maybe i did not understand your point. for example, a user has 2 transactions one is revenue  100000, and another one is revenue 1. suppose i predict these 2 sessions exactly right.  the 100000  happens to be in the public leader board and 1 is in the private leader board.  so in the final private leaderboard, the user-level score will be log(1+1), while in the public leaderboard, the user-level socre is log(1 + 100000). my prediction is log(1 + 1 + 100000) way off of log(1 + 1) even thought i make the right predictions.. </p>",
          "rawMarkdown": "maybe i did not understand your point. for example, a user has 2 transactions one is revenue  100000, and another one is revenue 1. suppose i predict these 2 sessions exactly right.  the 100000  happens to be in the public leader board and 1 is in the private leader board.  so in the final private leaderboard, the user-level score will be log(1+1), while in the public leaderboard, the user-level socre is log(1 + 100000). my prediction is log(1 + 1 + 100000) way off of log(1 + 1) even thought i make the right predictions.. ",
          "votes": 2
        },
        {
          "id": 392795,
          "postDate": "2018-09-24T11:36:37.537Z",
          "content": "<p>what I mean is a user cannot be in both public and private since the leaderboard scores are calculated based on total revenus per USER. Remember, the submission file is not at 'session' level, it's 'user' level.</p>",
          "rawMarkdown": "what I mean is a user cannot be in both public and private since the leaderboard scores are calculated based on total revenus per USER. Remember, the submission file is not at 'session' level, it's 'user' level.",
          "votes": 1
        },
        {
          "id": 392797,
          "postDate": "2018-09-24T11:39:49.863Z",
          "content": "<p>Good point, that why i think randomly select 30% data won't work in this case. it has to be option 2 and option 3.  if the leaderboard is time split, a user can be in both public and private leaderboard. if the public leaderboard is stratified by userId, then it will be the case you mentioned. it is kind of important to know if it is option 2 or option3 to know if LB is meaningful and this is why i ask the question. </p>",
          "rawMarkdown": "Good point, that why i think randomly select 30% data won't work in this case. it has to be option 2 and option 3.  if the leaderboard is time split, a user can be in both public and private leaderboard. if the public leaderboard is stratified by userId, then it will be the case you mentioned. it is kind of important to know if it is option 2 or option3 to know if LB is meaningful and this is why i ask the question. "
        },
        {
          "id": 392811,
          "postDate": "2018-09-24T11:58:55.380Z",
          "content": "<p>A user cannot be both in private and public LB for the reasons fatihöztürk mentioned : you submit a file with one user per row, and 30% of those rows go toward the public LB, the rest toward the private LB.</p>\n\n<p>You do raise an interesting point though, and that's if there has been some sort of stratification in the way the 30% have been chosen, i.e. if we can expect to have the same target distribution in both public and private LB. Considering this dataset is extremely imbalanced, the absence of some kind of stratification has a potentially huge impact on the reliability of the public LB.</p>\n\n<p>I guess the moderators won't divulge this information, but it would have been interesting to know for sure.</p>",
          "rawMarkdown": "A user cannot be both in private and public LB for the reasons fatihöztürk mentioned : you submit a file with one user per row, and 30% of those rows go toward the public LB, the rest toward the private LB.\n\nYou do raise an interesting point though, and that's if there has been some sort of stratification in the way the 30% have been chosen, i.e. if we can expect to have the same target distribution in both public and private LB. Considering this dataset is extremely imbalanced, the absence of some kind of stratification has a potentially huge impact on the reliability of the public LB.\n\nI guess the moderators won't divulge this information, but it would have been interesting to know for sure."
        },
        {
          "id": 392816,
          "postDate": "2018-09-24T12:15:19.577Z",
          "content": "<p>thanks juliencs and fatihöztürk. i think i got it now. it has to be stratified by fullVIsitorID then... makes sense..</p>",
          "rawMarkdown": "thanks juliencs and fatihöztürk. i think i got it now. it has to be stratified by fullVIsitorID then... makes sense.."
        },
        {
          "id": 392819,
          "postDate": "2018-09-24T12:27:53.793Z",
          "content": "<p>Hey all -</p>\n\n<p>I'm not going to discuss the test set or how it's split, but Shubin, if your list of possibilities includes multiple nonsensical approaches (like where you say, \"wow, that way would be soooo bad!\") and one way that actually kinda makes sense, I would probably skew my assumptions toward the one that makes sense.</p>\n\n<p>We work hard to have meaningful and reliable LBs.</p>",
          "rawMarkdown": "Hey all -\n\nI'm not going to discuss the test set or how it's split, but Shubin, if your list of possibilities includes multiple nonsensical approaches (like where you say, \"wow, that way would be soooo bad!\") and one way that actually kinda makes sense, I would probably skew my assumptions toward the one that makes sense.\n\nWe work hard to have meaningful and reliable LBs.",
          "votes": 3
        }
      ]
    },
    {
      "id": 389166,
      "postDate": "2018-09-18T09:30:20.320Z",
      "content": "<p>what is the different between sessionID and visitId？ tks</p>",
      "rawMarkdown": "what is the different between sessionID and visitId？ tks",
      "votes": 2,
      "replies": [
        {
          "id": 391190,
          "postDate": "2018-09-21T11:36:07.097Z",
          "content": "<p>the same problem.</p>",
          "rawMarkdown": "the same problem."
        }
      ]
    },
    {
      "id": 387795,
      "postDate": "2018-09-15T17:34:16.287Z",
      "content": "<p>Hello @Phil Culliton, can you also clarify my question <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\">here</a>? Thanks!</p>",
      "rawMarkdown": "Hello @Phil Culliton, can you also clarify my question [here][1]? Thanks!\n\n\n  [1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819",
      "votes": 2,
      "replies": [
        {
          "id": 387796,
          "postDate": "2018-09-15T17:36:09.407Z",
          "content": "<p>Which question would that be?</p>",
          "rawMarkdown": "Which question would that be?"
        },
        {
          "id": 387804,
          "postDate": "2018-09-15T17:44:19.703Z",
          "content": "<p><a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\">This question</a></p>",
          "rawMarkdown": "[This question][1]\n\n\n  [1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819"
        },
        {
          "id": 387806,
          "postDate": "2018-09-15T17:47:17.190Z",
          "content": "<p>Ah, thanks.  I've answered your question in the thread.  For everyone else, it's regarding the definition of \"total revenue\", and my answer was:</p>\n\n<blockquote>\n  <p>You're predicting what the total revenue of the test set is going to be.  The \"total\" refers to the sum of the revenue for each particular user based on that dataset.  So - no, you don't include revenue from the train set.</p>\n</blockquote>",
          "rawMarkdown": "Ah, thanks.  I've answered your question in the thread.  For everyone else, it's regarding the definition of \"total revenue\", and my answer was:\n\n&gt; You're predicting what the total revenue of the test set is going to be.  The \"total\" refers to the sum of the revenue for each particular user based on that dataset.  So - no, you don't include revenue from the train set.",
          "votes": 2
        }
      ]
    },
    {
      "id": 387464,
      "postDate": "2018-09-15T01:26:41.833Z",
      "content": "<p>Thanks for sharing. </p>\n\n<p>I find sessionID which means a unique identifier for this visit to the store is not unique?</p>",
      "rawMarkdown": "Thanks for sharing. \n\nI find sessionID which means a unique identifier for this visit to the store is not unique?",
      "votes": 2
    },
    {
      "id": 400594,
      "postDate": "2018-10-08T15:56:04.700Z",
      "content": "<p>Great competition!  I'm just digging in now</p>",
      "rawMarkdown": "Great competition!  I'm just digging in now"
    },
    {
      "id": 390627,
      "postDate": "2018-09-20T14:43:21.817Z",
      "content": "<p>I didn't get the problem statement clearly. what has to be predicted? features in train data and test data are same.\nThank you.</p>",
      "rawMarkdown": "I didn't get the problem statement clearly. what has to be predicted? features in train data and test data are same.\nThank you."
    },
    {
      "id": 390281,
      "postDate": "2018-09-20T01:11:10.523Z",
      "content": "<p>Thank you and good luck you too for answering to questions.</p>",
      "rawMarkdown": "Thank you and good luck you too for answering to questions."
    },
    {
      "id": 390249,
      "postDate": "2018-09-19T23:14:41.257Z",
      "content": "<p>How the dataset was sampled? Can I assume that I have all the registers for the selected <code>fullVisitorId</code> considering the dataset period?</p>",
      "rawMarkdown": "How the dataset was sampled? Can I assume that I have all the registers for the selected `fullVisitorId` considering the dataset period?"
    },
    {
      "id": 389970,
      "postDate": "2018-09-19T14:29:01.707Z",
      "content": "<p>Do you know the timeframe for when you will post starter kernels for working with BigQuery? </p>",
      "rawMarkdown": "Do you know the timeframe for when you will post starter kernels for working with BigQuery? "
    },
    {
      "id": 389880,
      "postDate": "2018-09-19T11:29:04.140Z",
      "content": "<p>Good!</p>",
      "rawMarkdown": "Good!"
    },
    {
      "id": 389720,
      "postDate": "2018-09-19T05:52:07.657Z",
      "content": "<p>Hello, I just wanted to be absolutely sure, we cannot merge in outside data sets into the competition model to improve accuracy? </p>",
      "rawMarkdown": "Hello, I just wanted to be absolutely sure, we cannot merge in outside data sets into the competition model to improve accuracy? ",
      "replies": [
        {
          "id": 390135,
          "postDate": "2018-09-19T18:54:51.973Z",
          "content": "<p>I think you can't, unless admins approve your external data (and make it public here on kaggle)</p>",
          "rawMarkdown": "I think you can't, unless admins approve your external data (and make it public here on kaggle)",
          "votes": 1
        }
      ]
    },
    {
      "id": 389685,
      "postDate": "2018-09-19T04:37:53.143Z",
      "content": "<p>Can you give us any insights why this loss function instead of a more typical one like RMSLE?</p>",
      "rawMarkdown": "Can you give us any insights why this loss function instead of a more typical one like RMSLE?"
    },
    {
      "id": 388363,
      "postDate": "2018-09-16T21:11:26.750Z",
      "content": "<p>Hi @Phil @Julia, how should we access the data through BQ in R? I see tutorials for BQ connection in R involve project id, which I didn't find in the BQ python example notebook.</p>",
      "rawMarkdown": "Hi @Phil @Julia, how should we access the data through BQ in R? I see tutorials for BQ connection in R involve project id, which I didn't find in the BQ python example notebook."
    },
    {
      "id": 387382,
      "postDate": "2018-09-14T20:13:24.843Z",
      "content": "<p>In the removed data fields section of the data description page, it says that \"hits\" are censored, but I still see \"hits\" in the test dataset.  Is it intended for \"hits\" to be in the test dataset?  Given how much future information we have in the test file, I'm feeling a little uneasy about the leak potential here, unless I'm misinterpreting the meaning of the fields.</p>",
      "rawMarkdown": "In the removed data fields section of the data description page, it says that \"hits\" are censored, but I still see \"hits\" in the test dataset.  Is it intended for \"hits\" to be in the test dataset?  Given how much future information we have in the test file, I'm feeling a little uneasy about the leak potential here, unless I'm misinterpreting the meaning of the fields.",
      "replies": [
        {
          "id": 387391,
          "postDate": "2018-09-14T20:29:11.020Z",
          "content": "<p>Dmitriy,</p>\n\n<p>The <code>hits</code> column which was removed contained a very large JSON blob.  It no longer exists in the CSV set, and is empty in the BigQuery data.  If you're seeing something different, please let me know where.</p>\n\n<p>Perhaps you're seeing the <code>totals_hits</code> column, or the <code>hits</code> sub-column within the <code>totals</code> JSON blob?</p>",
          "rawMarkdown": "Dmitriy,\n\nThe `hits` column which was removed contained a very large JSON blob.  It no longer exists in the CSV set, and is empty in the BigQuery data.  If you're seeing something different, please let me know where.\n\nPerhaps you're seeing the `totals_hits` column, or the `hits` sub-column within the `totals` JSON blob?"
        },
        {
          "id": 387419,
          "postDate": "2018-09-14T21:35:52.890Z",
          "content": "<p>Yes, I'm seeing the <code>hits</code> sub-column within the <code>totals</code> blob.  Is that a different kind of <code>hits</code> column?</p>",
          "rawMarkdown": "Yes, I'm seeing the `hits` sub-column within the `totals` blob.  Is that a different kind of `hits` column?"
        },
        {
          "id": 387425,
          "postDate": "2018-09-14T21:59:35.153Z",
          "content": "<p>Yep! The <code>hits</code> column we removed contained detailed information about pages visited, etc. The column you're looking at (<code>totals_hits</code>) is just a total.</p>",
          "rawMarkdown": "Yep! The `hits` column we removed contained detailed information about pages visited, etc. The column you're looking at (`totals_hits`) is just a total.",
          "votes": 2
        }
      ]
    },
    {
      "id": 387056,
      "postDate": "2018-09-14T08:13:08.930Z",
      "content": "<p>totals.transactionRevenue just have 11515 non-null values?</p>",
      "rawMarkdown": "totals.transactionRevenue just have 11515 non-null values?",
      "replies": [
        {
          "id": 387768,
          "postDate": "2018-09-15T16:40:39.827Z",
          "content": "<p>As with most data of this nature, yes, the number of actual transactions (vs. site visits, which each row represents) is relatively small.</p>",
          "rawMarkdown": "As with most data of this nature, yes, the number of actual transactions (vs. site visits, which each row represents) is relatively small."
        }
      ]
    },
    {
      "id": 386893,
      "postDate": "2018-09-13T20:54:18.660Z",
      "content": "<p>Ok understood where it is</p>",
      "rawMarkdown": "Ok understood where it is"
    },
    {
      "id": 389242,
      "postDate": "2018-09-18T12:10:19.307Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 388324,
      "postDate": "2018-09-16T19:25:26.410Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 391355,
      "postDate": "2018-09-21T17:13:36.233Z",
      "content": "<p>Thank you for hosting this competition.</p>",
      "rawMarkdown": "Thank you for hosting this competition.",
      "votes": 1
    },
    {
      "id": 388992,
      "postDate": "2018-09-18T00:28:07.300Z",
      "content": "<p>Thanks for hosting this competition!</p>",
      "rawMarkdown": "Thanks for hosting this competition!",
      "votes": 1
    },
    {
      "id": 388339,
      "postDate": "2018-09-16T20:10:44.557Z",
      "content": "<p>Thanks for hosting this competition! </p>",
      "rawMarkdown": "Thanks for hosting this competition! "
    },
    {
      "id": 387142,
      "postDate": "2018-09-14T12:35:04.553Z",
      "content": "<p>Thanks for sharing</p>",
      "rawMarkdown": "Thanks for sharing"
    }
  ],
  "comments": [
    {
      "id": 387112,
      "author_name": "Misha Lisovyi",
      "author_url": "",
      "post_date": "2018-09-14T10:30:27.517000",
      "content": "<p>Thanks for an interesting competition!</p>\n\n<p>A few questions about the data:</p>\n\n<ol>\n<li><p>There is a set of features in json, that contain <code>'not available in demo dataset'</code> entries. In particular, <code>['device.browserSize', 'device.browserVersion', 'device.flashVersion', 'device.language', 'device.mobileDeviceBranding', 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName', 'device.mobileDeviceModel', 'device.mobileInputSelector', 'device.operatingSystemVersion', 'device.screenColors', 'device.screenResolution',  'geoNetwork.cityId', 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.networkLocation', 'trafficSource.adwordsClickInfo.criteriaParameters']</code> contain <strong>only</strong> this string. While <code>['geoNetwork.metro', 'geoNetwork.region', 'geoNetwork.city']</code> contain this string together with other options. \nWhat is the meaning and intention here?</p></li>\n<li><p><code>socialEngagementType</code> and <code>totals.visits</code> have a single value only. Is that intended?</p></li>\n<li><p>A large fraction (~98.7%) of the target variable (<code>totals.transactionRevenue</code>) seems to be <code>NaN</code>. What does it mean and what shall one predict in such case? Does it mean <em>no purchase</em> and should we use 0 in such case as a target? Are there such entries in the test dataset? </p></li>\n<li><p><code>trafficSource.campaignCode</code> has a single non-NaN value in the training dataset and the column is completely missing in the test dataset. This is just fun fact :)</p></li>\n<li><p><code>trafficSource.adwordsClickInfo.isVideoAd</code> has only <code>False</code> as a non-NaN value. Does it mean that <code>NaN == True</code>? The inverse situation appears for <code>trafficSource.isTrueDirect</code></p></li>\n</ol>\n\n<p>(There are several other features, where NaN can have a special meaning, but let's wait for your alluded dedicated post with domain info)</p>\n\n<p>Thanks in advance for any feedback!</p>",
      "votes": 25,
      "replies": [
        {
          "id": 387176,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-14T13:45:07.910000",
          "content": "<p>Hey Misha - thanks for your interest.</p>\n\n<p>1) The training data for this competition began as a large - and pretty fascinating - public BigQuery dataset.  Not all values are available, but we wanted to provide competitors with as many of the original columns as we could.</p>\n\n<p>2) Yep.</p>\n\n<p>3) If <code>totals.transactionRevenue</code> is null, then yes, there was no purchase.</p>\n\n<p>4) Yep!  :)</p>\n\n<p>5) That appears to be the case, yes.</p>\n\n<p>Part of the fun of this dataset is wandering around in it and figuring out how it works.  I hope everyone enjoys it as much as we did!</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 387188,
          "author_name": "Misha Lisovyi",
          "author_url": "",
          "post_date": "2018-09-14T14:02:35.260000",
          "content": "<p>It is hard to comment for others, but I definitely enjoy exploring these data.</p>\n\n<p>Could you please leaborate a bit more on the point #3 above? Are there cases in the tests data with no purchases? If so, what shall we predict in such case? Is the desired prediction 0 or NaN or  something else? And how is <code>ln(0)</code> treated in this case? Maybe in practice the evaluation metric is RMSE on <code>ln(total_Revenue+1)</code>?</p>",
          "votes": 7,
          "replies": []
        },
        {
          "id": 387242,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-14T15:51:30.913000",
          "content": "<p>Absolutely, there are cases in the test data with no purchases.  Since we're predicting the natural log of the sum of the revenue for a particular user, if you believe they've made no purchases, then your final prediction would be zero.</p>\n\n<p>That's correct, in practice the evaluation is RMSE on <code>ln(total_Revenue + 1)</code>.  I'll update the data and evaluation pages to more explicitly reflect this.  Thanks!</p>",
          "votes": 9,
          "replies": []
        },
        {
          "id": 387854,
          "author_name": "JohnM",
          "author_url": "",
          "post_date": "2018-09-15T19:41:14.530000",
          "content": "<p>Nice finds, Misha. I used the info to adjust my <a href=\"https://www.kaggle.com/jpmiller/showing-na-in-its-various-forms\">exploration of NA</a> kernel.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 389214,
          "author_name": "Abhimanyu Dikshit",
          "author_url": "",
          "post_date": "2018-09-18T11:15:19.407000",
          "content": "<p>Referring to question 1 here - Is the 'not available in demo dataset' data available in the bigquery version of the dataset?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 389561,
          "author_name": "eafpres",
          "author_url": "",
          "post_date": "2018-09-18T22:35:48.327000",
          "content": "<p>Hi Phil--a few questions:\n1)I'm not seeing an update regarding the ln(0) vs. ln(0 + 1) issue yet on the Evaluation page; am I missing that?</p>\n\n<p>1a) Given that actual revenue is x1e6, and purchases are for actual items, it appears that there is a minimum purchase value (if not zero) greater than $1, so there is a minimum for the revenue values of 1e6 (again, if not 0) or at least a large number compared to 1 (one), so adding 1 to avoid ln(0) is a non-significant change.  Is that the logic that says it's \"OK\" to compute sum((ln(pred + 1) - ln(act + 1))^2)?</p>\n\n<p>2) (this has been asked elsewhere in various forms) On the Evaluation page it says \"where y hat is the predicted revenue for a customer and y is the natural log of the actual revenue value\" which I think is a typo--should be:</p>\n\n<p>where y hat is the <strong>natural log of the</strong> predicted revenue for a customer and ...</p>\n\n<p>and the sum of the differences squared really has the logs on the inside? </p>\n\n<p>(i.e. it is NOT sum(ln(yh - y)^2), </p>\n\n<p>it really is sum((ln(yh) - ln(y))^2)</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 389588,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-19T00:14:44.163000",
          "content": "<p>1) You're not missing it.  I'll be putting that change up shortly.</p>\n\n<p>1a) That is a sensible line of reasoning, yes.</p>\n\n<p>2) You are correct about the typo, thank you.  However, because <code>y</code> and <code>y hat</code> should already include the natural log - the value the metric is dealing with has already been transformed - we do not include the <code>ln</code> in the mathematical description of how the metric works.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 391318,
          "author_name": "S D",
          "author_url": "",
          "post_date": "2018-09-21T15:35:06.543000",
          "content": "<p>I believe you are mistaken regarding trafficSource.adwordsClickInfo.isVideoAd. </p>\n\n<p>In the training set there are 882193 NaN values for isVideoAd and 21460 False values. The split between NaN and non NaN is the same for other adwords features (e.g. trafficSource_adwordsClickInfo.slot).</p>\n\n<p>My understanding is that, for isVideoAd, NaN = not applicable, i.e. we are not dealing with an Ad. There are just no rows with video ads (same in Test set).</p>\n\n<p>Therefore, I believe this column can be dropped (or otherwise be an awkward proxy for whether we have an ad or not)</p>",
          "votes": 4,
          "replies": []
        }
      ]
    },
    {
      "id": 387628,
      "author_name": "yilisg",
      "author_url": "",
      "post_date": "2018-09-15T09:48:24.630000",
      "content": "<p>Thanks for hosting this interesting competition. I've a few clarifications:</p>\n\n<ol>\n<li><p>I think it has been clarified that the evaluation is RMSE of <strong>ln(1 + totalRevenue)</strong> instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.</p></li>\n<li><p>As mentioned <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65771\">here</a> and <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\">here</a>, there appears to be 7679 fullVisitorId appearing in both train and test. For the prediction, should we submit the predicted log revenue for just the test, or train+test if the user appear in both? From the LB, it appears that adding totalRevenue from train lowers the score -- but will be good to get a confirmation of the organizer's intention.</p></li>\n<li><p>As mentioned <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65806\">here</a>, the LB seems to favor Sum(Log(Transactions)) instead of Log(Sum(Transactions)). When I read the data description, however, it seems to suggest the latter (i.e. adding up non-log transactions of each visitor, before taking the log), which has a substantially lower LB RMSE. Will be good to get a clarification as well.</p></li>\n</ol>\n\n<p>Many thanks in advance.</p>",
      "votes": 11,
      "replies": [
        {
          "id": 387779,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-15T16:59:55.497000",
          "content": "<p>1) Correct.</p>\n\n<p>2) It would be wise to make predictions for the test set based solely on the test set, as that's what the targets are based on.</p>\n\n<p>3) Use Log(Sum(Transactions)).  That's the target.  If you're lowering your RMSE on the public test set and not actually using the intended target to do so, there's a really, really good chance your model is going to fail on the private test set.</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 388000,
          "author_name": "Ingrid Baade",
          "author_url": "",
          "post_date": "2018-09-16T04:48:00.993000",
          "content": "<p>There's no good reason why it should be 1 that is added. Rather than returning PredictedLogRevenue as 0, surely NA is a better quantity to return for customers that don't make a purchase?  PredictedRevenue =0 but the competition is asking for PredictedLogRevenue. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 388817,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-17T16:28:06.130000",
          "content": "<p>That's how the metric works, and how the target is set up.  So - if you think there isn't any revenue for that test ID, put in 0.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 389005,
          "author_name": "Neeraj",
          "author_url": "",
          "post_date": "2018-09-18T01:23:02.877000",
          "content": "<p>Hi Kaggle Team - @Phil Culliton ,</p>\n\n<p>I have a couple of quick questions:</p>\n\n<ol>\n<li>I am quoting Phil's reply to yilisg 's question :\n\"I think it has been clarified that the evaluation is RMSE of ln(1 + totalRevenue) instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.\"\nas \"correct\".</li>\n</ol>\n\n<p>Are you sure that's the case ?\nIf Yes, maybe it should be clarified in the data section of the competition as well, since ln(sum(revenues)) doesn't mean adding 1 to the part inside.\nI think how the target is defined and set up is very important - since it will strongly affect the loss/error the users are trying to minimize, and that Kaggle's test on our submission is done on the same thing. If Kaggle is measuring error on a metric different than the one user is trying to minimize, all effort will be a waste unfortunately.</p>\n\n<p>So, can you please clarify which one is it?</p>\n\n<ul>\n<li><p>log(1 + sum(revenue)</p></li>\n<li><p>log( sum (1 + revenue) )</p></li>\n<li><p>log(sum(revenue)).</p></li>\n</ul>\n\n<p>And 2nd question:\n  If the 'totals_transactionRevenue' is missing in the train set - it is zero right ?  As in , a row with missing 'totals_transactionRevenue' does still correspond to a valid user visit with no purchase right?</p>\n\n<p>Thanks a lot in advance!</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 389077,
          "author_name": "Misha Lisovyi",
          "author_url": "",
          "post_date": "2018-09-18T05:35:08.960000",
          "content": "<p>I think, it has been explicitly clarified, that the first option is what the kaggle admins believe is used, see <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65691#387242\">the answer here</a>. The docs have not been updated indeed.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 388372,
      "author_name": "Denis",
      "author_url": "",
      "post_date": "2018-09-16T21:50:24.040000",
      "content": "<p>Hi @Julia \\ @Phil. Can we use publicly available external data in this competition? Like country economic data (GDP etc.)</p>",
      "votes": 9,
      "replies": []
    },
    {
      "id": 388201,
      "author_name": "ihopethiswillfi",
      "author_url": "",
      "post_date": "2018-09-16T14:44:58.310000",
      "content": "<p>If I'd augment the data with timezone information, would that be seen as \"external data\" ?</p>",
      "votes": 7,
      "replies": [
        {
          "id": 389966,
          "author_name": "Toby Cheese",
          "author_url": "",
          "post_date": "2018-09-19T14:21:25.637000",
          "content": "<p>Up to know, common knowledge such as time zone data, list of public holidays and so on where never considered public data.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 387171,
      "author_name": "Misha Lisovyi",
      "author_url": "",
      "post_date": "2018-09-14T13:38:57.357000",
      "content": "<p>one more question to the data: are <code>date</code> and <code>visitStartTime</code> given in the same timezone? It seems like the two  do not agree in the cases close to midnight. </p>\n\n<p>One can do such comparison looking at <br>\n<code>pd.concat([pd.to_datetime(df_trn['visitStartTime'], unit='s'), df_trn['date']], axis=1)</code></p>",
      "votes": 7,
      "replies": [
        {
          "id": 387175,
          "author_name": "[ODS.ai] artem",
          "author_url": "",
          "post_date": "2018-09-14T13:44:03.860000",
          "content": "<p>I suppose we need to handle the difference with Time Zones here</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387658,
          "author_name": "ONODERA",
          "author_url": "",
          "post_date": "2018-09-15T11:13:56.663000",
          "content": "<p>I hope admin would answer this question. But I do believe this visitStartTime is UTC.\nTotally different by each country.</p>\n\n<p><a href=\"https://imgur.com/a/4RsZCXM\">https://imgur.com/a/4RsZCXM</a>\n(image inserting doesn't work for me)</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 390808,
          "author_name": "Arma Değer Mut",
          "author_url": "",
          "post_date": "2018-09-20T21:31:58.187000",
          "content": "<p><a href=\"/philculliton\">@philculliton</a> , is it possible to fix the timezone from information found by geoNetwork.country time zone?</p>\n\n<p>I mean, if its ok, we should be able to get external data for timezone information.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 390809,
          "author_name": "Misha Lisovyi",
          "author_url": "",
          "post_date": "2018-09-20T21:35:24.807000",
          "content": "<p>I was thinking about that approach. But then i bumped into the fact that several countries span over several timezones, for example US and Russia</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 390817,
          "author_name": "Arma Değer Mut",
          "author_url": "",
          "post_date": "2018-09-20T22:02:23.867000",
          "content": "<p>you are right. But I suppose it is better than nothing. Right?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 393680,
          "author_name": "Yannis Pappas",
          "author_url": "",
          "post_date": "2018-09-25T18:41:08.513000",
          "content": "<p>Hey guys. <br>\nThe reason is much simpler, and it does not have anything to do with the visitor's time zone. <br>\nI explained it in more detail <a href=\"https://www.kaggle.com/c/ga-customer-revenue-prediction/discussion/66815\">here</a></p>\n\n<p>I hope this helps.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 394946,
          "author_name": "Arma Değer Mut",
          "author_url": "",
          "post_date": "2018-09-27T17:37:45.450000",
          "content": "<p>Thanks Yannis. But as you have stated in the other post, adding timezone to find visitors local time should also help a lot. It s more important than the store s date and time. Dont you think?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 394955,
          "author_name": "Yannis Pappas",
          "author_url": "",
          "post_date": "2018-09-27T18:01:04.233000",
          "content": "<p>I'm pretty confident but I haven't had the time to check it.</p>\n\n<p>I guess an easy way to find out if the local time is important is to select rows from a single region (e.g. NY) and plot the revenue over the time of the day.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 391196,
      "author_name": "FabienDaniel",
      "author_url": "",
      "post_date": "2018-09-21T11:49:13.637000",
      "content": "<p>Is it allowed tu use a package like <code>geopy</code> that requests a database to retrieve geographical informations about e.g cities, countries ?</p>",
      "votes": 5,
      "replies": []
    },
    {
      "id": 390353,
      "author_name": "Maxwell",
      "author_url": "",
      "post_date": "2018-09-20T04:36:24.747000",
      "content": "<p>Thanks for hosting this competition. <br>\nOne clarification:  </p>\n\n<pre><code>Does transactionRevenue include shipping costs ?  \n</code></pre>",
      "votes": 6,
      "replies": []
    },
    {
      "id": 386993,
      "author_name": "Andrey Lukyanenko",
      "author_url": "",
      "post_date": "2018-09-14T05:05:14.490000",
      "content": "<p>Just to be sure, are we predicting totals.transactionRevenue? It has some huge values, like 99990000.</p>",
      "votes": 3,
      "replies": [
        {
          "id": 387037,
          "author_name": "Aguiar",
          "author_url": "",
          "post_date": "2018-09-14T07:13:28.383000",
          "content": "<p>That's true... I think values are too high to be some monetary value</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387170,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-14T13:36:06.310000",
          "content": "<p>As noted in the original post and elsewhere, we're predicting the <strong>natural log of the total revenue per unique user</strong>, which is, yep, based on <code>totals.transactionRevenue</code>.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387769,
          "author_name": "yilisg",
          "author_url": "",
          "post_date": "2018-09-15T16:44:52.123000",
          "content": "<p>As explained by dinosaur <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65775#387740\">here</a>, the transactionRevenue are USD times 10^6... probably to avoid any loss of decimal precision when converting from/to foreign currencies.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 386887,
      "author_name": "Anindya Sankar Dey",
      "author_url": "",
      "post_date": "2018-09-13T20:27:44.670000",
      "content": "<p>The CSV has no revenue data, but when I see the kernel from BIgQuery they have much more data than that's  in the csv? Are the CSV's correct?</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 387629,
      "author_name": "Adams",
      "author_url": "",
      "post_date": "2018-09-15T09:49:11.713000",
      "content": "<p>If a visitor appears both in the train and test sets, should we predict the total revenue as the revenue from the time covered in train + the time covered in test? Or only the test set?</p>",
      "votes": 4,
      "replies": [
        {
          "id": 388818,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-17T16:28:29.427000",
          "content": "<p>Only the test set.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 390721,
      "author_name": "Wanderson Marques",
      "author_url": "",
      "post_date": "2018-09-20T17:43:49.533000",
      "content": "<p>Ok</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 388931,
      "author_name": "AmirH",
      "author_url": "",
      "post_date": "2018-09-17T20:52:08.823000",
      "content": "<p>Hi @Julia \\ @Phil\nI haven't received a response from Kaggle on this issue i posted here:\n<a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65875\">https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65875</a></p>\n\n<p>Regarding an R competitor teaming up with a python competitor, whether the combined solution is eligible to receive the R prize.</p>\n\n<p>Thanks!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 388627,
      "author_name": "Matt Motoki",
      "author_url": "",
      "post_date": "2018-09-17T10:04:00.507000",
      "content": "<p>Hi @Phil, are teams who use <code>Rcpp</code> still eligible for the R Usage Prize?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 388927,
          "author_name": "Julia Elliott",
          "author_url": "",
          "post_date": "2018-09-17T20:42:37.957000",
          "content": "<p>Rcpp is considered by the competition host to be a legitimate use of R. Generally, it is acceptable to use any R package on CRAN for the competition</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 388132,
      "author_name": "Chinta",
      "author_url": "",
      "post_date": "2018-09-16T11:29:30.707000",
      "content": "<p>Hi Phil, If a user browses thru tablet, mobile and desktop will he have  same fullVisitorId across devices, I don't see this in the data. But just want to confirm on it. So users are not tracked across devices ?</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 387696,
      "author_name": "Guillaume",
      "author_url": "",
      "post_date": "2018-09-15T13:09:05.533000",
      "content": "<p>Hello</p>\n\n<p>The files that we have to download are protected. When I try to read them with pandas I get an OSError. That surprises me because I don't find where you explain this part in the data section.</p>\n\n<p>Help me please I love you</p>",
      "votes": 1,
      "replies": [
        {
          "id": 387766,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-15T16:39:23.447000",
          "content": "<p>Hi Kerzer,</p>\n\n<p>The files are not protected.  You may have had an error in your download.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387794,
          "author_name": "",
          "author_url": "",
          "post_date": "2018-09-15T17:25:35.183000",
          "content": "",
          "votes": 3,
          "replies": []
        },
        {
          "id": 388924,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-17T20:36:22.640000",
          "content": "<p>What are you using to extract the .zip archive?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 397308,
          "author_name": "Taavi",
          "author_url": "",
          "post_date": "2018-10-02T10:02:53.930000",
          "content": "<p><code>kaggle competitions download -c ga-customer-revenue-prediction</code></p>\n\n<p><code>unzip sample_submission.csv.zip</code></p>\n\n<p><code>ls -l</code> shows file decompressed file permission as <code>----------</code> like Ilya said. Same result when decompressing with Archive Manager.</p>\n\n<p><code>chmod 400 sample_submission.csv</code> solves it as Ilya mentioned.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 397436,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-10-02T13:33:51.213000",
          "content": "<p>Thanks!  I'll bring this to the appropriate people.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 386897,
      "author_name": "Akshay",
      "author_url": "",
      "post_date": "2018-09-13T21:10:40.950000",
      "content": "<p>I'm very new to Machine Learning (and Kaggle as well). Would be great if I can get to team up with someone to learn and contribute to this ;) </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 392410,
      "author_name": "Shubin",
      "author_url": "",
      "post_date": "2018-09-23T18:17:25.400000",
      "content": "<p>@Phil,  i have a question about how public leaderboard is constructed? is it constructed by \n1. randomly select 30% data from the test set\n2. stratified by FullVisitorId, and pick 30% user\n3. time split, the first few days(which accounts for 30 % of data)</p>\n\n<p>i can only see 2nd and 3rd way a reasonable split because if we go with method 1, you do not want to exclude some of the transactions when calculating user's total revenue in the test period.</p>\n\n<p>it will be really helpful to clarify this as this will help us design cv strategies. thanks</p>",
      "votes": 2,
      "replies": [
        {
          "id": 392784,
          "author_name": "Fatih Öztürk",
          "author_url": "",
          "post_date": "2018-09-24T11:14:38.653000",
          "content": "<p>I think you don't need 'time' information since we calculate each customer's revenue. We don't submit session predictions. So it totally makes sense to have a random split within 'users-their revenues' data.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 392792,
          "author_name": "Shubin",
          "author_url": "",
          "post_date": "2018-09-24T11:29:28.080000",
          "content": "<p>maybe i did not understand your point. for example, a user has 2 transactions one is revenue  100000, and another one is revenue 1. suppose i predict these 2 sessions exactly right.  the 100000  happens to be in the public leader board and 1 is in the private leader board.  so in the final private leaderboard, the user-level score will be log(1+1), while in the public leaderboard, the user-level socre is log(1 + 100000). my prediction is log(1 + 1 + 100000) way off of log(1 + 1) even thought i make the right predictions.. </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 392795,
          "author_name": "Fatih Öztürk",
          "author_url": "",
          "post_date": "2018-09-24T11:36:37.537000",
          "content": "<p>what I mean is a user cannot be in both public and private since the leaderboard scores are calculated based on total revenus per USER. Remember, the submission file is not at 'session' level, it's 'user' level.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 392797,
          "author_name": "Shubin",
          "author_url": "",
          "post_date": "2018-09-24T11:39:49.863000",
          "content": "<p>Good point, that why i think randomly select 30% data won't work in this case. it has to be option 2 and option 3.  if the leaderboard is time split, a user can be in both public and private leaderboard. if the public leaderboard is stratified by userId, then it will be the case you mentioned. it is kind of important to know if it is option 2 or option3 to know if LB is meaningful and this is why i ask the question. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 392811,
          "author_name": "juliencs",
          "author_url": "",
          "post_date": "2018-09-24T11:58:55.380000",
          "content": "<p>A user cannot be both in private and public LB for the reasons fatihöztürk mentioned : you submit a file with one user per row, and 30% of those rows go toward the public LB, the rest toward the private LB.</p>\n\n<p>You do raise an interesting point though, and that's if there has been some sort of stratification in the way the 30% have been chosen, i.e. if we can expect to have the same target distribution in both public and private LB. Considering this dataset is extremely imbalanced, the absence of some kind of stratification has a potentially huge impact on the reliability of the public LB.</p>\n\n<p>I guess the moderators won't divulge this information, but it would have been interesting to know for sure.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 392816,
          "author_name": "Shubin",
          "author_url": "",
          "post_date": "2018-09-24T12:15:19.577000",
          "content": "<p>thanks juliencs and fatihöztürk. i think i got it now. it has to be stratified by fullVIsitorID then... makes sense..</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 392819,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-24T12:27:53.793000",
          "content": "<p>Hey all -</p>\n\n<p>I'm not going to discuss the test set or how it's split, but Shubin, if your list of possibilities includes multiple nonsensical approaches (like where you say, \"wow, that way would be soooo bad!\") and one way that actually kinda makes sense, I would probably skew my assumptions toward the one that makes sense.</p>\n\n<p>We work hard to have meaningful and reliable LBs.</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 389166,
      "author_name": "lammda",
      "author_url": "",
      "post_date": "2018-09-18T09:30:20.320000",
      "content": "<p>what is the different between sessionID and visitId？ tks</p>",
      "votes": 2,
      "replies": [
        {
          "id": 391190,
          "author_name": "icebear",
          "author_url": "",
          "post_date": "2018-09-21T11:36:07.097000",
          "content": "<p>the same problem.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 387795,
      "author_name": "ianchute",
      "author_url": "",
      "post_date": "2018-09-15T17:34:16.287000",
      "content": "<p>Hello @Phil Culliton, can you also clarify my question <a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\">here</a>? Thanks!</p>",
      "votes": 2,
      "replies": [
        {
          "id": 387796,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-15T17:36:09.407000",
          "content": "<p>Which question would that be?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387804,
          "author_name": "ianchute",
          "author_url": "",
          "post_date": "2018-09-15T17:44:19.703000",
          "content": "<p><a href=\"https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\">This question</a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387806,
          "author_name": "Phil Culliton",
          "author_url": "",
          "post_date": "2018-09-15T17:47:17.190000",
          "content": "<p>Ah, thanks.  I've answered your question in the thread.  For everyone else, it's regarding the definition of \"total revenue\", and my answer was:</p>\n\n<blockquote>\n  <p>You're predicting what the total revenue of the test set is going to be.  The \"total\" refers to the sum of the revenue for each particular user based on that dataset.  So - no, you don't include revenue from the train set.</p>\n</blockquote>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 387464,
      "author_name": "fortune cookie",
      "author_url": "",
      "post_date": "2018-09-15T01:26:41.833000",
      "content": "<p>Thanks for sharing. </p>\n\n<p>I find sessionID which means a unique identifier for this visit to the store is not unique?</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 400594,
      "author_name": "Eric Sonnen",
      "author_url": "",
      "post_date": "2018-10-08T15:56:04.700000",
      "content": "<p>Great competition!  I'm just digging in now</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 390627,
      "author_name": "vishnug",
      "author_url": "",
      "post_date": "2018-09-20T14:43:21.817000",
      "content": "<p>I didn't get the problem statement clearly. what has to be predicted? features in train data and test data are same.\nThank you.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 390281,
      "author_name": "Xavier_DELPIERRE",
      "author_url": "",
      "post_date": "2018-09-20T01:11:10.523000",
      "content": "<p>Thank you and good luck you too for answering to questions.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 390249,
      "author_name": "Luis Moneda",
      "author_url": "",
      "post_date": "2018-09-19T23:14:41.257000",
      "content": "<p>How the dataset was sampled? Can I assume that I have all the registers for the selected <code>fullVisitorId</code> considering the dataset period?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 389970,
      "author_name": "MadsHelt",
      "author_url": "",
      "post_date": "2018-09-19T14:29:01.707000",
      "content": "<p>Do you know the timeframe for when you will post starter kernels for working with BigQuery? </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 389880,
      "author_name": "kurumi",
      "author_url": "",
      "post_date": "2018-09-19T11:29:04.140000",
      "content": "<p>Good!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 389720,
      "author_name": "Ben Shapiro",
      "author_url": "",
      "post_date": "2018-09-19T05:52:07.657000",
      "content": "<p>Hello, I just wanted to be absolutely sure, we cannot merge in outside data sets into the competition model to improve accuracy? </p>",
      "votes": 0,
      "replies": [
        {
          "id": 390135,
          "author_name": "Aguiar",
          "author_url": "",
          "post_date": "2018-09-19T18:54:51.973000",
          "content": "<p>I think you can't, unless admins approve your external data (and make it public here on kaggle)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 389685,
      "author_name": "MitchelFung",
      "author_url": "",
      "post_date": "2018-09-19T04:37:53.143000",
      "content": "<p>Can you give us any insights why this loss function instead of a more typical one like RMSLE?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 388363,
      "author_name": "Wanting Wang",
      "author_url": "",
      "post_date": "2018-09-16T21:11:26.750000",
      "content": "<p>Hi @Phil @Julia, how should we access the data through BQ in R? I see tutorials for BQ connection in R involve project id, which I didn't find in the BQ python example notebook.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 387382,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-14T20:13:24.843000",
      "content": "",
      "votes": 0,
      "replies": [
        {
          "id": 387391,
          "author_name": "",
          "author_url": "",
          "post_date": "2018-09-14T20:29:11.020000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387419,
          "author_name": "",
          "author_url": "",
          "post_date": "2018-09-14T21:35:52.890000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 387425,
          "author_name": "",
          "author_url": "",
          "post_date": "2018-09-14T21:59:35.153000",
          "content": "",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 387056,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-14T08:13:08.930000",
      "content": "",
      "votes": 0,
      "replies": [
        {
          "id": 387768,
          "author_name": "",
          "author_url": "",
          "post_date": "2018-09-15T16:40:39.827000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 386893,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-13T20:54:18.660000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 389242,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-18T12:10:19.307000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 388324,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-16T19:25:26.410000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 391355,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-21T17:13:36.233000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 388992,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-18T00:28:07.300000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 388339,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-16T20:10:44.557000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 387142,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-09-14T12:35:04.553000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "386861": "Welcome to Google Analytics Customer Revenue Prediction!\n\nIn this competition, we'll be looking at visits to the Google Merchandise Store, and attempting to predict future user revenue from them. Note that we're predicting the **natural log of the total revenue per unique user**, as laid out in the [Evaluation][1] and [Data description][2] pages, so please be sure to check those out and adjust your code accordingly. The data for this competition is hosted both on BigQuery *and* as traditional CSVs, and we'll be posting starter kernels to get you going in each type of data.\n\n**Important:** Please note that the IDs we're using in this competition must be loaded as strings to properly deduplicate / match with BigQuery. Be wary of loading this data in programs like Excel that might also truncate or alter the IDs.\n\nIn addition to the regular prizes, this competition will have a special prize for R users. Make sure to check out the [Prizes][3] page for more details.\n\nWe'll start a separate thread in a few days for domain-specific questions about the data. In the meantime, please feel free to ask your questions in this thread.\n\nGood luck!\n\n[1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#evaluation\n[2]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/data\n[3]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction#Prizes\n",
    "387112": "Thanks for an interesting competition!\n\nA few questions about the data:\n\n1.  There is a set of features in json, that contain `'not available in demo dataset'` entries. In particular, `['device.browserSize', 'device.browserVersion', 'device.flashVersion', 'device.language', 'device.mobileDeviceBranding', 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName', 'device.mobileDeviceModel', 'device.mobileInputSelector', 'device.operatingSystemVersion', 'device.screenColors', 'device.screenResolution',  'geoNetwork.cityId', 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.networkLocation', 'trafficSource.adwordsClickInfo.criteriaParameters']` contain **only** this string. While `['geoNetwork.metro', 'geoNetwork.region', 'geoNetwork.city']` contain this string together with other options. \nWhat is the meaning and intention here?\n\n2. `socialEngagementType` and `totals.visits` have a single value only. Is that intended?\n\n3. A large fraction (~98.7%) of the target variable (`totals.transactionRevenue`) seems to be `NaN`. What does it mean and what shall one predict in such case? Does it mean _no purchase_ and should we use 0 in such case as a target? Are there such entries in the test dataset? \n\n4. `trafficSource.campaignCode` has a single non-NaN value in the training dataset and the column is completely missing in the test dataset. This is just fun fact :)\n\n5. `trafficSource.adwordsClickInfo.isVideoAd` has only `False` as a non-NaN value. Does it mean that `NaN == True`? The inverse situation appears for `trafficSource.isTrueDirect`\n\n(There are several other features, where NaN can have a special meaning, but let's wait for your alluded dedicated post with domain info)\n\nThanks in advance for any feedback!",
    "387628": "Thanks for hosting this interesting competition. I've a few clarifications:\n\n1. I think it has been clarified that the evaluation is RMSE of **ln(1 + totalRevenue)** instead of ln(totalRevenue), since if totalRevenue=0 the ln will be infinity.\n\n2. As mentioned [here][1] and [here][2], there appears to be 7679 fullVisitorId appearing in both train and test. For the prediction, should we submit the predicted log revenue for just the test, or train+test if the user appear in both? From the LB, it appears that adding totalRevenue from train lowers the score -- but will be good to get a confirmation of the organizer's intention.\n\n3. As mentioned [here][3], the LB seems to favor Sum(Log(Transactions)) instead of Log(Sum(Transactions)). When I read the data description, however, it seems to suggest the latter (i.e. adding up non-log transactions of each visitor, before taking the log), which has a substantially lower LB RMSE. Will be good to get a clarification as well.\n\nMany thanks in advance.\n\n  [1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65771\n  [2]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819\n  [3]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65806",
    "388372": "Hi @Julia \\ @Phil. Can we use publicly available external data in this competition? Like country economic data (GDP etc.)",
    "388201": "If I'd augment the data with timezone information, would that be seen as \"external data\" ?",
    "387171": "one more question to the data: are `date` and `visitStartTime` given in the same timezone? It seems like the two  do not agree in the cases close to midnight. \n\nOne can do such comparison looking at  \n`pd.concat([pd.to_datetime(df_trn['visitStartTime'], unit='s'), df_trn['date']], axis=1)`",
    "391196": "Is it allowed tu use a package like `geopy` that requests a database to retrieve geographical informations about e.g cities, countries ?",
    "390353": "Thanks for hosting this competition.  \nOne clarification:  \n\n    Does transactionRevenue include shipping costs ?  \n\n  ",
    "386993": "Just to be sure, are we predicting totals.transactionRevenue? It has some huge values, like 99990000.",
    "386887": "The CSV has no revenue data, but when I see the kernel from BIgQuery they have much more data than that's  in the csv? Are the CSV's correct?",
    "387629": "If a visitor appears both in the train and test sets, should we predict the total revenue as the revenue from the time covered in train + the time covered in test? Or only the test set?",
    "390721": "Ok",
    "388931": "Hi @Julia \\ @Phil\nI haven't received a response from Kaggle on this issue i posted here:\nhttps://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65875\n\nRegarding an R competitor teaming up with a python competitor, whether the combined solution is eligible to receive the R prize.\n\nThanks!",
    "388627": "Hi @Phil, are teams who use `Rcpp` still eligible for the R Usage Prize?",
    "388132": "Hi Phil, If a user browses thru tablet, mobile and desktop will he have  same fullVisitorId across devices, I don't see this in the data. But just want to confirm on it. So users are not tracked across devices ?",
    "387696": "Hello\n\nThe files that we have to download are protected. When I try to read them with pandas I get an OSError. That surprises me because I don't find where you explain this part in the data section.\n\nHelp me please I love you",
    "386897": "I'm very new to Machine Learning (and Kaggle as well). Would be great if I can get to team up with someone to learn and contribute to this ;) ",
    "392410": "@Phil,  i have a question about how public leaderboard is constructed? is it constructed by \n1. randomly select 30% data from the test set\n2. stratified by FullVisitorId, and pick 30% user\n3. time split, the first few days(which accounts for 30 % of data)\n\ni can only see 2nd and 3rd way a reasonable split because if we go with method 1, you do not want to exclude some of the transactions when calculating user's total revenue in the test period.\n\nit will be really helpful to clarify this as this will help us design cv strategies. thanks\n",
    "389166": "what is the different between sessionID and visitId？ tks",
    "387795": "Hello @Phil Culliton, can you also clarify my question [here][1]? Thanks!\n\n\n  [1]: https://www.kaggle.com/c/google-analytics-customer-revenue-prediction/discussion/65819",
    "387464": "Thanks for sharing. \n\nI find sessionID which means a unique identifier for this visit to the store is not unique?",
    "400594": "Great competition!  I'm just digging in now",
    "390627": "I didn't get the problem statement clearly. what has to be predicted? features in train data and test data are same.\nThank you.",
    "390281": "Thank you and good luck you too for answering to questions.",
    "390249": "How the dataset was sampled? Can I assume that I have all the registers for the selected `fullVisitorId` considering the dataset period?",
    "389970": "Do you know the timeframe for when you will post starter kernels for working with BigQuery? ",
    "389880": "Good!",
    "389720": "Hello, I just wanted to be absolutely sure, we cannot merge in outside data sets into the competition model to improve accuracy? ",
    "389685": "Can you give us any insights why this loss function instead of a more typical one like RMSLE?",
    "388363": "Hi @Phil @Julia, how should we access the data through BQ in R? I see tutorials for BQ connection in R involve project id, which I didn't find in the BQ python example notebook.",
    "387382": "In the removed data fields section of the data description page, it says that \"hits\" are censored, but I still see \"hits\" in the test dataset.  Is it intended for \"hits\" to be in the test dataset?  Given how much future information we have in the test file, I'm feeling a little uneasy about the leak potential here, unless I'm misinterpreting the meaning of the fields.",
    "387056": "totals.transactionRevenue just have 11515 non-null values?",
    "386893": "Ok understood where it is",
    "389242": "",
    "388324": "",
    "391355": "Thank you for hosting this competition.",
    "388992": "Thanks for hosting this competition!",
    "388339": "Thanks for hosting this competition! ",
    "387142": "Thanks for sharing"
  }
}