{
  "id": 324158,
  "title": "16th place solution",
  "url": "/competitions/h-and-m-personalized-fashion-recommendations/writeups/autox-16th-place-solution",
  "author_name": "",
  "post_date": "2022-05-10T12:02:03.290473200Z",
  "votes": 28,
  "comment_count": 2,
  "views": 0,
  "content": "<p>Thanks my teammate Ryan <a href=\"https://www.kaggle.com/wj19971997\" target=\"_blank\">@wj19971997</a>, we got 16th place.<br>\nThanks to H&amp;M and Kaggle. This is a wonderful competition.</p>\n<h1>Framework</h1>\n<p><img src=\"https://postimg.cc/hJYnVpPJ\" alt=\"Framework\"></p>\n<h1>Data-splitting</h1>\n<p>We split the data into 3 groups: <br>\ncg1(customer group 1) is the users with transactions in last 30 days; <br>\ncg2(customer group 2) is the users without transactions in last 30 days, <br>\nbut with transactions in history. <br>\ncg3(customer group 3) is the users without transactions in history. </p>\n<ul>\n<li>cg1 and cg2: multi-recalls + rank.</li>\n<li>cg3: popular items recall.</li>\n</ul>\n<h1>Recalls</h1>\n<ul>\n<li>popular items recall</li>\n<li>repurchase recall</li>\n<li>binaryNet recall</li>\n<li>ItemCF recall</li>\n<li>UserCF recall</li>\n<li>W2V content recall</li>\n<li>NLP content recall</li>\n<li>Image content recall</li>\n<li>Category content recall</li>\n</ul>\n<p>Each recall method will recall 100 items for every user, then drop duplicates.</p>\n<h1>Rank</h1>\n<h2>Feature Engineer</h2>\n<h3>Item Feature</h3>\n<p>groupby article_id agg cols calculate statistics</p>\n<ul>\n<li>cols: customer_id, price, sales_channel_id, and so on.</li>\n<li>op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'</li>\n</ul>\n<h3>User Feature</h3>\n<p>groupby customer_id agg cols calculate statistics</p>\n<ul>\n<li>cols: price, article_id, sales_channel_id, and so on.</li>\n<li>op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'</li>\n</ul>\n<h3>Interaction Feature</h3>\n<ul>\n<li>count of user-item purchased in different window(1day, 3days, 1week, 2weeks, 1month).</li>\n<li>The time-diff since the user last purchased the item</li>\n</ul>\n<h3>other features</h3>\n<ul>\n<li>ItemCF score</li>\n<li>BinaryNet score</li>\n</ul>\n<h3>Model</h3>\n<ul>\n<li>lightgbm ranker</li>\n<li>lightgbm binary</li>\n</ul>\n<h1>Ensemble</h1>\n<p>Ref to <a href=\"https://www.kaggle.com/code/tarique7/lb-0-0240-h-m-ensemble-magic-multi-blend\" target=\"_blank\">this link</a></p>",
  "messages": [
    {
      "id": "1783445",
      "postDate": "05/10/2022 12:02:03",
      "content": "<p>Thanks my teammate Ryan <a href=\"https://www.kaggle.com/wj19971997\" target=\"_blank\">@wj19971997</a>, we got 16th place.<br>\nThanks to H&amp;M and Kaggle. This is a wonderful competition.</p>\n<h1>Framework</h1>\n<p><img src=\"https://postimg.cc/hJYnVpPJ\" alt=\"Framework\"></p>\n<h1>Data-splitting</h1>\n<p>We split the data into 3 groups: <br>\ncg1(customer group 1) is the users with transactions in last 30 days; <br>\ncg2(customer group 2) is the users without transactions in last 30 days, <br>\nbut with transactions in history. <br>\ncg3(customer group 3) is the users without transactions in history. </p>\n<ul>\n<li>cg1 and cg2: multi-recalls + rank.</li>\n<li>cg3: popular items recall.</li>\n</ul>\n<h1>Recalls</h1>\n<ul>\n<li>popular items recall</li>\n<li>repurchase recall</li>\n<li>binaryNet recall</li>\n<li>ItemCF recall</li>\n<li>UserCF recall</li>\n<li>W2V content recall</li>\n<li>NLP content recall</li>\n<li>Image content recall</li>\n<li>Category content recall</li>\n</ul>\n<p>Each recall method will recall 100 items for every user, then drop duplicates.</p>\n<h1>Rank</h1>\n<h2>Feature Engineer</h2>\n<h3>Item Feature</h3>\n<p>groupby article_id agg cols calculate statistics</p>\n<ul>\n<li>cols: customer_id, price, sales_channel_id, and so on.</li>\n<li>op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'</li>\n</ul>\n<h3>User Feature</h3>\n<p>groupby customer_id agg cols calculate statistics</p>\n<ul>\n<li>cols: price, article_id, sales_channel_id, and so on.</li>\n<li>op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'</li>\n</ul>\n<h3>Interaction Feature</h3>\n<ul>\n<li>count of user-item purchased in different window(1day, 3days, 1week, 2weeks, 1month).</li>\n<li>The time-diff since the user last purchased the item</li>\n</ul>\n<h3>other features</h3>\n<ul>\n<li>ItemCF score</li>\n<li>BinaryNet score</li>\n</ul>\n<h3>Model</h3>\n<ul>\n<li>lightgbm ranker</li>\n<li>lightgbm binary</li>\n</ul>\n<h1>Ensemble</h1>\n<p>Ref to <a href=\"https://www.kaggle.com/code/tarique7/lb-0-0240-h-m-ensemble-magic-multi-blend\" target=\"_blank\">this link</a></p>",
      "rawMarkdown": "Thanks my teammate Ryan @wj19971997, we got 16th place.\nThanks to H&M and Kaggle. This is a wonderful competition.\n\n# Framework\n![Framework](https://postimg.cc/hJYnVpPJ)\n\n# Data-splitting\nWe split the data into 3 groups: \ncg1(customer group 1) is the users with transactions in last 30 days; \ncg2(customer group 2) is the users without transactions in last 30 days, \nbut with transactions in history. \ncg3(customer group 3) is the users without transactions in history. \n\n- cg1 and cg2: multi-recalls + rank.\n- cg3: popular items recall.\n\n# Recalls\n- popular items recall\n- repurchase recall\n- binaryNet recall\n- ItemCF recall\n- UserCF recall\n- W2V content recall\n- NLP content recall\n- Image content recall\n- Category content recall\n\nEach recall method will recall 100 items for every user, then drop duplicates.\n\n# Rank\n\n## Feature Engineer\n### Item Feature\ngroupby article_id agg cols calculate statistics\n- cols: customer_id, price, sales_channel_id, and so on.\n- op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'\n\n### User Feature\ngroupby customer_id agg cols calculate statistics\n- cols: price, article_id, sales_channel_id, and so on.\n- op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'\n\n### Interaction Feature\n- count of user-item purchased in different window(1day, 3days, 1week, 2weeks, 1month).\n- The time-diff since the user last purchased the item\n\n### other features\n- ItemCF score\n- BinaryNet score\n\n### Model\n- lightgbm ranker\n- lightgbm binary\n\n# Ensemble\nRef to [this link](https://www.kaggle.com/code/tarique7/lb-0-0240-h-m-ensemble-magic-multi-blend)",
      "votes": null
    },
    {
      "id": "1784086",
      "postDate": "05/10/2022 23:33:43",
      "content": "<p>Great job on the 16th place finish! Thanks for the detailed explanation of your methodology.</p>",
      "rawMarkdown": "Great job on the 16th place finish! Thanks for the detailed explanation of your methodology.",
      "votes": null
    },
    {
      "id": "1784125",
      "postDate": "05/11/2022 00:21:20",
      "content": "<p><a href=\"https://www.kaggle.com/poteman\" target=\"_blank\">@poteman</a> thank you for the detailed write up and congratulations on your 16th place finish!</p>",
      "rawMarkdown": "poteman thank you for the detailed write up and congratulations on your 16th place finish!",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1784086,
      "author_name": "",
      "author_url": "",
      "post_date": "05/10/2022 23:33:43",
      "content": "<p>Great job on the 16th place finish! Thanks for the detailed explanation of your methodology.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1784125,
      "author_name": "lachlangillian",
      "author_url": "",
      "post_date": "05/11/2022 00:21:20",
      "content": "<p><a href=\"https://www.kaggle.com/poteman\" target=\"_blank\">@poteman</a> thank you for the detailed write up and congratulations on your 16th place finish!</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1783445": "Thanks my teammate Ryan @wj19971997, we got 16th place.\nThanks to H&M and Kaggle. This is a wonderful competition.\n\n# Framework\n![Framework](https://postimg.cc/hJYnVpPJ)\n\n# Data-splitting\nWe split the data into 3 groups: \ncg1(customer group 1) is the users with transactions in last 30 days; \ncg2(customer group 2) is the users without transactions in last 30 days, \nbut with transactions in history. \ncg3(customer group 3) is the users without transactions in history. \n\n- cg1 and cg2: multi-recalls + rank.\n- cg3: popular items recall.\n\n# Recalls\n- popular items recall\n- repurchase recall\n- binaryNet recall\n- ItemCF recall\n- UserCF recall\n- W2V content recall\n- NLP content recall\n- Image content recall\n- Category content recall\n\nEach recall method will recall 100 items for every user, then drop duplicates.\n\n# Rank\n\n## Feature Engineer\n### Item Feature\ngroupby article_id agg cols calculate statistics\n- cols: customer_id, price, sales_channel_id, and so on.\n- op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'\n\n### User Feature\ngroupby customer_id agg cols calculate statistics\n- cols: price, article_id, sales_channel_id, and so on.\n- op: 'min', 'max', 'mean', 'std', 'median', 'sum', 'nunique'\n\n### Interaction Feature\n- count of user-item purchased in different window(1day, 3days, 1week, 2weeks, 1month).\n- The time-diff since the user last purchased the item\n\n### other features\n- ItemCF score\n- BinaryNet score\n\n### Model\n- lightgbm ranker\n- lightgbm binary\n\n# Ensemble\nRef to [this link](https://www.kaggle.com/code/tarique7/lb-0-0240-h-m-ensemble-magic-multi-blend)",
    "1784086": "Great job on the 16th place finish! Thanks for the detailed explanation of your methodology.",
    "1784125": "poteman thank you for the detailed write up and congratulations on your 16th place finish!"
  },
  "source": "meta"
}