{
  "id": 665549,
  "title": "No 1st place solution?",
  "url": "/competitions/MABe-mouse-behavior-detection/discussion/665549",
  "author_name": "Ahmet Erdem",
  "post_date": "2026-01-02T08:05:04.534000",
  "votes": 26,
  "comment_count": 13,
  "views": 0,
  "content": "<p>Given the score gap between the first place and the rest, most competitors are probably curious about the first place solution. The winner seems to be online on Kaggle recently but never shared anything. The competition has open source license, so I think s/he should share it. It looks fishy so far but I hope I am wrong.</p>",
  "messages": [
    {
      "id": 3384894,
      "postDate": "2026-01-02T08:05:04.533Z",
      "content": "<p>Given the score gap between the first place and the rest, most competitors are probably curious about the first place solution. The winner seems to be online on Kaggle recently but never shared anything. The competition has open source license, so I think s/he should share it. It looks fishy so far but I hope I am wrong.</p>",
      "rawMarkdown": "Given the score gap between the first place and the rest, most competitors are probably curious about the first place solution. The winner seems to be online on Kaggle recently but never shared anything. The competition has open source license, so I think s/he should share it. It looks fishy so far but I hope I am wrong.",
      "votes": 26
    },
    {
      "id": 3388445,
      "postDate": "2026-01-08T21:18:41.737Z",
      "content": "<p>Hi Ahmet- we absolutely get your concerns. We've received the first-place code and are reviewing it to make sure that we can replicate the results and that no outside knowledge was used. If the code passes validation and the first-place team keeps their ranking, we can enforce the open-source requirement and will post their code online. If the code doesn't pass validation then the team will be disqualified.</p>\n<p>We will keep you posted as we get through the validation process.</p>",
      "rawMarkdown": "Hi Ahmet- we absolutely get your concerns. We've received the first-place code and are reviewing it to make sure that we can replicate the results and that no outside knowledge was used. If the code passes validation and the first-place team keeps their ranking, we can enforce the open-source requirement and will post their code online. If the code doesn't pass validation then the team will be disqualified.\n\nWe will keep you posted as we get through the validation process.",
      "votes": 14,
      "replies": [
        {
          "id": 3392311,
          "postDate": "2026-01-16T17:16:38.730Z",
          "rawMarkdown": "",
          "votes": 19,
          "isDeleted": true,
          "replies": [
            {
              "id": 3392353,
              "postDate": "2026-01-16T18:45:49.747Z",
              "content": "<p>Thanks a lot for sharing (finally). It is a bit long to read but from what I understand pretraining on corrected mabe videos might have given you the edge. I don't remember seeing it any other top solution. (except the 6th place solution, which may not have your keypoint correction)</p>\n<p>Congrats!</p>",
              "rawMarkdown": "Thanks a lot for sharing (finally). It is a bit long to read but from what I understand pretraining on corrected mabe videos might have given you the edge. I don't remember seeing it any other top solution. (except the 6th place solution, which may not have your keypoint correction)\n\nCongrats!"
            },
            {
              "id": 3392377,
              "postDate": "2026-01-16T20:23:24.687Z",
              "content": "<p>Wow amazing solution. Great job. Below is ChatGPT's summary of your solution. It looks like you had a bunch of innovations. Nicely done!</p>\n<blockquote>\n  <p>High-level summary of the 1st-place solution</p>\n  <p>The winning solution is a pure neural-network approach built in JAX, with no XGBoost or classical ML. It uses a two-stage pipeline: first, a large self-supervised neural model is pretrained on pose trajectories to learn mouse motion and interaction dynamics without labels; second, a supervised temporal model is trained on top of those learned representations to predict behaviors. Multiple versions of this pipeline (different FPS and body-part subsets) are then ensembled, and predictions are post-processed with per-lab, per-action threshold tuning to directly optimize F1.</p>\n</blockquote>\n<p>Top 5 reasons this solution was effective</p>\n<ul>\n<li><p>Self-supervised pretraining on motion (dense signal, no labels)\nThey pretrained on all pose data by predicting future motion (direction + speed), turning every frame into training signal. This learned strong, general representations of mouse kinematics and interactions before ever seeing behavior labels.</p></li>\n<li><p>Explicit modeling of interactions, not just individuals\nThe model jointly processes agent–target mouse pairs, including self-actions and cross-mouse actions, with graph-style message passing between body parts. This matches the structure of the labels and captures social behavior dynamics directly.</p></li>\n<li><p>Strong temporal robustness via time dilation and resampling\nRandom chunking, variable FPS, and time-dilated sequences force the model to recognize behaviors independent of speed or duration, which is crucial for cross-lab generalization.</p></li>\n<li><p>Carefully designed multi-scale ensemble\nThey trained several full pipelines with different frame rates and body-part subsets. Each model sees the same behavior through a different temporal and spatial lens, and the ensemble reduces both variance and lab-specific bias.</p></li>\n<li><p>Metric-aware post-processing (F1-driven thresholds)\nInstead of relying on raw probabilities, they optimized per-lab, per-action thresholds directly for F1, then smoothed and ensembled those thresholds. This alone yields a large gain in leaderboard score and aligns inference exactly with the competition metric.</p></li>\n</ul>",
              "rawMarkdown": "Wow amazing solution. Great job. Below is ChatGPT's summary of your solution. It looks like you had a bunch of innovations. Nicely done!\n\n> High-level summary of the 1st-place solution\n> \n> The winning solution is a pure neural-network approach built in JAX, with no XGBoost or classical ML. It uses a two-stage pipeline: first, a large self-supervised neural model is pretrained on pose trajectories to learn mouse motion and interaction dynamics without labels; second, a supervised temporal model is trained on top of those learned representations to predict behaviors. Multiple versions of this pipeline (different FPS and body-part subsets) are then ensembled, and predictions are post-processed with per-lab, per-action threshold tuning to directly optimize F1.\n\nTop 5 reasons this solution was effective\n\n* Self-supervised pretraining on motion (dense signal, no labels)\nThey pretrained on all pose data by predicting future motion (direction + speed), turning every frame into training signal. This learned strong, general representations of mouse kinematics and interactions before ever seeing behavior labels.\n\n* Explicit modeling of interactions, not just individuals\nThe model jointly processes agent–target mouse pairs, including self-actions and cross-mouse actions, with graph-style message passing between body parts. This matches the structure of the labels and captures social behavior dynamics directly.\n\n* Strong temporal robustness via time dilation and resampling\nRandom chunking, variable FPS, and time-dilated sequences force the model to recognize behaviors independent of speed or duration, which is crucial for cross-lab generalization.\n\n* Carefully designed multi-scale ensemble\nThey trained several full pipelines with different frame rates and body-part subsets. Each model sees the same behavior through a different temporal and spatial lens, and the ensemble reduces both variance and lab-specific bias.\n\n* Metric-aware post-processing (F1-driven thresholds)\nInstead of relying on raw probabilities, they optimized per-lab, per-action thresholds directly for F1, then smoothed and ensembled those thresholds. This alone yields a large gain in leaderboard score and aligns inference exactly with the competition metric.",
              "votes": 5
            }
          ]
        }
      ]
    },
    {
      "id": 3387573,
      "postDate": "2026-01-07T10:11:39.967Z",
      "content": "<p>If I use other CV scores reported by the top teams and assume to replace individual lab scores by ours if they perform better, the expected private LB goes as high as 0.540. So we know that 0.540 is possible by a collective Machine Learning effort of Kagglers. But 0.575 is crazy good. </p>\n<p><a href=\"https://www.kaggle.com/addisonhoward\" target=\"_blank\">@addisonhoward</a> <a href=\"https://www.kaggle.com/sohier\" target=\"_blank\">@sohier</a> <a href=\"https://www.kaggle.com/elizabethpark\" target=\"_blank\">@elizabethpark</a> you probably already received the first place solution since the documentation deadline is over. (I think the solution should have been shared on the forum as well but anyway) Is it a legit solution or some kind of a data leak, metric hack etc?</p>",
      "rawMarkdown": "If I use other CV scores reported by the top teams and assume to replace individual lab scores by ours if they perform better, the expected private LB goes as high as 0.540. So we know that 0.540 is possible by a collective Machine Learning effort of Kagglers. But 0.575 is crazy good. \n\n@addisonhoward @sohier @elizabethpark you probably already received the first place solution since the documentation deadline is over. (I think the solution should have been shared on the forum as well but anyway) Is it a legit solution or some kind of a data leak, metric hack etc?",
      "votes": 1,
      "replies": [
        {
          "id": 3387867,
          "postDate": "2026-01-07T18:07:17.857Z",
          "content": "<p>The winning solution must be open sourced, but that doesn't require it be on Kaggle. We're following up with the winning team to ensure rules compliance.</p>",
          "rawMarkdown": "The winning solution must be open sourced, but that doesn't require it be on Kaggle. We're following up with the winning team to ensure rules compliance.",
          "replies": [
            {
              "id": 3387902,
              "postDate": "2026-01-07T19:04:32.317Z",
              "content": "<p>Hey again - we can confirm that the first place team provided an open-source license provided to the host in compliance with the rules. The host may opt to share it publicly if they wish. </p>",
              "rawMarkdown": "Hey again - we can confirm that the first place team provided an open-source license provided to the host in compliance with the rules. The host may opt to share it publicly if they wish. "
            },
            {
              "id": 3387922,
              "postDate": "2026-01-07T19:56:15.903Z",
              "content": "<p>This is the email we get from Kaggle:\nCode Sharing: To fulfill this requirement, simply ensure that your code notebook is public and shared via the forums.</p>\n<p>I don’t think the first place did it.</p>",
              "rawMarkdown": "This is the email we get from Kaggle:\nCode Sharing: To fulfill this requirement, simply ensure that your code notebook is public and shared via the forums.\n\nI don’t think the first place did it.",
              "votes": 2
            },
            {
              "id": 3388228,
              "postDate": "2026-01-08T13:29:50.587Z",
              "content": "<p><a href=\"https://www.kaggle.com/addisonhoward\" target=\"_blank\">@addisonhoward</a> it feels like double standard. While other top teams obey the winner requirements from Kaggle (sent by email), the first place doesnt.</p>\n<p>Kaggle was always an open place where people share and learn from each other. There should be definetely great insights to learn from such solution. It is a loss for the community. It is also bad for the transparency because we don't know if the competition was fair without seeing the solutions.</p>",
              "rawMarkdown": "@addisonhoward it feels like double standard. While other top teams obey the winner requirements from Kaggle (sent by email), the first place doesnt.\n\nKaggle was always an open place where people share and learn from each other. There should be definetely great insights to learn from such solution. It is a loss for the community. It is also bad for the transparency because we don't know if the competition was fair without seeing the solutions."
            },
            {
              "id": 3388271,
              "postDate": "2026-01-08T14:38:36.357Z",
              "content": "<p>The requirements of the competition rules are that the winning solution be open sourced. Sharing a public notebook on Kaggle is the easiest way to fulfill that requirement, and its both our suggested and preferred method of doing so (it's easy, reproducible, gives back to the community, etc). Almost every competition winner of open source competitions does this, but by a strict interpretation of the competition rules, its not required. The host, who received an open source license, can release that solution if they wish.</p>",
              "rawMarkdown": "The requirements of the competition rules are that the winning solution be open sourced. Sharing a public notebook on Kaggle is the easiest way to fulfill that requirement, and its both our suggested and preferred method of doing so (it's easy, reproducible, gives back to the community, etc). Almost every competition winner of open source competitions does this, but by a strict interpretation of the competition rules, its not required. The host, who received an open source license, can release that solution if they wish."
            },
            {
              "id": 3388342,
              "postDate": "2026-01-08T16:52:10.320Z",
              "content": "<p><strong>To fulfill this requirement</strong>, simply ensure that your code notebook is public and shared via the forums.</p>\n<p>I am not a native speaker but it looks obvious to me.</p>\n<p>I won’t continue discussing this anymore and you can leave it as a mystery if somebody’s nephew got the answer sheet or somebody built a very advanced AI that wins competitions.</p>",
              "rawMarkdown": "**To fulfill this requirement**, simply ensure that your code notebook is public and shared via the forums.\n\nI am not a native speaker but it looks obvious to me.\n\nI won’t continue discussing this anymore and you can leave it as a mystery if somebody’s nephew got the answer sheet or somebody built a very advanced AI that wins competitions.",
              "votes": 1
            },
            {
              "id": 3388386,
              "postDate": "2026-01-08T18:09:32.760Z",
              "rawMarkdown": "",
              "isDeleted": true
            }
          ]
        }
      ]
    },
    {
      "id": 3385232,
      "postDate": "2026-01-02T19:08:41.843Z",
      "content": "<p>and with less submission 🤨</p>",
      "rawMarkdown": "and with less submission 🤨"
    }
  ],
  "comments": [
    {
      "id": 3388445,
      "author_name": "Ann Kennedy",
      "author_url": "",
      "post_date": "2026-01-08T21:18:41.737000",
      "content": "<p>Hi Ahmet- we absolutely get your concerns. We've received the first-place code and are reviewing it to make sure that we can replicate the results and that no outside knowledge was used. If the code passes validation and the first-place team keeps their ranking, we can enforce the open-source requirement and will post their code online. If the code doesn't pass validation then the team will be disqualified.</p>\n<p>We will keep you posted as we get through the validation process.</p>",
      "votes": 14,
      "replies": [
        {
          "id": 3392311,
          "author_name": "",
          "author_url": "",
          "post_date": "2026-01-16T17:16:38.730000",
          "content": "",
          "votes": 19,
          "replies": [
            {
              "id": 3392353,
              "author_name": "Ahmet Erdem",
              "author_url": "",
              "post_date": "2026-01-16T18:45:49.747000",
              "content": "<p>Thanks a lot for sharing (finally). It is a bit long to read but from what I understand pretraining on corrected mabe videos might have given you the edge. I don't remember seeing it any other top solution. (except the 6th place solution, which may not have your keypoint correction)</p>\n<p>Congrats!</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3392377,
              "author_name": "Chris Deotte",
              "author_url": "",
              "post_date": "2026-01-16T20:23:24.687000",
              "content": "<p>Wow amazing solution. Great job. Below is ChatGPT's summary of your solution. It looks like you had a bunch of innovations. Nicely done!</p>\n<blockquote>\n  <p>High-level summary of the 1st-place solution</p>\n  <p>The winning solution is a pure neural-network approach built in JAX, with no XGBoost or classical ML. It uses a two-stage pipeline: first, a large self-supervised neural model is pretrained on pose trajectories to learn mouse motion and interaction dynamics without labels; second, a supervised temporal model is trained on top of those learned representations to predict behaviors. Multiple versions of this pipeline (different FPS and body-part subsets) are then ensembled, and predictions are post-processed with per-lab, per-action threshold tuning to directly optimize F1.</p>\n</blockquote>\n<p>Top 5 reasons this solution was effective</p>\n<ul>\n<li><p>Self-supervised pretraining on motion (dense signal, no labels)\nThey pretrained on all pose data by predicting future motion (direction + speed), turning every frame into training signal. This learned strong, general representations of mouse kinematics and interactions before ever seeing behavior labels.</p></li>\n<li><p>Explicit modeling of interactions, not just individuals\nThe model jointly processes agent–target mouse pairs, including self-actions and cross-mouse actions, with graph-style message passing between body parts. This matches the structure of the labels and captures social behavior dynamics directly.</p></li>\n<li><p>Strong temporal robustness via time dilation and resampling\nRandom chunking, variable FPS, and time-dilated sequences force the model to recognize behaviors independent of speed or duration, which is crucial for cross-lab generalization.</p></li>\n<li><p>Carefully designed multi-scale ensemble\nThey trained several full pipelines with different frame rates and body-part subsets. Each model sees the same behavior through a different temporal and spatial lens, and the ensemble reduces both variance and lab-specific bias.</p></li>\n<li><p>Metric-aware post-processing (F1-driven thresholds)\nInstead of relying on raw probabilities, they optimized per-lab, per-action thresholds directly for F1, then smoothed and ensembled those thresholds. This alone yields a large gain in leaderboard score and aligns inference exactly with the competition metric.</p></li>\n</ul>",
              "votes": 5,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3387573,
      "author_name": "Ahmet Erdem",
      "author_url": "",
      "post_date": "2026-01-07T10:11:39.967000",
      "content": "<p>If I use other CV scores reported by the top teams and assume to replace individual lab scores by ours if they perform better, the expected private LB goes as high as 0.540. So we know that 0.540 is possible by a collective Machine Learning effort of Kagglers. But 0.575 is crazy good. </p>\n<p><a href=\"https://www.kaggle.com/addisonhoward\" target=\"_blank\">@addisonhoward</a> <a href=\"https://www.kaggle.com/sohier\" target=\"_blank\">@sohier</a> <a href=\"https://www.kaggle.com/elizabethpark\" target=\"_blank\">@elizabethpark</a> you probably already received the first place solution since the documentation deadline is over. (I think the solution should have been shared on the forum as well but anyway) Is it a legit solution or some kind of a data leak, metric hack etc?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 3387867,
          "author_name": "Addison Howard",
          "author_url": "",
          "post_date": "2026-01-07T18:07:17.857000",
          "content": "<p>The winning solution must be open sourced, but that doesn't require it be on Kaggle. We're following up with the winning team to ensure rules compliance.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3387902,
              "author_name": "Addison Howard",
              "author_url": "",
              "post_date": "2026-01-07T19:04:32.317000",
              "content": "<p>Hey again - we can confirm that the first place team provided an open-source license provided to the host in compliance with the rules. The host may opt to share it publicly if they wish. </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3387922,
              "author_name": "Ahmet Erdem",
              "author_url": "",
              "post_date": "2026-01-07T19:56:15.903000",
              "content": "<p>This is the email we get from Kaggle:\nCode Sharing: To fulfill this requirement, simply ensure that your code notebook is public and shared via the forums.</p>\n<p>I don’t think the first place did it.</p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 3388228,
              "author_name": "Ahmet Erdem",
              "author_url": "",
              "post_date": "2026-01-08T13:29:50.587000",
              "content": "<p><a href=\"https://www.kaggle.com/addisonhoward\" target=\"_blank\">@addisonhoward</a> it feels like double standard. While other top teams obey the winner requirements from Kaggle (sent by email), the first place doesnt.</p>\n<p>Kaggle was always an open place where people share and learn from each other. There should be definetely great insights to learn from such solution. It is a loss for the community. It is also bad for the transparency because we don't know if the competition was fair without seeing the solutions.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3388271,
              "author_name": "Addison Howard",
              "author_url": "",
              "post_date": "2026-01-08T14:38:36.357000",
              "content": "<p>The requirements of the competition rules are that the winning solution be open sourced. Sharing a public notebook on Kaggle is the easiest way to fulfill that requirement, and its both our suggested and preferred method of doing so (it's easy, reproducible, gives back to the community, etc). Almost every competition winner of open source competitions does this, but by a strict interpretation of the competition rules, its not required. The host, who received an open source license, can release that solution if they wish.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3388342,
              "author_name": "Ahmet Erdem",
              "author_url": "",
              "post_date": "2026-01-08T16:52:10.320000",
              "content": "<p><strong>To fulfill this requirement</strong>, simply ensure that your code notebook is public and shared via the forums.</p>\n<p>I am not a native speaker but it looks obvious to me.</p>\n<p>I won’t continue discussing this anymore and you can leave it as a mystery if somebody’s nephew got the answer sheet or somebody built a very advanced AI that wins competitions.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3388386,
              "author_name": "",
              "author_url": "",
              "post_date": "2026-01-08T18:09:32.760000",
              "content": "",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3385232,
      "author_name": "Yusuf Sertkaya",
      "author_url": "",
      "post_date": "2026-01-02T19:08:41.843000",
      "content": "<p>and with less submission 🤨</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3384894": "Given the score gap between the first place and the rest, most competitors are probably curious about the first place solution. The winner seems to be online on Kaggle recently but never shared anything. The competition has open source license, so I think s/he should share it. It looks fishy so far but I hope I am wrong.",
    "3388445": "Hi Ahmet- we absolutely get your concerns. We've received the first-place code and are reviewing it to make sure that we can replicate the results and that no outside knowledge was used. If the code passes validation and the first-place team keeps their ranking, we can enforce the open-source requirement and will post their code online. If the code doesn't pass validation then the team will be disqualified.\n\nWe will keep you posted as we get through the validation process.",
    "3387573": "If I use other CV scores reported by the top teams and assume to replace individual lab scores by ours if they perform better, the expected private LB goes as high as 0.540. So we know that 0.540 is possible by a collective Machine Learning effort of Kagglers. But 0.575 is crazy good. \n\n@addisonhoward @sohier @elizabethpark you probably already received the first place solution since the documentation deadline is over. (I think the solution should have been shared on the forum as well but anyway) Is it a legit solution or some kind of a data leak, metric hack etc?",
    "3385232": "and with less submission 🤨"
  }
}