{
  "fetched_at": "2026-10-20T02:12:48Z",
  "source_url": "https://www.kaggle.com/competitions/be-my-guest-dsml2021/data",
  "pages": [
    {
      "name": "data-description",
      "content": "<h2>File descriptions</h2>\n<ul>\n<li><strong>train.csv</strong> - the training set</li>\n<li><strong>test.csv</strong> - the test set</li>\n<li><strong>sampleSubmission.csv</strong> - a sample submission file in the correct format</li>\n</ul>\n<h2>Data fields</h2>\n<ul>\n<li><strong>Guest_ID - </strong>Unique identifier of the guest</li>\n<li><strong>Name - </strong>The name of the guest</li>\n<li><strong> Frequent_Traveler - </strong>Binary variable indicating if the guest is a frequent flier or not</li>\n<li><strong> Date_Birth - </strong>Guest date of birth</li>\n<li><strong> Type - </strong>Reason for travelling</li>\n<li><strong> Flight_Class - </strong>Class of flight took to get to the hotel</li>\n<li><strong> Points - </strong>Points from travel club membership</li>\n<li><strong> Room - </strong>Evaluation of the room (0 to 5)</li>\n<li><strong> Check-in/Check-out - </strong>Evaluation of the check-in/check-out process (0 to 5)</li>\n<li><strong> F&B - </strong>Evaluation of the food and beverages (0 to 5)</li>\n<li><strong> Location - </strong>Evaluation of the hotel location (0 to 5)</li>\n<li><strong> Wifi - </strong>Evaluation of the hotel wifi (0 to 5)</li>\n<li><strong> Entertainment - </strong>Evaluation of the entertainment offer (0 to 5)</li>\n<li><strong> Gym - </strong>Evaluation of the gym (0 to 5)</li>\n<li><strong> Spa - </strong>Evaluation of the spa (0 to 5)</li>\n<li><strong> Staff - </strong>Evaluation of the staff (0 to 5)</li>\n<li><strong> Pool - </strong>Evaluation of the pool (0 to 5)</li>\n<li><strong> Baggage_Handling - </strong>Evaluation of the baggage handling process (0 to 5)</li>\n<li><strong> Reception - </strong>Evaluation of the reception (0 to 5)</li>\n<li><strong> Cleanliness - </strong>Evaluation of the cleanliness (0 to 5)</li>\n<li><strong> Online_Booking - </strong>Evaluation of the online booking process (0 to 5)</li>\n<li><strong> Deposit_Kept - </strong>Amount withdrawn from the credit card of the guest to cover damages</li>\n<li><strong> Time_Room_Service - </strong>Average time (minutes) the guest waited to receive room service</li>\n<li><strong> Repeater - </strong>Binary variable signaling if the customer returned or not (up until a year after the first visit)</li>\n</ul>\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<p>The hotel chain IMSInn, like many other hotels, has been keeping score of all the customer satisfaction surveys their guest kindly fill out and leave in their room after their stay. However, until know they were only used to obtain an overall satisfaction score. </p>\n<p>Recent developments of the global pandemic have caused business to slow down and the marketing department is working like crazy to figure a strategy to keep the impacts at a minimum. The idea is to target customers with a high probability of returning and give them discounts if they make a booking for next year, helping to contain marketing costs while guarantying some cash inflow.</p>\n<p>Your goal is to build a predictive model that answers the question “Which guests are more likely to return?” using the small quantity of data accessible from the guest data base that contains general information about the guests and their satisfaction survey responses, explained bellow. </p>\n\n<h2>Datasets</h2>\n<pre>&lt;p&gt;\nThe training set should be used to build your machine learning models. In this set, you also have the ground truth associated with each guest, i.e., if he returned or not.\nThe test set should be used to see how well your model performs on unseen data. In this set you don’t have access to the ground truth, and the goal of your team is to predict that value (“0” or “1”) by using the model you created using the training set.\nThe score of your predictions is calculated using f1 score.\n&lt;/p&gt;</pre>\n\n<h2> Deliverables </h2>\n<pre>&lt;p&gt;\nYou should submit a csv file with the number of instances in the test set, containing the columns [Guest_ID, Repeater], and only those columns. The Repeater column should contain the prediction (“0” or “1”).\n&lt;/p&gt;</pre>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>The evaluation metric for this competition is <a href=\"https://www.kaggle.com/wiki/MeanFScore\"> Mean F1-Score</a>. The F1 score, commonly used in information retrieval, measures accuracy using the statistics precision p and recall r. Precision is the ratio of true positives (tp) to all predicted positives (tp + fp). Recall is the ratio of true positives to all actual positives (tp + fn). The F1 score is given by:</p>\n<p>\n\\[ F1 = 2\\frac{p \\cdot r}{p+r}\\ \\ \\mathrm{where}\\ \\ p = \\frac{tp}{tp+fp},\\ \\ r = \\frac{tp}{tp+fn} \\]</p>\n<p>The 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.</p>\n<h2>Submission Format</h2>\n<p><strong>For every guest in the dataset</strong>, submission files should contain two columns: Guest_ID and Repeater. \n</p><p>The file should contain a header and have the following format:</p>\n<pre>Guest_ID,Repeater<br>19847,1<br>12433,0<br>10273,1<br><br>etc.</pre>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "**NOTE:** The deliverables / submissions / projects that do not have the below conditions will be highly penalized.\n\n**ABOUT THE PROJECT** <br>\n1 - You can only use Sklearn machine learning models (you can use other libraries for different purposes than modelling). <br>\n\n**ABOUT THE DELIVERED NOTEBOOK**<br>\n1 - All the code that is not needed to obtain your final solution should be commented.<br><br>\n2 - The notebook should be able to run from the beginning till the end with no errors in any machine (if you install libraries besides the ones we gave during practical classes, do not forget to write code in order install those libraries when running the notebook).<br><br>\n3 - The cells of the notebook delivered should have a running sequence order (i.e., you should run one last time the complete notebook before delivering it - in a way that all the cells respect an ascending order of running).<br><br>\n4 - The results obtained concerning the performance of your final model should be visible on the notebook.<br><br>\n5 - If you use gridsearch or something similar like random search please create the final model in another cell that consider the best parameters (don’t leave just the gridsearch without any mention which were the best parameters chosen during this process)<br><br>\n6 - While it is not supposed from us to run the jupyter notebook, if any doubt arises we may do it. If the notebook does not run till the end, you are going to be penalized in the grade. If when we run the notebook, the performance of your model does not match the performance with the model chosen in Kaggle, your grade will be penalized. <br><br>\n\n**ABOUT KAGGLE**<br>\n1 - In Kaggle you should assign one and only one submission as your final submission, that will correspond to the notebook delivered (more instructions on how to select only one submission on moodle).<br><br>\n2 - Regarding evaluation, the final performance is taking into account the public score (30% of the dataset) and the private score (70% of the dataset). The secret to avoid having big differences on the public and on the private score is to build a model that does not overfit (in that way you should get similar results in both subsets).<br><br>\n3 - While it is not supposed from us to run the jupyter notebook, if any doubt arises we may do it. If the notebook does not run till the end, you are going to be penalized in the grade. If when we run the notebook, the performance of your model does not match the performance with the model chosen in Kaggle, your grade will be penalized. <br><br>\n4 - You can upload at most 5 daily submissions<br><br>\n5 - The user name on Kaggle should be your student number and name in the following format - StudentNumber_name (for example, 20101234_Carina_Albuquerque).<br><br>\n6 - Each submission in Kaggle should have different names and should have the version name in the following format – StudentNumber_VersionXX.csv (for example, the student 20101234 submitted his 8th version, the file should be named as 20101234__Version08.csv)<br>\n<br>\nAnd do not forget:<br>\n - Don't cheat!<br>\n - Apply yourself!<br>\n - Have fun!<br>\n - Keep Safe!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}