{
  "id": 40316,
  "title": "How is this a churn?",
  "url": "/competitions/kkbox-churn-prediction-challenge/discussion/40316",
  "author_name": "",
  "post_date": "2017-10-01T00:28:26.901345900Z",
  "votes": 6,
  "comment_count": 9,
  "views": 0,
  "content": "<p>I am having some issues understanding the definition of churn. Sometimes it seems that the train labels do not agree with what is observed in the transactions table.</p>\n\n<p>For example, let's take a look at the last transactions of the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=</p>\n\n<ul>\n<li>is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel</li>\n<li>0,  2016-02-25,  2016-03-25,  0</li>\n<li>1,  2016-02-25,  2016-02-25,  1</li>\n<li>1,  2016-02-15,  2017-03-16,  0</li>\n<li>1,  2016-01-15,  2017-02-15,  0</li>\n</ul>\n\n<p>As I see it: this user was on a monthly, automatically renewed subscription. In 2016-02-25 he canceled the subscription and created a new one, expiring in 2016-03-25, which is not renewed automatically.</p>\n\n<p>In the train data, this users is marked as a churn user.</p>\n\n<p>Also, let me add that I find this transactions table ambiguous. There are transactions with the same date for a given user, and therefore it is impossible to say which one was first. Can it be the case that this user is being marked as churn because it is being assumed that his last transaction was</p>\n\n<ul>\n<li>is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel</li>\n<li>1,  2016-02-25,  2016-02-25,  1</li>\n</ul>\n\n<p>which would mean that his membership expired in February, and no further subscription was made in the following 30 days?</p>\n\n<p>Thanks in advance</p>",
  "messages": [
    {
      "id": "226082",
      "postDate": "10/01/2017 00:28:26",
      "content": "<p>I am having some issues understanding the definition of churn. Sometimes it seems that the train labels do not agree with what is observed in the transactions table.</p>\n\n<p>For example, let's take a look at the last transactions of the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=</p>\n\n<ul>\n<li>is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel</li>\n<li>0,  2016-02-25,  2016-03-25,  0</li>\n<li>1,  2016-02-25,  2016-02-25,  1</li>\n<li>1,  2016-02-15,  2017-03-16,  0</li>\n<li>1,  2016-01-15,  2017-02-15,  0</li>\n</ul>\n\n<p>As I see it: this user was on a monthly, automatically renewed subscription. In 2016-02-25 he canceled the subscription and created a new one, expiring in 2016-03-25, which is not renewed automatically.</p>\n\n<p>In the train data, this users is marked as a churn user.</p>\n\n<p>Also, let me add that I find this transactions table ambiguous. There are transactions with the same date for a given user, and therefore it is impossible to say which one was first. Can it be the case that this user is being marked as churn because it is being assumed that his last transaction was</p>\n\n<ul>\n<li>is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel</li>\n<li>1,  2016-02-25,  2016-02-25,  1</li>\n</ul>\n\n<p>which would mean that his membership expired in February, and no further subscription was made in the following 30 days?</p>\n\n<p>Thanks in advance</p>",
      "rawMarkdown": "I am having some issues understanding the definition of churn. Sometimes it seems that the train labels do not agree with what is observed in the transactions table.\n\nFor example, let's take a look at the last transactions of the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=\n\n- is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel\n- 0,  2016-02-25,  2016-03-25,  0\n- 1,  2016-02-25,  2016-02-25,  1\n- 1,  2016-02-15,  2017-03-16,  0\n- 1,  2016-01-15,  2017-02-15,  0\n\nAs I see it: this user was on a monthly, automatically renewed subscription. In 2016-02-25 he canceled the subscription and created a new one, expiring in 2016-03-25, which is not renewed automatically.\n\nIn the train data, this users is marked as a churn user.\n\n\nAlso, let me add that I find this transactions table ambiguous. There are transactions with the same date for a given user, and therefore it is impossible to say which one was first. Can it be the case that this user is being marked as churn because it is being assumed that his last transaction was\n\n- is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel\n- 1,  2016-02-25,  2016-02-25,  1\n\nwhich would mean that his membership expired in February, and no further subscription was made in the following 30 days?\n\nThanks in advance",
      "votes": null
    },
    {
      "id": "226086",
      "postDate": "10/01/2017 00:40:45",
      "content": "<p>Here is an example that doesn't have an ambiguity in the order of the transactions.</p>\n\n<p>User: ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=</p>\n\n<ul>\n<li>is_auto_renew,    transaction_date,   membership_expire_date,     is_cancel</li>\n<li>0,    2017-02-16,     2017-03-21,     0</li>\n<li>0,    2017-01-20,     2017-02-19, 0</li>\n<li>0,    2016-12-15,     2017-01-14,     0</li>\n</ul>",
      "rawMarkdown": "Here is an example that doesn't have an ambiguity in the order of the transactions.\n\nUser: ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=\n\n- is_auto_renew, \ttransaction_date, \tmembership_expire_date, \tis_cancel\n- 0, \t2017-02-16, \t2017-03-21, \t0\n- 0, \t2017-01-20, \t2017-02-19,\t0\n- 0, \t2016-12-15, \t2017-01-14, \t0",
      "votes": null
    },
    {
      "id": "226200",
      "postDate": "10/01/2017 12:28:17",
      "content": "<p>I would really appreciate some clarification here aswell. I'm wrecking my head about this for quite some time now.</p>\n\n<p>Is the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0= marked as churn because he didn't make a new subscription within 30 days after the 2016-03-25? In such a case there wouldn't be anything to predict. </p>\n\n<p>So I guess it's because he didn't make a new subscription within 30 days after the 2017-03-16 (or 2017-02-15?). This doesn't make too much sense to me aswell, his active membership ended many months before these dates. This does also make me wonder why this member is part of the training sample in the first place.</p>",
      "rawMarkdown": "I would really appreciate some clarification here aswell. I'm wrecking my head about this for quite some time now.\n\nIs the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0= marked as churn because he didn't make a new subscription within 30 days after the 2016-03-25? In such a case there wouldn't be anything to predict. \n\nSo I guess it's because he didn't make a new subscription within 30 days after the 2017-03-16 (or 2017-02-15?). This doesn't make too much sense to me aswell, his active membership ended many months before these dates. This does also make me wonder why this member is part of the training sample in the first place.",
      "votes": null
    },
    {
      "id": "226202",
      "postDate": "10/01/2017 12:35:28",
      "content": "<p>I would expect this member to be marked as not churn in the training sample because the membership that expired in February 2017 wasn't the last one. </p>\n\n<p>And in the test sample he might possibly be marked as is churn in case there isn't a new transaction within 30 days after the 2017-03-21. </p>\n\n<p>Nonetheless this member is already marked as is churn in the training sample.</p>",
      "rawMarkdown": "I would expect this member to be marked as not churn in the training sample because the membership that expired in February 2017 wasn't the last one. \n\nAnd in the test sample he might possibly be marked as is churn in case there isn't a new transaction within 30 days after the 2017-03-21. \n\nNonetheless this member is already marked as is churn in the training sample.",
      "votes": null
    },
    {
      "id": "226363",
      "postDate": "10/02/2017 02:29:08",
      "content": "<p>The training data set is generated using people whose expiration falls in Feb. 2017. It is marked because the user actively cancelled subscription on Feb 25th. And there is no renew transaction 30 days after Feb,25th.</p>\n\n<p>1, 2016-02-25, 2016-02-25, 1</p>\n\n<p>The test set is generated using people whose expiration falls in March. This is a hint that you can use historical data to make a prediction model. Of course you can build a better training set as we provided 2-year worth of transaction history. The expiration date \"window\" for training set and testing set is 1 Month.</p>",
      "rawMarkdown": "The training data set is generated using people whose expiration falls in Feb. 2017. It is marked because the user actively cancelled subscription on Feb 25th. And there is no renew transaction 30 days after Feb,25th.\n\n1, 2016-02-25, 2016-02-25, 1\n\nThe test set is generated using people whose expiration falls in March. This is a hint that you can use historical data to make a prediction model. Of course you can build a better training set as we provided 2-year worth of transaction history. The expiration date \"window\" for training set and testing set is 1 Month.",
      "votes": null
    },
    {
      "id": "226440",
      "postDate": "10/02/2017 09:52:51",
      "content": "<p>According to the problem description, \"The criteria of 'churn' is no new valid service subscription within 30 days after the current membership expires\"</p>\n\n<p>The important word here is \"current\". This means that even if there is one subscription expires, if the user had a second subscription that would last longer, that is the one that stands. Isn't that correct?</p>\n\n<p>User ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=, current subscription expires in 2016-03-25</p>\n\n<p>User ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=, current subscription expires in 2017-03-21</p>\n\n<p>Like these two, there are thousands of similar cases. </p>",
      "rawMarkdown": "According to the problem description, \"The criteria of 'churn' is no new valid service subscription within 30 days after the current membership expires\"\n\nThe important word here is \"current\". This means that even if there is one subscription expires, if the user had a second subscription that would last longer, that is the one that stands. Isn't that correct?\n\nUser ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=, current subscription expires in 2016-03-25\n\nUser ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=, current subscription expires in 2017-03-21\n\nLike these two, there are thousands of similar cases.",
      "votes": null
    },
    {
      "id": "226510",
      "postDate": "10/02/2017 14:42:15",
      "content": "<p>So far, in the examples above, one could somehow explain them with some not very convincing arguments. For example, applying blindly the rule where a subscription ending in February without a new subscription in the 30 days following the expiry date implies a churn (ignoring, of course, that there could be a subscription made before that expire date that would only end in March). However, I found some examples where I don't see how it can be reasoned that the user is a churn at all.</p>\n\n<p>User: +ryV6UjrYCbiXwwkwpm7H/420sMQT1EVI/gf2wL/B2o=</p>\n\n<p>is_churn=1 (as in the training data)</p>\n\n<ul>\n<li>is_auto_renew     transaction_date    membership_expire_date  is_cancel </li>\n<li>1     2017-02-15  2017-03-14  0 </li>\n<li>1     2017-01-15  2017-02-14  0 </li>\n<li>1     2016-12-15  2017-01-14  0 </li>\n</ul>\n\n<p>I reckon there are around 172 users in these circumstances, although I haven't checked them one by one.</p>",
      "rawMarkdown": "So far, in the examples above, one could somehow explain them with some not very convincing arguments. For example, applying blindly the rule where a subscription ending in February without a new subscription in the 30 days following the expiry date implies a churn (ignoring, of course, that there could be a subscription made before that expire date that would only end in March). However, I found some examples where I don't see how it can be reasoned that the user is a churn at all.\n\nUser: +ryV6UjrYCbiXwwkwpm7H/420sMQT1EVI/gf2wL/B2o=\n\nis_churn=1 (as in the training data)\n\n- is_auto_renew \ttransaction_date \tmembership_expire_date \tis_cancel \n- 1 \t2017-02-15 \t2017-03-14 \t0 \n- 1 \t2017-01-15 \t2017-02-14 \t0 \n- 1 \t2016-12-15 \t2017-01-14 \t0 \n\nI reckon there are around 172 users in these circumstances, although I haven't checked them one by one.",
      "votes": null
    },
    {
      "id": "226998",
      "postDate": "10/03/2017 14:16:03",
      "content": "<p>I guess that in March, that user cancelled his renewal on  1 2017-02-15 2017-03-14 0. We don't have data in March so even to reproduce the training data is hard. I don't know why the organizers keep the set of rules for labelling churn/not churn and ignoring prediction out of scope as secret. </p>",
      "rawMarkdown": "I guess that in March, that user cancelled his renewal on  1 2017-02-15 2017-03-14 0. We don't have data in March so even to reproduce the training data is hard. I don't know why the organizers keep the set of rules for labelling churn/not churn and ignoring prediction out of scope as secret.",
      "votes": null
    },
    {
      "id": "228330",
      "postDate": "10/06/2017 12:55:07",
      "content": "<p>Hi,\nI haven't checked it for this particular msno. But as we can see there are many 'msno' which are in train as well as in test set. So in this case take Expiration data till Feb, 2017 to train. But if this case is in test set also include row having Expiration date of March as well to predict.\nBut again these are just my opinion.</p>",
      "rawMarkdown": "Hi,\nI haven't checked it for this particular msno. But as we can see there are many 'msno' which are in train as well as in test set. So in this case take Expiration data till Feb, 2017 to train. But if this case is in test set also include row having Expiration date of March as well to predict.\nBut again these are just my opinion.",
      "votes": null
    },
    {
      "id": "230282",
      "postDate": "10/11/2017 16:50:49",
      "content": "",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 226086,
      "author_name": "jnlaia",
      "author_url": "",
      "post_date": "10/01/2017 00:40:45",
      "content": "<p>Here is an example that doesn't have an ambiguity in the order of the transactions.</p>\n\n<p>User: ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=</p>\n\n<ul>\n<li>is_auto_renew,    transaction_date,   membership_expire_date,     is_cancel</li>\n<li>0,    2017-02-16,     2017-03-21,     0</li>\n<li>0,    2017-01-20,     2017-02-19, 0</li>\n<li>0,    2016-12-15,     2017-01-14,     0</li>\n</ul>",
      "votes": null,
      "replies": [
        {
          "id": 226202,
          "author_name": "pepeeee",
          "author_url": "",
          "post_date": "10/01/2017 12:35:28",
          "content": "<p>I would expect this member to be marked as not churn in the training sample because the membership that expired in February 2017 wasn't the last one. </p>\n\n<p>And in the test sample he might possibly be marked as is churn in case there isn't a new transaction within 30 days after the 2017-03-21. </p>\n\n<p>Nonetheless this member is already marked as is churn in the training sample.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 226200,
      "author_name": "pepeeee",
      "author_url": "",
      "post_date": "10/01/2017 12:28:17",
      "content": "<p>I would really appreciate some clarification here aswell. I'm wrecking my head about this for quite some time now.</p>\n\n<p>Is the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0= marked as churn because he didn't make a new subscription within 30 days after the 2016-03-25? In such a case there wouldn't be anything to predict. </p>\n\n<p>So I guess it's because he didn't make a new subscription within 30 days after the 2017-03-16 (or 2017-02-15?). This doesn't make too much sense to me aswell, his active membership ended many months before these dates. This does also make me wonder why this member is part of the training sample in the first place.</p>",
      "votes": null,
      "replies": [
        {
          "id": 226363,
          "author_name": "ardenkkbox",
          "author_url": "",
          "post_date": "10/02/2017 02:29:08",
          "content": "<p>The training data set is generated using people whose expiration falls in Feb. 2017. It is marked because the user actively cancelled subscription on Feb 25th. And there is no renew transaction 30 days after Feb,25th.</p>\n\n<p>1, 2016-02-25, 2016-02-25, 1</p>\n\n<p>The test set is generated using people whose expiration falls in March. This is a hint that you can use historical data to make a prediction model. Of course you can build a better training set as we provided 2-year worth of transaction history. The expiration date \"window\" for training set and testing set is 1 Month.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 226440,
          "author_name": "jnlaia",
          "author_url": "",
          "post_date": "10/02/2017 09:52:51",
          "content": "<p>According to the problem description, \"The criteria of 'churn' is no new valid service subscription within 30 days after the current membership expires\"</p>\n\n<p>The important word here is \"current\". This means that even if there is one subscription expires, if the user had a second subscription that would last longer, that is the one that stands. Isn't that correct?</p>\n\n<p>User ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=, current subscription expires in 2016-03-25</p>\n\n<p>User ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=, current subscription expires in 2017-03-21</p>\n\n<p>Like these two, there are thousands of similar cases. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 228330,
          "author_name": "rohankaggler",
          "author_url": "",
          "post_date": "10/06/2017 12:55:07",
          "content": "<p>Hi,\nI haven't checked it for this particular msno. But as we can see there are many 'msno' which are in train as well as in test set. So in this case take Expiration data till Feb, 2017 to train. But if this case is in test set also include row having Expiration date of March as well to predict.\nBut again these are just my opinion.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 226510,
      "author_name": "jnlaia",
      "author_url": "",
      "post_date": "10/02/2017 14:42:15",
      "content": "<p>So far, in the examples above, one could somehow explain them with some not very convincing arguments. For example, applying blindly the rule where a subscription ending in February without a new subscription in the 30 days following the expiry date implies a churn (ignoring, of course, that there could be a subscription made before that expire date that would only end in March). However, I found some examples where I don't see how it can be reasoned that the user is a churn at all.</p>\n\n<p>User: +ryV6UjrYCbiXwwkwpm7H/420sMQT1EVI/gf2wL/B2o=</p>\n\n<p>is_churn=1 (as in the training data)</p>\n\n<ul>\n<li>is_auto_renew     transaction_date    membership_expire_date  is_cancel </li>\n<li>1     2017-02-15  2017-03-14  0 </li>\n<li>1     2017-01-15  2017-02-14  0 </li>\n<li>1     2016-12-15  2017-01-14  0 </li>\n</ul>\n\n<p>I reckon there are around 172 users in these circumstances, although I haven't checked them one by one.</p>",
      "votes": null,
      "replies": [
        {
          "id": 226998,
          "author_name": "lamthuy",
          "author_url": "",
          "post_date": "10/03/2017 14:16:03",
          "content": "<p>I guess that in March, that user cancelled his renewal on  1 2017-02-15 2017-03-14 0. We don't have data in March so even to reproduce the training data is hard. I don't know why the organizers keep the set of rules for labelling churn/not churn and ignoring prediction out of scope as secret. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 230282,
          "author_name": "gaet53x11",
          "author_url": "",
          "post_date": "10/11/2017 16:50:49",
          "content": "",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "226082": "I am having some issues understanding the definition of churn. Sometimes it seems that the train labels do not agree with what is observed in the transactions table.\n\nFor example, let's take a look at the last transactions of the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=\n\n- is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel\n- 0,  2016-02-25,  2016-03-25,  0\n- 1,  2016-02-25,  2016-02-25,  1\n- 1,  2016-02-15,  2017-03-16,  0\n- 1,  2016-01-15,  2017-02-15,  0\n\nAs I see it: this user was on a monthly, automatically renewed subscription. In 2016-02-25 he canceled the subscription and created a new one, expiring in 2016-03-25, which is not renewed automatically.\n\nIn the train data, this users is marked as a churn user.\n\n\nAlso, let me add that I find this transactions table ambiguous. There are transactions with the same date for a given user, and therefore it is impossible to say which one was first. Can it be the case that this user is being marked as churn because it is being assumed that his last transaction was\n\n- is_auto_renew,  transaction_date,  membership_expire_date,  is_cancel\n- 1,  2016-02-25,  2016-02-25,  1\n\nwhich would mean that his membership expired in February, and no further subscription was made in the following 30 days?\n\nThanks in advance",
    "226086": "Here is an example that doesn't have an ambiguity in the order of the transactions.\n\nUser: ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=\n\n- is_auto_renew, \ttransaction_date, \tmembership_expire_date, \tis_cancel\n- 0, \t2017-02-16, \t2017-03-21, \t0\n- 0, \t2017-01-20, \t2017-02-19,\t0\n- 0, \t2016-12-15, \t2017-01-14, \t0",
    "226200": "I would really appreciate some clarification here aswell. I'm wrecking my head about this for quite some time now.\n\nIs the member ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0= marked as churn because he didn't make a new subscription within 30 days after the 2016-03-25? In such a case there wouldn't be anything to predict. \n\nSo I guess it's because he didn't make a new subscription within 30 days after the 2017-03-16 (or 2017-02-15?). This doesn't make too much sense to me aswell, his active membership ended many months before these dates. This does also make me wonder why this member is part of the training sample in the first place.",
    "226202": "I would expect this member to be marked as not churn in the training sample because the membership that expired in February 2017 wasn't the last one. \n\nAnd in the test sample he might possibly be marked as is churn in case there isn't a new transaction within 30 days after the 2017-03-21. \n\nNonetheless this member is already marked as is churn in the training sample.",
    "226363": "The training data set is generated using people whose expiration falls in Feb. 2017. It is marked because the user actively cancelled subscription on Feb 25th. And there is no renew transaction 30 days after Feb,25th.\n\n1, 2016-02-25, 2016-02-25, 1\n\nThe test set is generated using people whose expiration falls in March. This is a hint that you can use historical data to make a prediction model. Of course you can build a better training set as we provided 2-year worth of transaction history. The expiration date \"window\" for training set and testing set is 1 Month.",
    "226440": "According to the problem description, \"The criteria of 'churn' is no new valid service subscription within 30 days after the current membership expires\"\n\nThe important word here is \"current\". This means that even if there is one subscription expires, if the user had a second subscription that would last longer, that is the one that stands. Isn't that correct?\n\nUser ++FPL1dXZBXC3Cf6gE0HQiIHg1Pd+DBdK7w52xcUmX0=, current subscription expires in 2016-03-25\n\nUser ++ViQ2i7L4hzLdBQ233Z8p4AxK9Vr38lSqZS09d2M84=, current subscription expires in 2017-03-21\n\nLike these two, there are thousands of similar cases.",
    "226510": "So far, in the examples above, one could somehow explain them with some not very convincing arguments. For example, applying blindly the rule where a subscription ending in February without a new subscription in the 30 days following the expiry date implies a churn (ignoring, of course, that there could be a subscription made before that expire date that would only end in March). However, I found some examples where I don't see how it can be reasoned that the user is a churn at all.\n\nUser: +ryV6UjrYCbiXwwkwpm7H/420sMQT1EVI/gf2wL/B2o=\n\nis_churn=1 (as in the training data)\n\n- is_auto_renew \ttransaction_date \tmembership_expire_date \tis_cancel \n- 1 \t2017-02-15 \t2017-03-14 \t0 \n- 1 \t2017-01-15 \t2017-02-14 \t0 \n- 1 \t2016-12-15 \t2017-01-14 \t0 \n\nI reckon there are around 172 users in these circumstances, although I haven't checked them one by one.",
    "226998": "I guess that in March, that user cancelled his renewal on  1 2017-02-15 2017-03-14 0. We don't have data in March so even to reproduce the training data is hard. I don't know why the organizers keep the set of rules for labelling churn/not churn and ignoring prediction out of scope as secret.",
    "228330": "Hi,\nI haven't checked it for this particular msno. But as we can see there are many 'msno' which are in train as well as in test set. So in this case take Expiration data till Feb, 2017 to train. But if this case is in test set also include row having Expiration date of March as well to predict.\nBut again these are just my opinion.",
    "230282": ""
  },
  "source": "meta"
}