{
  "id": 73049,
  "title": "Customer loyalty score",
  "url": "/competitions/elo-merchant-category-recommendation/discussion/73049",
  "author_name": "",
  "post_date": "2018-11-29T09:08:34.446370Z",
  "votes": 25,
  "comment_count": 13,
  "views": 0,
  "content": "<p>I don't quite understand what the customer loyalty score means. Can anyone tell me what the more popular explanation for this score is and how it will affect it? What does a positive or negative value mean? Thank you first.</p>",
  "messages": [
    {
      "id": "429732",
      "postDate": "11/29/2018 09:08:34",
      "content": "<p>I don't quite understand what the customer loyalty score means. Can anyone tell me what the more popular explanation for this score is and how it will affect it? What does a positive or negative value mean? Thank you first.</p>",
      "rawMarkdown": "I don't quite understand what the customer loyalty score means. Can anyone tell me what the more popular explanation for this score is and how it will affect it? What does a positive or negative value mean? Thank you first.",
      "votes": null
    },
    {
      "id": "429736",
      "postDate": "11/29/2018 09:22:34",
      "content": "<p>It's not obvious from data (at least from me yet), but I would think about it as about the \"chance\" that costomer will use the same merchants in next 2 months. The higher the score the bigger the chance. Maybe the value is connected with the amount of money which costomer will spend, it would explain both positive and negative values? Half of the values is between -0.88 and 0.76, not sure yet how many outliers we have. </p>",
      "rawMarkdown": "It's not obvious from data (at least from me yet), but I would think about it as about the \"chance\" that costomer will use the same merchants in next 2 months. The higher the score the bigger the chance. Maybe the value is connected with the amount of money which costomer will spend, it would explain both positive and negative values? Half of the values is between -0.88 and 0.76, not sure yet how many outliers we have.",
      "votes": null
    },
    {
      "id": "430079",
      "postDate": "11/29/2018 19:40:05",
      "content": "<p>I add up to this question. Maybe an explanation of how the loyalty score is defined would be ideal. Izabella <a href=\"https://www.kaggle.com/c/elo-merchant-category-recommendation/discussion/73049#429736\">answer</a> sounds about right.</p>",
      "rawMarkdown": "I add up to this question. Maybe an explanation of how the loyalty score is defined would be ideal. Izabella [answer][1] sounds about right.\n\n\n  [1]: https://www.kaggle.com/c/elo-merchant-category-recommendation/discussion/73049#429736",
      "votes": null
    },
    {
      "id": "430163",
      "postDate": "11/29/2018 23:37:33",
      "content": "<p>This isn't explained anywhere that I can find, and that's a big problem. We're being asked to arrive at some cryptic value that seemingly has no min or max defined. That's just... well I don't want to be too strong with words cause I don't want to get in trouble. It makes no sense at all.</p>\n\n<p>With the state of the data, all you can do is feed arbitrary data into random machine learning algorithms, using the predefined scores to guess. That is what everyone is doing that I've looked at so far. Another smell in this competition is the fact that the train file has \"features\" defined, and plus they do no correlate with the scores at all. You can have identical features that produce wildly different \"scores\", even the sign changes.</p>\n\n<p>The problem with defined features is that it means the problem is already solved. Features are the solution. So either A) they are fake and we should ignore them and develop our own features, thrown in to confuse things on purpose, or B) this competition was put together incompetently and all you can do is feed their very bad features and results into existing algorithms and try to get as close as you can.</p>",
      "rawMarkdown": "This isn't explained anywhere that I can find, and that's a big problem. We're being asked to arrive at some cryptic value that seemingly has no min or max defined. That's just... well I don't want to be too strong with words cause I don't want to get in trouble. It makes no sense at all.\n\nWith the state of the data, all you can do is feed arbitrary data into random machine learning algorithms, using the predefined scores to guess. That is what everyone is doing that I've looked at so far. Another smell in this competition is the fact that the train file has \"features\" defined, and plus they do no correlate with the scores at all. You can have identical features that produce wildly different \"scores\", even the sign changes.\n\nThe problem with defined features is that it means the problem is already solved. Features are the solution. So either A) they are fake and we should ignore them and develop our own features, thrown in to confuse things on purpose, or B) this competition was put together incompetently and all you can do is feed their very bad features and results into existing algorithms and try to get as close as you can.",
      "votes": null
    },
    {
      "id": "430164",
      "postDate": "11/29/2018 23:40:30",
      "content": "<p>\"at least from me yet\" - It's not you. The data makes no sense. I can't decide if it's on purpose on not. See my remarks elsewhere for more.</p>",
      "rawMarkdown": "\"at least from me yet\" - It's not you. The data makes no sense. I can't decide if it's on purpose on not. See my remarks elsewhere for more.",
      "votes": null
    },
    {
      "id": "430188",
      "postDate": "11/30/2018 01:38:44",
      "content": "<p>I think like you, if you don't know the meaning of the goal, you just aggregate and combine the features, and then approach this score, which makes me feel like I'm doing a simple mathematical calculation. Instead of making reasonable feature engineering and modeling according to the meaning of the target on the basis of understanding the data. \nIzabella's answer gave me some insight, if  someone could give me a more detailed explanation is better. haha~</p>",
      "rawMarkdown": "I think like you, if you don't know the meaning of the goal, you just aggregate and combine the features, and then approach this score, which makes me feel like I'm doing a simple mathematical calculation. Instead of making reasonable feature engineering and modeling according to the meaning of the target on the basis of understanding the data. \nIzabella's answer gave me some insight, if  someone could give me a more detailed explanation is better. haha~",
      "votes": null
    },
    {
      "id": "430189",
      "postDate": "11/30/2018 01:40:19",
      "content": "<p>Thank you. It helps me a lot. </p>",
      "rawMarkdown": "Thank you. It helps me a lot.",
      "votes": null
    },
    {
      "id": "430223",
      "postDate": "11/30/2018 03:19:18",
      "content": "<p>I also feel the same.. I thought part of feature engineering starts from understanding the data and structuring the data in a logical way.</p>",
      "rawMarkdown": "I also feel the same.. I thought part of feature engineering starts from understanding the data and structuring the data in a logical way.",
      "votes": null
    },
    {
      "id": "430226",
      "postDate": "11/30/2018 03:26:14",
      "content": "<p>I don't feel like the data addresses what the the question says:\nDo these promotions work for either the consumer or the merchant? Do customers enjoy their experience? Do merchants see repeat business? Personalization is key.</p>\n\n<p>But loyalty score seems to suggest that the bank is concerned with churn, ie, retaining the customer and not losing the customer as a cardholder. Maybe that's personalization?</p>",
      "rawMarkdown": "I don't feel like the data addresses what the the question says:\nDo these promotions work for either the consumer or the merchant? Do customers enjoy their experience? Do merchants see repeat business? Personalization is key.\n\nBut loyalty score seems to suggest that the bank is concerned with churn, ie, retaining the customer and not losing the customer as a cardholder. Maybe that's personalization?",
      "votes": null
    },
    {
      "id": "430232",
      "postDate": "11/30/2018 03:35:36",
      "content": "<p>That's exactly it. You engineer features based on your manual interpretation of the data by looking at the goal. That's how you do good prediction. Here, we're given the end result output, without explanation of how the calculation is done, told to match it, and given existing features that make no sense.</p>\n\n<p>I'm going to do what everyone else is doing, but invent a couple of features to add, and submit my first result and move on. This competition is either intentionally cryptic, or poorly defined, or a mix of both.</p>",
      "rawMarkdown": "That's exactly it. You engineer features based on your manual interpretation of the data by looking at the goal. That's how you do good prediction. Here, we're given the end result output, without explanation of how the calculation is done, told to match it, and given existing features that make no sense.\n\nI'm going to do what everyone else is doing, but invent a couple of features to add, and submit my first result and move on. This competition is either intentionally cryptic, or poorly defined, or a mix of both.",
      "votes": null
    },
    {
      "id": "430284",
      "postDate": "11/30/2018 05:44:49",
      "content": "<p>Hi Izabella, Thanks for your input. I am just adding my 2 cents to it. </p>\n\n<p>What ELO has as of now: \nI know my customer as a cluster and have studied their behavior (as groups/clusters) and identified major characteristics ( my guess : Feature 1, 2 and 3 in the training set). As of now, ELO uses that to give recommendations and it works to some extent. The problem is (to my not so brilliant mind) that I am clubbing to many people into the same bucket. For eg. if you earn X, are of the age Y and live in City Z you prefer pasta to sushi( according to ELO algo's)...</p>\n\n<p>What ELO wants us to do ( and has $50,000 to get us all hooked):\nnow i do not want to cluster people but want to give every customer a different, Tailored deal. For eg.  John a special offer that is tailored for John and not for a person with a specific age , city or income level. </p>\n\n<p>What do we have to work with:\nthe 3 features and a bunch of other transactions...and now comes in the mumbo -jumbo of all the variables that would drive me bonkers (and  Jesse Nicholson, guessing from his \"mild\" comments about the data). \nData 1: Target : Loyalty score(much clarity required here, I am not too comfortable here and more explanation would be very welcome ).  the training data has been calculated on a 5 month lag.( with 3 months for history+ evaluation(?) and then another 2 months for New transactions ). Post this based on the present algo (i believe the clustering one, with there 3 features) the score is calculated. The target has been normalized which is fine, i believe, we would have to do it anyway.</p>\n\n<p>Data 2: Other data points: \nHistorical / New transactions: \n i believe, there are three main themes here\n1) user purchase category ( category 1,2,3 - I believe are just referring to Some form of hierarchical categorization such as sub-category, category....akin to the Merchant Categorization...ideally they should match....a seller and buyer category  for the product should be the same. )\n2)User purchase - Date / installments / Amount\n3) Merchant Category ( here the Merchants have a hierarchy - Sub-category , Category and Group(in the Merchant file)</p>\n\n<p>So your mission if you choose to accept it is : Find how the other data impact the known 3 features and then use that to find your loyalty score. For the test ids there is around 60% of data in historical and new transactions, I have not investigated why the other 40% is not there( may be there is not transactions for those dudes???)</p>\n\n<p>the questions that i cannot still get are these , any help would be greatly appreciated?</p>\n\n<p>1) in the History transactions:</p>\n\n<p>a) what is reference date\nb) how does month lag help us </p>\n\n<p>2) For Merchants </p>\n\n<p>a) Since sales and revenue is given what could numerical_1 and numerical_2 be? Even though it is anonymized, any idea on what the veil covers would be a good way forward. </p>\n\n<p>Thank you  and may the force be with you</p>",
      "rawMarkdown": "Hi Izabella, Thanks for your input. I am just adding my 2 cents to it. \n\nWhat ELO has as of now: \nI know my customer as a cluster and have studied their behavior (as groups/clusters) and identified major characteristics ( my guess : Feature 1, 2 and 3 in the training set). As of now, ELO uses that to give recommendations and it works to some extent. The problem is (to my not so brilliant mind) that I am clubbing to many people into the same bucket. For eg. if you earn X, are of the age Y and live in City Z you prefer pasta to sushi( according to ELO algo's)...\n\nWhat ELO wants us to do ( and has $50,000 to get us all hooked):\nnow i do not want to cluster people but want to give every customer a different, Tailored deal. For eg.  John a special offer that is tailored for John and not for a person with a specific age , city or income level. \n\nWhat do we have to work with:\nthe 3 features and a bunch of other transactions...and now comes in the mumbo -jumbo of all the variables that would drive me bonkers (and  Jesse Nicholson, guessing from his \"mild\" comments about the data). \nData 1: Target : Loyalty score(much clarity required here, I am not too comfortable here and more explanation would be very welcome ).  the training data has been calculated on a 5 month lag.( with 3 months for history+ evaluation(?) and then another 2 months for New transactions ). Post this based on the present algo (i believe the clustering one, with there 3 features) the score is calculated. The target has been normalized which is fine, i believe, we would have to do it anyway.\n\nData 2: Other data points: \nHistorical / New transactions: \n i believe, there are three main themes here\n1) user purchase category ( category 1,2,3 - I believe are just referring to Some form of hierarchical categorization such as sub-category, category....akin to the Merchant Categorization...ideally they should match....a seller and buyer category  for the product should be the same. )\n2)User purchase - Date / installments / Amount\n3) Merchant Category ( here the Merchants have a hierarchy - Sub-category , Category and Group(in the Merchant file)\n\nSo your mission if you choose to accept it is : Find how the other data impact the known 3 features and then use that to find your loyalty score. For the test ids there is around 60% of data in historical and new transactions, I have not investigated why the other 40% is not there( may be there is not transactions for those dudes???)\n\nthe questions that i cannot still get are these , any help would be greatly appreciated?\n\n1) in the History transactions:\n\na) what is reference date\nb) how does month lag help us \n\n2) For Merchants \n\na) Since sales and revenue is given what could numerical_1 and numerical_2 be? Even though it is anonymized, any idea on what the veil covers would be a good way forward. \n\nThank you  and may the force be with you",
      "votes": null
    },
    {
      "id": "430666",
      "postDate": "11/30/2018 20:11:27",
      "content": "<p>Thanks Izabella, that's very helpful! \nI was trying to think through how Elo will then use these predicted \"loyalty\" scores.</p>\n\n<p>A possible explanation is -\nFor each merchants offers, Elo will look for \n     - Customers that have visited that merchants store before &amp;\n     - From these, extend offers to the one's that have the highest overall loyalty score.</p>\n\n<p>That should help Elo improve the response rate for each merchants \"offers\"</p>",
      "rawMarkdown": "Thanks Izabella, that's very helpful! \nI was trying to think through how Elo will then use these predicted \"loyalty\" scores.\n\nA possible explanation is -\nFor each merchants offers, Elo will look for \n     - Customers that have visited that merchants store before &amp;\n     - From these, extend offers to the one's that have the highest overall loyalty score.\n\nThat should help Elo improve the response rate for each merchants \"offers\"",
      "votes": null
    },
    {
      "id": "431777",
      "postDate": "12/02/2018 21:58:10",
      "content": "<p>This is what I got out of it:</p>\n\n<p>By uncovering insights based on the customers transactional history, we can predict each customers loyalty using some rating scale (to be fleshed out). The predicted loyalty will in turn determine what kind of promotional offers ELO should present to the customer in order to improve their loyalty to ELO. This to me seems like an intermediary process of trying to predict individual loyalty scores, which will be used by ELO to provide more accurate promos. </p>\n\n<p>Is that kind of the idea?</p>",
      "rawMarkdown": "This is what I got out of it:\n\nBy uncovering insights based on the customers transactional history, we can predict each customers loyalty using some rating scale (to be fleshed out). The predicted loyalty will in turn determine what kind of promotional offers ELO should present to the customer in order to improve their loyalty to ELO. This to me seems like an intermediary process of trying to predict individual loyalty scores, which will be used by ELO to provide more accurate promos. \n\nIs that kind of the idea?",
      "votes": null
    },
    {
      "id": "434134",
      "postDate": "12/06/2018 00:06:38",
      "content": "<p>Hi Kiran\nInteresting fact is that the target has a customer context. It is a composite characteristic of a customer rather than customer+merchant. It means ELO uses single value to predict customer's behavior is respect to any new or old merchant. \nAnother fact: train.csv has cards with non zero target even if they are not in new_transactions file. So that the target is calculated regardless whether the client had new transactions or not. </p>\n\n<p>One more. If i split the train file cards onto ones that have only single transaction per merchant and ones that have at least 5 merchants with more than 10 transactions in the history (extreme case of loyalty from my point of view) the histogram of targets shows similar distributions that are close to normal.  Therefore the target is not really an indication of loyalty as a measure of frequent buyers addicted to certain merchants.</p>",
      "rawMarkdown": "Hi Kiran\nInteresting fact is that the target has a customer context. It is a composite characteristic of a customer rather than customer+merchant. It means ELO uses single value to predict customer's behavior is respect to any new or old merchant. \nAnother fact: train.csv has cards with non zero target even if they are not in new_transactions file. So that the target is calculated regardless whether the client had new transactions or not. \n\nOne more. If i split the train file cards onto ones that have only single transaction per merchant and ones that have at least 5 merchants with more than 10 transactions in the history (extreme case of loyalty from my point of view) the histogram of targets shows similar distributions that are close to normal.  Therefore the target is not really an indication of loyalty as a measure of frequent buyers addicted to certain merchants.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 429736,
      "author_name": "malina015",
      "author_url": "",
      "post_date": "11/29/2018 09:22:34",
      "content": "<p>It's not obvious from data (at least from me yet), but I would think about it as about the \"chance\" that costomer will use the same merchants in next 2 months. The higher the score the bigger the chance. Maybe the value is connected with the amount of money which costomer will spend, it would explain both positive and negative values? Half of the values is between -0.88 and 0.76, not sure yet how many outliers we have. </p>",
      "votes": null,
      "replies": [
        {
          "id": 430164,
          "author_name": "technikempire",
          "author_url": "",
          "post_date": "11/29/2018 23:40:30",
          "content": "<p>\"at least from me yet\" - It's not you. The data makes no sense. I can't decide if it's on purpose on not. See my remarks elsewhere for more.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 430189,
          "author_name": "zslkaggle",
          "author_url": "",
          "post_date": "11/30/2018 01:40:19",
          "content": "<p>Thank you. It helps me a lot. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 430284,
          "author_name": "gurinderdev",
          "author_url": "",
          "post_date": "11/30/2018 05:44:49",
          "content": "<p>Hi Izabella, Thanks for your input. I am just adding my 2 cents to it. </p>\n\n<p>What ELO has as of now: \nI know my customer as a cluster and have studied their behavior (as groups/clusters) and identified major characteristics ( my guess : Feature 1, 2 and 3 in the training set). As of now, ELO uses that to give recommendations and it works to some extent. The problem is (to my not so brilliant mind) that I am clubbing to many people into the same bucket. For eg. if you earn X, are of the age Y and live in City Z you prefer pasta to sushi( according to ELO algo's)...</p>\n\n<p>What ELO wants us to do ( and has $50,000 to get us all hooked):\nnow i do not want to cluster people but want to give every customer a different, Tailored deal. For eg.  John a special offer that is tailored for John and not for a person with a specific age , city or income level. </p>\n\n<p>What do we have to work with:\nthe 3 features and a bunch of other transactions...and now comes in the mumbo -jumbo of all the variables that would drive me bonkers (and  Jesse Nicholson, guessing from his \"mild\" comments about the data). \nData 1: Target : Loyalty score(much clarity required here, I am not too comfortable here and more explanation would be very welcome ).  the training data has been calculated on a 5 month lag.( with 3 months for history+ evaluation(?) and then another 2 months for New transactions ). Post this based on the present algo (i believe the clustering one, with there 3 features) the score is calculated. The target has been normalized which is fine, i believe, we would have to do it anyway.</p>\n\n<p>Data 2: Other data points: \nHistorical / New transactions: \n i believe, there are three main themes here\n1) user purchase category ( category 1,2,3 - I believe are just referring to Some form of hierarchical categorization such as sub-category, category....akin to the Merchant Categorization...ideally they should match....a seller and buyer category  for the product should be the same. )\n2)User purchase - Date / installments / Amount\n3) Merchant Category ( here the Merchants have a hierarchy - Sub-category , Category and Group(in the Merchant file)</p>\n\n<p>So your mission if you choose to accept it is : Find how the other data impact the known 3 features and then use that to find your loyalty score. For the test ids there is around 60% of data in historical and new transactions, I have not investigated why the other 40% is not there( may be there is not transactions for those dudes???)</p>\n\n<p>the questions that i cannot still get are these , any help would be greatly appreciated?</p>\n\n<p>1) in the History transactions:</p>\n\n<p>a) what is reference date\nb) how does month lag help us </p>\n\n<p>2) For Merchants </p>\n\n<p>a) Since sales and revenue is given what could numerical_1 and numerical_2 be? Even though it is anonymized, any idea on what the veil covers would be a good way forward. </p>\n\n<p>Thank you  and may the force be with you</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 430666,
          "author_name": "kmundy",
          "author_url": "",
          "post_date": "11/30/2018 20:11:27",
          "content": "<p>Thanks Izabella, that's very helpful! \nI was trying to think through how Elo will then use these predicted \"loyalty\" scores.</p>\n\n<p>A possible explanation is -\nFor each merchants offers, Elo will look for \n     - Customers that have visited that merchants store before &amp;\n     - From these, extend offers to the one's that have the highest overall loyalty score.</p>\n\n<p>That should help Elo improve the response rate for each merchants \"offers\"</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 434134,
          "author_name": "kmedvedev",
          "author_url": "",
          "post_date": "12/06/2018 00:06:38",
          "content": "<p>Hi Kiran\nInteresting fact is that the target has a customer context. It is a composite characteristic of a customer rather than customer+merchant. It means ELO uses single value to predict customer's behavior is respect to any new or old merchant. \nAnother fact: train.csv has cards with non zero target even if they are not in new_transactions file. So that the target is calculated regardless whether the client had new transactions or not. </p>\n\n<p>One more. If i split the train file cards onto ones that have only single transaction per merchant and ones that have at least 5 merchants with more than 10 transactions in the history (extreme case of loyalty from my point of view) the histogram of targets shows similar distributions that are close to normal.  Therefore the target is not really an indication of loyalty as a measure of frequent buyers addicted to certain merchants.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 430079,
      "author_name": "floricar",
      "author_url": "",
      "post_date": "11/29/2018 19:40:05",
      "content": "<p>I add up to this question. Maybe an explanation of how the loyalty score is defined would be ideal. Izabella <a href=\"https://www.kaggle.com/c/elo-merchant-category-recommendation/discussion/73049#429736\">answer</a> sounds about right.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 430163,
      "author_name": "technikempire",
      "author_url": "",
      "post_date": "11/29/2018 23:37:33",
      "content": "<p>This isn't explained anywhere that I can find, and that's a big problem. We're being asked to arrive at some cryptic value that seemingly has no min or max defined. That's just... well I don't want to be too strong with words cause I don't want to get in trouble. It makes no sense at all.</p>\n\n<p>With the state of the data, all you can do is feed arbitrary data into random machine learning algorithms, using the predefined scores to guess. That is what everyone is doing that I've looked at so far. Another smell in this competition is the fact that the train file has \"features\" defined, and plus they do no correlate with the scores at all. You can have identical features that produce wildly different \"scores\", even the sign changes.</p>\n\n<p>The problem with defined features is that it means the problem is already solved. Features are the solution. So either A) they are fake and we should ignore them and develop our own features, thrown in to confuse things on purpose, or B) this competition was put together incompetently and all you can do is feed their very bad features and results into existing algorithms and try to get as close as you can.</p>",
      "votes": null,
      "replies": [
        {
          "id": 430188,
          "author_name": "zslkaggle",
          "author_url": "",
          "post_date": "11/30/2018 01:38:44",
          "content": "<p>I think like you, if you don't know the meaning of the goal, you just aggregate and combine the features, and then approach this score, which makes me feel like I'm doing a simple mathematical calculation. Instead of making reasonable feature engineering and modeling according to the meaning of the target on the basis of understanding the data. \nIzabella's answer gave me some insight, if  someone could give me a more detailed explanation is better. haha~</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 430223,
          "author_name": "xlguy1",
          "author_url": "",
          "post_date": "11/30/2018 03:19:18",
          "content": "<p>I also feel the same.. I thought part of feature engineering starts from understanding the data and structuring the data in a logical way.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 430232,
          "author_name": "technikempire",
          "author_url": "",
          "post_date": "11/30/2018 03:35:36",
          "content": "<p>That's exactly it. You engineer features based on your manual interpretation of the data by looking at the goal. That's how you do good prediction. Here, we're given the end result output, without explanation of how the calculation is done, told to match it, and given existing features that make no sense.</p>\n\n<p>I'm going to do what everyone else is doing, but invent a couple of features to add, and submit my first result and move on. This competition is either intentionally cryptic, or poorly defined, or a mix of both.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 430226,
      "author_name": "xlguy1",
      "author_url": "",
      "post_date": "11/30/2018 03:26:14",
      "content": "<p>I don't feel like the data addresses what the the question says:\nDo these promotions work for either the consumer or the merchant? Do customers enjoy their experience? Do merchants see repeat business? Personalization is key.</p>\n\n<p>But loyalty score seems to suggest that the bank is concerned with churn, ie, retaining the customer and not losing the customer as a cardholder. Maybe that's personalization?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 431777,
      "author_name": "shushie",
      "author_url": "",
      "post_date": "12/02/2018 21:58:10",
      "content": "<p>This is what I got out of it:</p>\n\n<p>By uncovering insights based on the customers transactional history, we can predict each customers loyalty using some rating scale (to be fleshed out). The predicted loyalty will in turn determine what kind of promotional offers ELO should present to the customer in order to improve their loyalty to ELO. This to me seems like an intermediary process of trying to predict individual loyalty scores, which will be used by ELO to provide more accurate promos. </p>\n\n<p>Is that kind of the idea?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "429732": "I don't quite understand what the customer loyalty score means. Can anyone tell me what the more popular explanation for this score is and how it will affect it? What does a positive or negative value mean? Thank you first.",
    "429736": "It's not obvious from data (at least from me yet), but I would think about it as about the \"chance\" that costomer will use the same merchants in next 2 months. The higher the score the bigger the chance. Maybe the value is connected with the amount of money which costomer will spend, it would explain both positive and negative values? Half of the values is between -0.88 and 0.76, not sure yet how many outliers we have.",
    "430079": "I add up to this question. Maybe an explanation of how the loyalty score is defined would be ideal. Izabella [answer][1] sounds about right.\n\n\n  [1]: https://www.kaggle.com/c/elo-merchant-category-recommendation/discussion/73049#429736",
    "430163": "This isn't explained anywhere that I can find, and that's a big problem. We're being asked to arrive at some cryptic value that seemingly has no min or max defined. That's just... well I don't want to be too strong with words cause I don't want to get in trouble. It makes no sense at all.\n\nWith the state of the data, all you can do is feed arbitrary data into random machine learning algorithms, using the predefined scores to guess. That is what everyone is doing that I've looked at so far. Another smell in this competition is the fact that the train file has \"features\" defined, and plus they do no correlate with the scores at all. You can have identical features that produce wildly different \"scores\", even the sign changes.\n\nThe problem with defined features is that it means the problem is already solved. Features are the solution. So either A) they are fake and we should ignore them and develop our own features, thrown in to confuse things on purpose, or B) this competition was put together incompetently and all you can do is feed their very bad features and results into existing algorithms and try to get as close as you can.",
    "430164": "\"at least from me yet\" - It's not you. The data makes no sense. I can't decide if it's on purpose on not. See my remarks elsewhere for more.",
    "430188": "I think like you, if you don't know the meaning of the goal, you just aggregate and combine the features, and then approach this score, which makes me feel like I'm doing a simple mathematical calculation. Instead of making reasonable feature engineering and modeling according to the meaning of the target on the basis of understanding the data. \nIzabella's answer gave me some insight, if  someone could give me a more detailed explanation is better. haha~",
    "430189": "Thank you. It helps me a lot.",
    "430223": "I also feel the same.. I thought part of feature engineering starts from understanding the data and structuring the data in a logical way.",
    "430226": "I don't feel like the data addresses what the the question says:\nDo these promotions work for either the consumer or the merchant? Do customers enjoy their experience? Do merchants see repeat business? Personalization is key.\n\nBut loyalty score seems to suggest that the bank is concerned with churn, ie, retaining the customer and not losing the customer as a cardholder. Maybe that's personalization?",
    "430232": "That's exactly it. You engineer features based on your manual interpretation of the data by looking at the goal. That's how you do good prediction. Here, we're given the end result output, without explanation of how the calculation is done, told to match it, and given existing features that make no sense.\n\nI'm going to do what everyone else is doing, but invent a couple of features to add, and submit my first result and move on. This competition is either intentionally cryptic, or poorly defined, or a mix of both.",
    "430284": "Hi Izabella, Thanks for your input. I am just adding my 2 cents to it. \n\nWhat ELO has as of now: \nI know my customer as a cluster and have studied their behavior (as groups/clusters) and identified major characteristics ( my guess : Feature 1, 2 and 3 in the training set). As of now, ELO uses that to give recommendations and it works to some extent. The problem is (to my not so brilliant mind) that I am clubbing to many people into the same bucket. For eg. if you earn X, are of the age Y and live in City Z you prefer pasta to sushi( according to ELO algo's)...\n\nWhat ELO wants us to do ( and has $50,000 to get us all hooked):\nnow i do not want to cluster people but want to give every customer a different, Tailored deal. For eg.  John a special offer that is tailored for John and not for a person with a specific age , city or income level. \n\nWhat do we have to work with:\nthe 3 features and a bunch of other transactions...and now comes in the mumbo -jumbo of all the variables that would drive me bonkers (and  Jesse Nicholson, guessing from his \"mild\" comments about the data). \nData 1: Target : Loyalty score(much clarity required here, I am not too comfortable here and more explanation would be very welcome ).  the training data has been calculated on a 5 month lag.( with 3 months for history+ evaluation(?) and then another 2 months for New transactions ). Post this based on the present algo (i believe the clustering one, with there 3 features) the score is calculated. The target has been normalized which is fine, i believe, we would have to do it anyway.\n\nData 2: Other data points: \nHistorical / New transactions: \n i believe, there are three main themes here\n1) user purchase category ( category 1,2,3 - I believe are just referring to Some form of hierarchical categorization such as sub-category, category....akin to the Merchant Categorization...ideally they should match....a seller and buyer category  for the product should be the same. )\n2)User purchase - Date / installments / Amount\n3) Merchant Category ( here the Merchants have a hierarchy - Sub-category , Category and Group(in the Merchant file)\n\nSo your mission if you choose to accept it is : Find how the other data impact the known 3 features and then use that to find your loyalty score. For the test ids there is around 60% of data in historical and new transactions, I have not investigated why the other 40% is not there( may be there is not transactions for those dudes???)\n\nthe questions that i cannot still get are these , any help would be greatly appreciated?\n\n1) in the History transactions:\n\na) what is reference date\nb) how does month lag help us \n\n2) For Merchants \n\na) Since sales and revenue is given what could numerical_1 and numerical_2 be? Even though it is anonymized, any idea on what the veil covers would be a good way forward. \n\nThank you  and may the force be with you",
    "430666": "Thanks Izabella, that's very helpful! \nI was trying to think through how Elo will then use these predicted \"loyalty\" scores.\n\nA possible explanation is -\nFor each merchants offers, Elo will look for \n     - Customers that have visited that merchants store before &amp;\n     - From these, extend offers to the one's that have the highest overall loyalty score.\n\nThat should help Elo improve the response rate for each merchants \"offers\"",
    "431777": "This is what I got out of it:\n\nBy uncovering insights based on the customers transactional history, we can predict each customers loyalty using some rating scale (to be fleshed out). The predicted loyalty will in turn determine what kind of promotional offers ELO should present to the customer in order to improve their loyalty to ELO. This to me seems like an intermediary process of trying to predict individual loyalty scores, which will be used by ELO to provide more accurate promos. \n\nIs that kind of the idea?",
    "434134": "Hi Kiran\nInteresting fact is that the target has a customer context. It is a composite characteristic of a customer rather than customer+merchant. It means ELO uses single value to predict customer's behavior is respect to any new or old merchant. \nAnother fact: train.csv has cards with non zero target even if they are not in new_transactions file. So that the target is calculated regardless whether the client had new transactions or not. \n\nOne more. If i split the train file cards onto ones that have only single transaction per merchant and ones that have at least 5 merchants with more than 10 transactions in the history (extreme case of loyalty from my point of view) the histogram of targets shows similar distributions that are close to normal.  Therefore the target is not really an indication of loyalty as a measure of frequent buyers addicted to certain merchants."
  },
  "source": "meta"
}