{
  "fetched_at": "2026-10-19T16:12:06Z",
  "source_url": "https://www.kaggle.com/competitions/22122shop/data",
  "pages": [
    {
      "name": "data-description",
      "content": "See [Online Shoppers Purchasing Intention](https://archive.ics.uci.edu/ml/datasets/Online+Shoppers+Purchasing+Intention+Dataset) dataset in UC-Irvine ML Repository for more information. The original dataset has been augmented for the competition. There are 18 variables with 10 quantitative and 7 categorical input features, 500K observations (one row or web session per online user) in a tabular format with the first 50K rows missing the `Rev` revenue flag (1 for purchase intent and 0 otherwise). Your task is to predict the intent for the first 50K online users. The data was collected for the period of 1 year. \n\nFeatures description (from the dataset authors): \n\n1. Administrative (**Adm**), Informational (**Inf**), Product Related (**Prd**): counts of different page types viewed by the user in that session. Values are derived from the URL information of the pages visited by the user and updated in real time when a user takes an action, e.g. moving from one page to another. \n1. Administrative Duration (**AdmDur**), Informational Duration (**InfDur**), and Product Related Duration (**PrdDur**): total time spent on the page of the specified type.\n1. Bounce Rate (**BncRt**): %visitors who enter the site from that page and then leave (\"bounce\") without triggering any other requests to the analytics server during that session. Measured by Google Analytics\n1. Exit Rate (**ExtRt**): %visitors that were the last in the session. Calculated as for all pageviews to the page. Measured by Google Analytics.\n1. Page Value (**PtVal**): average value for a web page that the user visited before completing an e-commerce transaction. \n1. Special Day (**SpclDay**): closeness of the site visiting time to a specific special day (e.g. Mother’s Day, Valentine's Day) in which the sessions are more likely to be finalized with transaction. The value of this attribute is determined by considering the dynamics of e-commerce such as the duration between the order date and delivery date. For example, for Valentine's day, this value takes a nonzero value between Feb 2 and Feb 12, zero before and after this date unless it is close to another special day, and its maximum value of 1 on Feb 8. \n1. Operating system (**OS**) of the user's PC\n1. Browser (**Bsr**): web user's web browser\n1. Region (**Rgn**) of the web user\n1. Traffic type (**TfcTp**): TBD\n1. Visitor type (**VstTp**): returning or new visitor\n1. Weekend (**Wknd**): whether the page view event took place on weekend\n1. Month of the year (**Mo**): the month of the page view event\n\n\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "In this assignment students need to predict whether a visitor of a web page/site has an intent to make a purchase based on contextual and user-specific attributes. \n\n* HSE students model in R \n* JHU students model in Python\n\nSee **Rules** tab for more details.\n\n## Acknowledgements\n1. [This Online Shoppers Purchasing Intention](https://archive.ics.uci.edu/ml/datasets/Online+Shoppers+Purchasing+Intention+Dataset) dataset is from UCI database. Authors: C. Okan Sakar and Yomi Kastro. It has been augmented for this competition. \n1. The image is from https://commons.wikimedia.org/wiki/File:Einkaufswagen_(24140951728).jpg\n1. **Competition Authors**. [HSE](https://hse.ru/) [ML Teaching Team](https://www.hse.ru/edu/courses/?filial=22723&lecturer=409923484&year=2021): [Oleg Melnikov](https://www.linkedin.com/in/olegmelnikov/), [Alexey Boldyrev](https://www.hse.ru/org/persons/223985242), [Vladimir Kirillin](https://www.hse.ru/org/persons/499313273), [Sergey Chervontsev](https://www.hse.ru/org/persons/305134539), Margarita Lazareva, Tatyana Yazykova, Mike Ovyan, Lika Lomidze, Vladimir Novikov, Valeriya Rogovchenko",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "The evaluation metric for this competition is [Mean F1-Score](https://en.wikipedia.org/wiki/F-score) ([SKL's description](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html#sklearn.metrics.f1_score)). The F1 score, commonly used in information retrieval, measures accuracy using the statistics precision **p** and recall **r**.\n\nPrecision is the ratio of true positives **tp** to all predicted positives **tp+fp**. Recall is the ratio of true positives **tp** to all actual positives **tp+fn**. The F1 score is given by:\n\n$$\\text{F1} := 2\\frac{\\text{p} \\cdot \\text{r}}{\\text{p}+\\text{r}}\\ \\ \\mathrm{where}\\ \\ \\text{p} := \\frac{\\text{tp}}{\\text{tp}+\\text{fp}},\\ \\ \\text{r} := \\frac{\\text{tp}}{\\text{tp}+\\text{fn}} $$\n\nThe F1 metric weights recall and precision equally, and a good retrieval algorithm will maximize both precision and recall simultaneously. Thus, moderately good performance on both will be favored over extremely good performance on one and poor performance on the other.\n\nThe submission format is:\n\n        id,Rev\n        1,0\n        2,1\n        3,0",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "Please follow these guidelines to avoid penalties. Have fun! These notebooks produce baseline results\n\n1. [**HSE R Starter Colab**](https://colab.research.google.com/drive/1O2ScHO38F1UjBmkmrVFbIij8hHZllD6U?usp=sharing).\n1. [**JHU Python Starter Colab**](https://colab.research.google.com/drive/1U0T191g7R9hp8LMDHlLnbSfRZVfpPxcI?usp=sharing).\n\n# 𝕮𝖔𝖒𝖕𝖊𝖙𝖎𝖙𝖎𝖔𝖓 𝕽𝖚𝖑𝖊𝖘.\n \n### **Rule 0:  If in doubt, just ask for clarity in our Piazza forum.**\n \n## 𝓐𝓵𝓵𝓸𝔀𝓮𝓭 𝓜𝓸𝓭𝓮𝓵𝓼 𝓪𝓷𝓭 𝓔𝓷𝓰𝓲𝓷𝓮𝓮𝓻𝓲𝓷𝓰 ( 𝓡 𝓯𝓸𝓻 𝓗𝓢𝓔,  𝓟𝔂𝓽𝓱𝓸𝓷 𝓯𝓸𝓻 𝓙𝓗𝓤 ):\n1.  **Ok to use these models:**\n    1. **𝓗𝓢𝓔: KNN, logistic regression, ANN from loaded R packages**\n    1. **𝓙𝓗𝓤: ANN and Deep & Wide NN via TensorFlow only** (See HOML10)\n1. You can also use clustering algorithms and dimensions reduction algorithms (`stats::pca()` in R, `PCA()` in SKL, etc.)\n1. Ok to engineer features, tune hyperparameters/optimizers, sub/oversample, regularize, do stepwise selection, reduce dimensions, use CPU/GPU/TPU.\n \n## 𝓡𝓮𝓹𝓻𝓸𝓭𝓾𝓬𝓲𝓫𝓲l𝓲𝓽𝔂 𝓪𝓷𝓭 𝓡𝓾𝓷𝓽𝓲𝓶𝓮:\n1. **Colab Runtime Limit (CRTL):** specified in Colab starter notebook\n  1. 2 slowest Colabs are penalized in the range [CRTL, 2*CRTL]. \n  1. Colabs running over 2*CRTL will be penalized according to the severity.\n  1. Students and instructors should use free Colab (with Tesla K80 GPU) to minimize timing discrepancies. \n  1. Try **subsampling** observations/features to stay within CRTL and avoid penalties\n1. We will only check your private leaderboard (LB) score\n1. Your LMS-submitted IPYNB code must reproduce your LB score. Seed all [RNG](https://en.wikipedia.org/wiki/Random_number_generation).\n  1. LB score of a model built on GPU is allowed to deviate within 1 rank.\n1. Your submitted **Colab notebook must run from start to end in < CRTL** (so it can be verified efficiently) without any error messages in Colab or **local** file dependencies.\n1. You can comment out your time-consuming grid-search use use optimal parameters and [EDA](https://en.wikipedia.org/wiki/Exploratory_data_analysis). \n1. Use Factory Reset and Restart Colab's Kernel often to ensure no errors in your code's execution\n1. Run/test all your final code in Colab, not on your local PC/laptop, to ensure reproducibility.\n\n## 𝓓𝓸𝓬𝓾𝓶𝓮𝓷𝓽𝓪𝓽𝓲𝓸𝓷:\n1. Clean up and comment on your code. \n1. Clearly communicate your modeling ideas, decisions and pipeline.\n\n## 𝓣𝓮𝓪𝓶𝔀𝓸𝓻𝓴:\n1. Your Kaggle profile should have your photo and a full name (for authentication and getting to know your peers).\n1. Name your Kaggle group/team as stated in Starter Colab\n1. Split the tasks among your assigned team members.\n  1. Your Kaggle team members should match LMS group members, so that grades are correctly allocated\n1. You (yourselves) should form your Kaggle team at least 1 day before the competition ends (or Kaggle may prevent you from doing so too late)!\n1. Students can only have a single account in this competition. Please do not cheat. It's not worth it.\n1. Please do not share the competition URL link with others outside of our class. \n \n## 𝓓𝓪𝓽𝓪 𝓗𝓪𝓷𝓭l𝓲𝓷𝓰:\n1. Do not hard code labeling in your code. This is cheating. The goal is to find the best model that abstracts away manual labeling.\n1. Use only data files provided in Colab starter code\n\n# 𝓖𝓻𝓪𝓭𝓲𝓷𝓰:\n1. Your team must beat our baseline score in order to have a passing grade\n1. Each school (HSE or JHU) is judged by its own baseline\n1. Kaggle instantly ranks your submissions. We grade code, adherence to rules, and reproducibility of LB score.\n1. LB grade calculation is done for ML course's graded students only: see grading rubric in LMS's assignment\n1. The grade also depends on your adherence to the rules, organized, legible and meaningfully-annotated code, use of markdown to explain what you have tried and how you derived the idea, and interesting modeling approaches. \n  1. Eg. if your team is at the top, but your code is poorly documented and runs overtime, it will likely result in lower grade\n  1. Likewise, if your team is at the bottom, but has a presentable/readable code with interesting and well documented techniques, we will bump up your grade\n1. Your LMS-submitted IPYNB code must reproduce your private LB score. Seed all [RNG](https://en.wikipedia.org/wiki/Random_number_generation).\n1. Run/test all your final code in Colab, not on your local PC/laptop or your results are unlikely to reproduce.\n\n# 𝓢𝓾𝓫𝓶𝓲𝓼𝓼𝓲𝓸𝓷 𝓲𝓷 𝓚𝓪𝓰𝓰l𝓮:\n1. Kaggle will ask you to choose your public LB's submissions for a private LB. Ensure that your private LB score is reproducible with IPYNB file, which you submit via LMS. Seed all [RNG](https://en.wikipedia.org/wiki/Random_number_generation)\n  1. We will load your team's IPYNB in Colab; run it; submit your output test file to Kaggle and verify your LB score\n1. Hint: It helps to name your Colab and submission files with the same meaningful name such as *datetime+preprocessing+features+model+tricks+etc*.\n \n# 𝓢𝓾𝓫𝓶𝓲𝓼𝓼𝓲𝓸𝓷 𝓽𝓸 𝓛𝓜𝓢:\nSee instructions in LMS assignment. One submission per team.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}