{
  "fetched_at": "2026-10-24T07:17:49Z",
  "source_url": "https://www.kaggle.com/competitions/data-preparation-exercise/data",
  "pages": [
    {
      "name": "rules",
      "content": "This is a page where you can include rules that participants must accept before joining. You may wish to include rules like:\n\n - Don't cheat!\n - Apply yourself!\n - Have fun!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "data-description",
      "content": "<p>In this exercise you will practice applying what you learned in the previous lessons in the context of a use case working with customer data. Before you begin working on this lesson, read the following background information about the Customers dataset and use case. <p>Background\nYou work for a technical services company that sells three monthly subscription products: \n•\tSilver (price:  $9.99/month)\n•\tGold (price: $14.99/month)\n•\tPlatinum (price: $29.99/month)\n The company occasionally offers promotional discounts – therefore, some product prices may be slightly lower than those listed above. Your overall goal is to provide an analysis of sales activity by zip code. \n \nIn order to do this, you’ll need to join your Lab_customers dataset (where zip code information resides) with sales data from your transactions datasets (for the datasets, see the instruction section below). Once you’ve joined the data, you’ll need to aggregate the results.\n</p>\n<h2>File descriptions</h2>\n<ul>\n<li><strong>lab_customers.csv</strong>\n<li><strong>lab_2010_transactions.csv</strong>\n<li><strong>sampleSubmission.csv</strong> - a sample submission file in the correct format</li>\n<li><strong>metaData.csv</strong> - supplemental information about the data</li>\n<li>etc...</li>\n</ul>\n<h2>Data fields</h2>\n<ul>\n<li><strong>customer_id</strong> - an anonymous id unique to a given customer</li>\n<li><strong>movie_id</strong> - the id of a movie</li>\n<li><strong>movie_title</strong> - the title of a movie</li>\n<li>etc...</li>\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<p>In this exercise you will practice applying what you learned in the previous lessons in the context of a use case working with customer data. Before you begin working on this lesson, read the following background information about the Customers dataset and use case.<p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>The evaluation pages describes how submissions will be scored and how students should format their submissions. You don't need a sub-title at the top (the page title appears above). For an example of a high quality evaluation page, see the 2013 KDD Cup page, which we have copied here:</p>\r\n<hr />\r\n<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>\r\n<p>\\[ F1 = 2\\frac{p \\cdot r}{p+r}\\ \\ \\mathrm{where}\\ \\ p = \\frac{tp}{tp+fp},\\ \\ r = \\frac{tp}{tp+fn} \\]</p>\r\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>\r\n<h2>Submission Format</h2>\r\n<p><strong>For every author in the dataset</strong>, submission files should contain two columns: AuthorId and DuplicateAuthorIds. DuplicateAuthorIds should be a space-delimited list. Every AuthorId counts as his/her own duplicate, and every duplicate should be listed under each of its respective ids. For example, if you suspect author A, B, and C are the same, you should list (A,A B C), (B,B A C), (C,C A B).</p>\r\n<p>The file should contain a header and have the following format:</p>\r\n<pre>AuthorId,DuplicateAuthorIds<br />1,1<br /><span style=\"font-size: 14px; line-height: 1.4em;\">8,8<br />9,9 10<br /></span><span style=\"font-size: 14px; line-height: 1.4em;\">10,10 9<br /></span><span style=\"font-size: 14px; line-height: 1.4em;\">etc.</span></pre>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}