{
  "id": 76553,
  "title": "CLV - Customer Lifetime Value",
  "url": "/competitions/elo-merchant-category-recommendation/discussion/76553",
  "author_name": "Bryan Arnold",
  "post_date": "2019-01-04T04:24:31.011000",
  "votes": 33,
  "comment_count": 18,
  "views": 0,
  "content": "<p>In many CLV models there are two components: customer engagement and customer loyalty. That is,\n$$\nCLV = CE \\cdot CL\n$$\nI think it is a fair assumption that in the Elo challenge, the customer loyalty is a similar quantity to the customer loyalty (CL) in a CLV model. Now there is no one-size-fits-all solution to CLV modeling. However, there are some standard models which work well (with different prior distributions) in different real-world settings. A few are:</p>\n\n<ul>\n<li>Pareto/NBD,</li>\n<li>BG/NBD,</li>\n<li>GG/NBD,</li>\n<li>Pareto/GGG,</li>\n<li>BG/BB,</li>\n<li>EG,</li>\n<li>sBG,</li>\n</ul>\n\n<p>and many more (all of a similar spirit). </p>\n\n<p>I have yet to try any of these models for actual modeling or feature engineering, but am planning to do so soon. Has anyone tried any techniques along this line? </p>",
  "messages": [
    {
      "id": 449986,
      "postDate": "2019-01-04T04:24:31.013Z",
      "content": "<p>In many CLV models there are two components: customer engagement and customer loyalty. That is,\n$$\nCLV = CE \\cdot CL\n$$\nI think it is a fair assumption that in the Elo challenge, the customer loyalty is a similar quantity to the customer loyalty (CL) in a CLV model. Now there is no one-size-fits-all solution to CLV modeling. However, there are some standard models which work well (with different prior distributions) in different real-world settings. A few are:</p>\n\n<ul>\n<li>Pareto/NBD,</li>\n<li>BG/NBD,</li>\n<li>GG/NBD,</li>\n<li>Pareto/GGG,</li>\n<li>BG/BB,</li>\n<li>EG,</li>\n<li>sBG,</li>\n</ul>\n\n<p>and many more (all of a similar spirit). </p>\n\n<p>I have yet to try any of these models for actual modeling or feature engineering, but am planning to do so soon. Has anyone tried any techniques along this line? </p>",
      "rawMarkdown": "In many CLV models there are two components: customer engagement and customer loyalty. That is,\n$$\nCLV = CE \\cdot CL\n$$\nI think it is a fair assumption that in the Elo challenge, the customer loyalty is a similar quantity to the customer loyalty (CL) in a CLV model. Now there is no one-size-fits-all solution to CLV modeling. However, there are some standard models which work well (with different prior distributions) in different real-world settings. A few are:\n\n * Pareto/NBD,\n * BG/NBD,\n * GG/NBD,\n * Pareto/GGG,\n * BG/BB,\n * EG,\n * sBG,\n\nand many more (all of a similar spirit). \n\nI have yet to try any of these models for actual modeling or feature engineering, but am planning to do so soon. Has anyone tried any techniques along this line? ",
      "votes": 33
    },
    {
      "id": 450034,
      "postDate": "2019-01-04T07:23:16.997Z",
      "content": "<p>I don't have domain knowledge of this field, but I did look up for some model used in the industry that model repurchase rate - this seems to be one concept that is linked to customer loyalty.</p>\n\n<p>anyway, this is the one that I have used in my model: <a href=\"https://www.mergelane.com/post/repurchase-rate-the-mrr-of-non-saas-startups\">https://www.mergelane.com/post/repurchase-rate-the-mrr-of-non-saas-startups</a></p>\n\n<p>There are actually two formulas, both of which I have used, it generates features ranked quite high in my feature importance - but overall CV/LB doesn't improve, I am still working on ways to integrate them into my models</p>",
      "rawMarkdown": "I don't have domain knowledge of this field, but I did look up for some model used in the industry that model repurchase rate - this seems to be one concept that is linked to customer loyalty.\n\nanyway, this is the one that I have used in my model: https://www.mergelane.com/post/repurchase-rate-the-mrr-of-non-saas-startups\n\nThere are actually two formulas, both of which I have used, it generates features ranked quite high in my feature importance - but overall CV/LB doesn't improve, I am still working on ways to integrate them into my models",
      "votes": 11,
      "replies": [
        {
          "id": 450053,
          "postDate": "2019-01-04T08:08:08.370Z",
          "content": "<p>But there are a lot of  Merchants.  Are you thinking about calculating this metric for each Merchant?</p>",
          "rawMarkdown": "But there are a lot of  Merchants.  Are you thinking about calculating this metric for each Merchant?",
          "isDeleted": true
        },
        {
          "id": 450224,
          "postDate": "2019-01-04T14:16:45.883Z",
          "content": "<p>yes, that is what I did, you need to construct a pretty big sparse matrix, and it took sometime to create and then perform the calculation  </p>",
          "rawMarkdown": "yes, that is what I did, you need to construct a pretty big sparse matrix, and it took sometime to create and then perform the calculation  ",
          "votes": 2
        },
        {
          "id": 450364,
          "postDate": "2019-01-04T19:22:29.720Z",
          "content": "<p>Super interesting, thanks for the information</p>",
          "rawMarkdown": "Super interesting, thanks for the information"
        },
        {
          "id": 453147,
          "postDate": "2019-01-09T18:31:38.570Z",
          "content": "<p>Here,  I think that avg_sales_X and avg_purchses_lagX are important for calating Repurchase Rate. It's easier than appears . We will sonn see the results...</p>",
          "rawMarkdown": "Here,  I think that avg_sales_X and avg_purchses_lagX are important for calating Repurchase Rate. It's easier than appears . We will sonn see the results...",
          "votes": 1,
          "isDeleted": true
        },
        {
          "id": 453296,
          "postDate": "2019-01-10T01:29:02.333Z",
          "content": "<p>What is <code>X</code> implies?</p>",
          "rawMarkdown": "What is `X` implies?"
        },
        {
          "id": 453540,
          "postDate": "2019-01-10T10:44:22.087Z",
          "content": "<p>Merchants.csv has:\navg_sales_lag3-&gt; last 3 month\navg_purchases_lag3-&gt; last 3 month\nactive_months_lag3-&gt; last 3 month\navg_sales_lag6-&gt; last 6 month\navg_purchases_lag6-&gt; last 6 month\nactive_months_lag6-&gt; last 6 month\navg_sales_lag12-&gt; last 12 month\navg_purchases_lag12-&gt; last 12 month\nactive_months_lag12-&gt; last 12 month\nI want to calculate monthly average of revenue and transaction for every card_id in last 3,6 and 12 month  and I want to get the 3 different Repurchase Rate.</p>",
          "rawMarkdown": "Merchants.csv has:\navg_sales_lag3-&gt; last 3 month\navg_purchases_lag3-&gt; last 3 month\nactive_months_lag3-&gt; last 3 month\navg_sales_lag6-&gt; last 6 month\navg_purchases_lag6-&gt; last 6 month\nactive_months_lag6-&gt; last 6 month\navg_sales_lag12-&gt; last 12 month\navg_purchases_lag12-&gt; last 12 month\nactive_months_lag12-&gt; last 12 month\nI want to calculate monthly average of revenue and transaction for every card_id in last 3,6 and 12 month  and I want to get the 3 different Repurchase Rate.\n",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 450117,
      "postDate": "2019-01-04T10:31:11.213Z",
      "content": "<p>a great article\n<a href=\"https://www.datascience.com/blog/intro-to-predictive-modeling-for-customer-lifetime-value\">https://www.datascience.com/blog/intro-to-predictive-modeling-for-customer-lifetime-value</a></p>",
      "rawMarkdown": "a great article\nhttps://www.datascience.com/blog/intro-to-predictive-modeling-for-customer-lifetime-value",
      "votes": 7,
      "replies": [
        {
          "id": 450309,
          "postDate": "2019-01-04T16:57:38.647Z",
          "content": "<p>Great article! The \"lifetime\" part of the model (exponential distribution with parameter mu) would be the \"loyalty\" part of the model I mentioned above.</p>\n\n<p>Some things to consider --adjusting for: \n * multiple products,\n * multiple merchants,\n* using a different model that is more appropriate than P/NBD for a contractual setting.</p>",
          "rawMarkdown": "Great article! The \"lifetime\" part of the model (exponential distribution with parameter mu) would be the \"loyalty\" part of the model I mentioned above.\n\nSome things to consider --adjusting for: \n * multiple products,\n * multiple merchants,\n* using a different model that is more appropriate than P/NBD for a contractual setting.",
          "votes": 1,
          "replies": [
            {
              "id": 2544796,
              "postDate": "2023-12-01T05:02:45.497Z",
              "content": "<p>The CLV (Pareto/NBD) model is a fundamental probabilistic model for customer lifetime value (CLV). It accounts for multiple products and might also consider the merchants. <br>\n We should also consider other models for this NBD model. <br>\nIt is very interesting to see the way you made a correlation between the lifetime value and loyalty.</p>",
              "rawMarkdown": "The CLV (Pareto/NBD) model is a fundamental probabilistic model for customer lifetime value (CLV). It accounts for multiple products and might also consider the merchants. \n We should also consider other models for this NBD model. \nIt is very interesting to see the way you made a correlation between the lifetime value and loyalty."
            }
          ]
        },
        {
          "id": 450461,
          "postDate": "2019-01-05T02:18:34.863Z",
          "content": "<p>Thanks for your kind reply, and your post inspired me a lot, but I still don't know how to take the information of merchants into consideration.</p>",
          "rawMarkdown": "Thanks for your kind reply, and your post inspired me a lot, but I still don't know how to take the information of merchants into consideration.",
          "votes": 1
        },
        {
          "id": 452330,
          "postDate": "2019-01-08T15:25:16.960Z",
          "content": "<p>I'm not done doing my analysis yet. However, from what I've seen so far I think it is useful to get the recency and frequency per merchant for each customer. I haven't finished my customer level or merchant level segmentation --but another thing to keep in mind is the importance of \"conversion\". I need some way to get a measure for \"how likely is a customer to flip-flop\".</p>",
          "rawMarkdown": "I'm not done doing my analysis yet. However, from what I've seen so far I think it is useful to get the recency and frequency per merchant for each customer. I haven't finished my customer level or merchant level segmentation --but another thing to keep in mind is the importance of \"conversion\". I need some way to get a measure for \"how likely is a customer to flip-flop\".",
          "votes": 1
        }
      ]
    },
    {
      "id": 454733,
      "postDate": "2019-01-12T05:27:06.423Z",
      "content": "<p>I also created features similar to Repurchase Rate and they rank high in importance by the model, but the LB score hardly moved.</p>\n\n<p>Because of that and a few other reasons I am  a bit dubious about the whole premise of this competition. It seems like the train and test targets have been computed using a Elo proprietary ranking algorithm(s).  Does it mean that we are essentially trying to reverse-engineer Elo's proprietary ranking? If so, I am not sure if taking loyalty literally might not be what Elo is actually looking for.  Am I wrong?</p>",
      "rawMarkdown": "I also created features similar to Repurchase Rate and they rank high in importance by the model, but the LB score hardly moved.\n\nBecause of that and a few other reasons I am  a bit dubious about the whole premise of this competition. It seems like the train and test targets have been computed using a Elo proprietary ranking algorithm(s).  Does it mean that we are essentially trying to reverse-engineer Elo's proprietary ranking? If so, I am not sure if taking loyalty literally might not be what Elo is actually looking for.  Am I wrong?",
      "votes": 1,
      "replies": [
        {
          "id": 458881,
          "postDate": "2019-01-20T18:05:10.493Z",
          "content": "<p>I believe (and in another post the admins loosely implied it was correct) that the target score (loyalty) has nothing to do with the transaction data we have been given.  For example, loyalty to credit card would probably depend on how many other cards you have, how much you spend on each, how old you are, your income, etc.  So, the contest is to create a model based on transaction history to predict the card loyalty score.  ELO doesn't know if the score can be predicted accurately from transaction data and that is what we are testing for them.</p>",
          "rawMarkdown": "I believe (and in another post the admins loosely implied it was correct) that the target score (loyalty) has nothing to do with the transaction data we have been given.  For example, loyalty to credit card would probably depend on how many other cards you have, how much you spend on each, how old you are, your income, etc.  So, the contest is to create a model based on transaction history to predict the card loyalty score.  ELO doesn't know if the score can be predicted accurately from transaction data and that is what we are testing for them.",
          "votes": 2
        }
      ]
    },
    {
      "id": 452262,
      "postDate": "2019-01-08T13:17:56.797Z",
      "content": "<p>Nice insights!</p>",
      "rawMarkdown": "Nice insights!",
      "votes": 1,
      "replies": [
        {
          "id": 452332,
          "postDate": "2019-01-08T15:26:11.633Z",
          "content": "<p>Thanks! :)</p>",
          "rawMarkdown": "Thanks! :)",
          "votes": 1
        }
      ]
    },
    {
      "id": 452894,
      "postDate": "2019-01-09T10:23:27.917Z",
      "content": "<p>Interesting! I think it's useful </p>",
      "rawMarkdown": "Interesting! I think it's useful "
    },
    {
      "id": 3440814,
      "postDate": "2026-04-13T04:15:32.577Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 450034,
      "author_name": "Yifan Xie",
      "author_url": "",
      "post_date": "2019-01-04T07:23:16.997000",
      "content": "<p>I don't have domain knowledge of this field, but I did look up for some model used in the industry that model repurchase rate - this seems to be one concept that is linked to customer loyalty.</p>\n\n<p>anyway, this is the one that I have used in my model: <a href=\"https://www.mergelane.com/post/repurchase-rate-the-mrr-of-non-saas-startups\">https://www.mergelane.com/post/repurchase-rate-the-mrr-of-non-saas-startups</a></p>\n\n<p>There are actually two formulas, both of which I have used, it generates features ranked quite high in my feature importance - but overall CV/LB doesn't improve, I am still working on ways to integrate them into my models</p>",
      "votes": 11,
      "replies": [
        {
          "id": 450053,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-01-04T08:08:08.370000",
          "content": "<p>But there are a lot of  Merchants.  Are you thinking about calculating this metric for each Merchant?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 450224,
          "author_name": "Yifan Xie",
          "author_url": "",
          "post_date": "2019-01-04T14:16:45.883000",
          "content": "<p>yes, that is what I did, you need to construct a pretty big sparse matrix, and it took sometime to create and then perform the calculation  </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 450364,
          "author_name": "C4rl05/V",
          "author_url": "",
          "post_date": "2019-01-04T19:22:29.720000",
          "content": "<p>Super interesting, thanks for the information</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 453147,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-01-09T18:31:38.570000",
          "content": "<p>Here,  I think that avg_sales_X and avg_purchses_lagX are important for calating Repurchase Rate. It's easier than appears . We will sonn see the results...</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 453296,
          "author_name": "Manchoi",
          "author_url": "",
          "post_date": "2019-01-10T01:29:02.333000",
          "content": "<p>What is <code>X</code> implies?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 453540,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-01-10T10:44:22.087000",
          "content": "<p>Merchants.csv has:\navg_sales_lag3-&gt; last 3 month\navg_purchases_lag3-&gt; last 3 month\nactive_months_lag3-&gt; last 3 month\navg_sales_lag6-&gt; last 6 month\navg_purchases_lag6-&gt; last 6 month\nactive_months_lag6-&gt; last 6 month\navg_sales_lag12-&gt; last 12 month\navg_purchases_lag12-&gt; last 12 month\nactive_months_lag12-&gt; last 12 month\nI want to calculate monthly average of revenue and transaction for every card_id in last 3,6 and 12 month  and I want to get the 3 different Repurchase Rate.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 450117,
      "author_name": "Manchoi",
      "author_url": "",
      "post_date": "2019-01-04T10:31:11.213000",
      "content": "<p>a great article\n<a href=\"https://www.datascience.com/blog/intro-to-predictive-modeling-for-customer-lifetime-value\">https://www.datascience.com/blog/intro-to-predictive-modeling-for-customer-lifetime-value</a></p>",
      "votes": 7,
      "replies": [
        {
          "id": 450309,
          "author_name": "Bryan Arnold",
          "author_url": "",
          "post_date": "2019-01-04T16:57:38.647000",
          "content": "<p>Great article! The \"lifetime\" part of the model (exponential distribution with parameter mu) would be the \"loyalty\" part of the model I mentioned above.</p>\n\n<p>Some things to consider --adjusting for: \n * multiple products,\n * multiple merchants,\n* using a different model that is more appropriate than P/NBD for a contractual setting.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 2544796,
              "author_name": "Shashank Garewal",
              "author_url": "",
              "post_date": "2023-12-01T05:02:45.497000",
              "content": "<p>The CLV (Pareto/NBD) model is a fundamental probabilistic model for customer lifetime value (CLV). It accounts for multiple products and might also consider the merchants. <br>\n We should also consider other models for this NBD model. <br>\nIt is very interesting to see the way you made a correlation between the lifetime value and loyalty.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 450461,
          "author_name": "Manchoi",
          "author_url": "",
          "post_date": "2019-01-05T02:18:34.863000",
          "content": "<p>Thanks for your kind reply, and your post inspired me a lot, but I still don't know how to take the information of merchants into consideration.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 452330,
          "author_name": "Bryan Arnold",
          "author_url": "",
          "post_date": "2019-01-08T15:25:16.960000",
          "content": "<p>I'm not done doing my analysis yet. However, from what I've seen so far I think it is useful to get the recency and frequency per merchant for each customer. I haven't finished my customer level or merchant level segmentation --but another thing to keep in mind is the importance of \"conversion\". I need some way to get a measure for \"how likely is a customer to flip-flop\".</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 454733,
      "author_name": "sergeman",
      "author_url": "",
      "post_date": "2019-01-12T05:27:06.423000",
      "content": "<p>I also created features similar to Repurchase Rate and they rank high in importance by the model, but the LB score hardly moved.</p>\n\n<p>Because of that and a few other reasons I am  a bit dubious about the whole premise of this competition. It seems like the train and test targets have been computed using a Elo proprietary ranking algorithm(s).  Does it mean that we are essentially trying to reverse-engineer Elo's proprietary ranking? If so, I am not sure if taking loyalty literally might not be what Elo is actually looking for.  Am I wrong?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 458881,
          "author_name": "Michael Maguire",
          "author_url": "",
          "post_date": "2019-01-20T18:05:10.493000",
          "content": "<p>I believe (and in another post the admins loosely implied it was correct) that the target score (loyalty) has nothing to do with the transaction data we have been given.  For example, loyalty to credit card would probably depend on how many other cards you have, how much you spend on each, how old you are, your income, etc.  So, the contest is to create a model based on transaction history to predict the card loyalty score.  ELO doesn't know if the score can be predicted accurately from transaction data and that is what we are testing for them.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 452262,
      "author_name": "Jianfei Wang",
      "author_url": "",
      "post_date": "2019-01-08T13:17:56.797000",
      "content": "<p>Nice insights!</p>",
      "votes": 1,
      "replies": [
        {
          "id": 452332,
          "author_name": "Bryan Arnold",
          "author_url": "",
          "post_date": "2019-01-08T15:26:11.633000",
          "content": "<p>Thanks! :)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 452894,
      "author_name": "Neo Zhao",
      "author_url": "",
      "post_date": "2019-01-09T10:23:27.917000",
      "content": "<p>Interesting! I think it's useful </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3440814,
      "author_name": "",
      "author_url": "",
      "post_date": "2026-04-13T04:15:32.577000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "449986": "In many CLV models there are two components: customer engagement and customer loyalty. That is,\n$$\nCLV = CE \\cdot CL\n$$\nI think it is a fair assumption that in the Elo challenge, the customer loyalty is a similar quantity to the customer loyalty (CL) in a CLV model. Now there is no one-size-fits-all solution to CLV modeling. However, there are some standard models which work well (with different prior distributions) in different real-world settings. A few are:\n\n * Pareto/NBD,\n * BG/NBD,\n * GG/NBD,\n * Pareto/GGG,\n * BG/BB,\n * EG,\n * sBG,\n\nand many more (all of a similar spirit). \n\nI have yet to try any of these models for actual modeling or feature engineering, but am planning to do so soon. Has anyone tried any techniques along this line? ",
    "450034": "I don't have domain knowledge of this field, but I did look up for some model used in the industry that model repurchase rate - this seems to be one concept that is linked to customer loyalty.\n\nanyway, this is the one that I have used in my model: https://www.mergelane.com/post/repurchase-rate-the-mrr-of-non-saas-startups\n\nThere are actually two formulas, both of which I have used, it generates features ranked quite high in my feature importance - but overall CV/LB doesn't improve, I am still working on ways to integrate them into my models",
    "450117": "a great article\nhttps://www.datascience.com/blog/intro-to-predictive-modeling-for-customer-lifetime-value",
    "454733": "I also created features similar to Repurchase Rate and they rank high in importance by the model, but the LB score hardly moved.\n\nBecause of that and a few other reasons I am  a bit dubious about the whole premise of this competition. It seems like the train and test targets have been computed using a Elo proprietary ranking algorithm(s).  Does it mean that we are essentially trying to reverse-engineer Elo's proprietary ranking? If so, I am not sure if taking loyalty literally might not be what Elo is actually looking for.  Am I wrong?",
    "452262": "Nice insights!",
    "452894": "Interesting! I think it's useful ",
    "3440814": ""
  }
}