{
  "fetched_at": "2026-10-19T18:58:59Z",
  "source_url": "https://www.kaggle.com/competitions/facebook-ii/data",
  "pages": [
    {
      "name": "Prizes",
      "content": "<p>There is no monetary prize for this competition and no points will be awarded. Highly ranked contestants who indicate their interest will be considered by Facebook for further interviews based on their work in the competition and additional background. &nbsp;<span>Positions\r\n are available in <strong>Menlo Park</strong>, <strong>Seattle</strong>, <strong>\r\nNew York City</strong>, and <strong>London</strong>; candidates must have, or be eligible to obtain, authorization to work in the US or UK.</span></p>\r\n<p><img src=\"https://storage.googleapis.com/kaggle-media/competitions/kaggle/3163/media/Facebook%20Careers2.png\" alt=\"\"></p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "<h3>One account per participant</h3>\r\n<p>You cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.</p>\r\n<h3>No sharing outside teams</h3>\r\n<p>Any sharing code or data outside of teams is not permitted. This includes making code or data made available to all players, such as on the forums.</p>\r\n<h3>Team Limits</h3>\r\n<p>The maximum size of a team is 1 participants.</p>\r\n<h3>Anonymous Teams</h3>\r\n<p>You are allowed to make your team anonymous, which hides participant details.</p>\r\n<h3>Submission Limits</h3>\r\n<p>You can submit a maximum of 2 entries per day.</p>\r\n<p>You can select up to 5 final submissions for judging.</p>\r\n<h3>License</h3>\r\n<p>Candidates grant Facebook a license to use the Intellectual Property behind any submission\r\n<span style=\"text-decoration:underline\">only</span> for the purposes of assessing the submission and&nbsp;evaluate the suitability of the Participant for employment. &nbsp;The Participant must deliver the algorithm’s code and documentation to Sponsor if they wish to\r\n be considered for employment. &nbsp;The source code must contain a description of resources required to build and run the algorithm. &nbsp;</p>\r\n<p>The Official Rules document of the competition can be downloaded <a href=\"https://storage.googleapis.com/kaggle-media/competitions/kaggle/3163/media/Facebook%20II%20Competition%20Rules.pdf\">\r\nhere</a>.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "data-description",
      "content": "<p><br>\r\nThere are 15 graphs in the training set and 5 in the test set. These are directed, dynamic, real-world Internet topology graphs with nodes that correspond to&nbsp;<a title=\"Autonomous Systems\" href=\"http://en.wikipedia.org/wiki/Autonomous_System_(Internet)\">Autonomous\r\n Systems</a>&nbsp;(AS). &nbsp;Each graph is sampled at a fixed time interval, \\\\(\\Delta t\\\\), apart. &nbsp;The 5 test graphs represent the status of the network at the 5 time points after the final training graph, but are&nbsp;<em>not</em>&nbsp;supplied to participants.&nbsp;</p>\r\n<table border=\"0\" align=\"center\" style=\"width:200px; margin-left:auto; margin-right:auto\">\r\n<tbody>\r\n<tr>\r\n<td>Graph</td>\r\n<td>Time</td>\r\n<td>Supplied?</td>\r\n</tr>\r\n<tr>\r\n<td>train1</td>\r\n<td>&nbsp;\\\\( t_0 \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train2</td>\r\n<td>&nbsp;\\\\( t_0 &#43;\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train3</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 2\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train4</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 3\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train5</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 4\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train6</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 5\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train7</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 6\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train8</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 7\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train9</td>\r\n<td>&nbsp;\\\\( t_0 &#43; 8\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train10</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 9\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train11</td>\r\n<td>\r\n<p>&nbsp;\\\\( t_{0} &#43; 10\\Delta t \\\\)</p>\r\n</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train12</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 11\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train13</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 12\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train14</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 13\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>train15</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 14\\Delta t \\\\)</td>\r\n<td>&nbsp;Y</td>\r\n</tr>\r\n<tr>\r\n<td>test1</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 15\\Delta t \\\\)</td>\r\n<td>&nbsp;N&nbsp;</td>\r\n</tr>\r\n<tr>\r\n<td>test2</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 16\\Delta t \\\\)</td>\r\n<td>&nbsp;N</td>\r\n</tr>\r\n<tr>\r\n<td>test3</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 17\\Delta t \\\\)</td>\r\n<td>&nbsp;N</td>\r\n</tr>\r\n<tr>\r\n<td>test4</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 18\\Delta t \\\\)</td>\r\n<td>&nbsp;N</td>\r\n</tr>\r\n<tr>\r\n<td>test5</td>\r\n<td>&nbsp;\\\\( t_{0} &#43; 19\\Delta t \\\\)</td>\r\n<td>&nbsp;N</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n<p>Edges may appear and disappear as routing patterns change over time.&nbsp;&nbsp;Some nodes are peers (A-&gt;B means A can exchange traffic through B for free) and some are connected by regular edges (A-&gt;B means A pays B to route their traffic). &nbsp;Peers have weights of\r\n zero in the training data and regular edges have weights of one.&nbsp;</p>\r\n<p>We have shuffled the AS numbers and replaced them with distorted versions of the AS names. In other words, the names are arbitrary with respect to reality, but consistent within the data. &nbsp;For example, if the original graph has the AS number/name</p>\r\n<p style=\"padding-left:30px\">26 CORNELL - Cornell University,</p>\r\n<p>it would be remapped to a random new number and its corresponding name, say (hypothetically),</p>\r\n<p style=\"padding-left:30px\">11 HARVARD - Harvard University,</p>\r\n<p>with the text altered in some fashion. &nbsp;The AS remapping is done to discourage reverse engineering the graph. &nbsp;The text alteration is done to test participants' ability to turn messy, real-world data in to a computable format. &nbsp;Some AS names are not available.\r\n For these, we have left the AS number intact.</p>\r\n<p>For the prediction task, you are given a path which, at one point in the training time period,&nbsp;<em>was</em>&nbsp;an optimal path from node A to B. Here, “optimal” accounts for the peer relationships with zero-weight edges (i.e. it is the weighted shortest path).\r\n &nbsp;Many paths can have the same best optimal weight and are all considered optimal, regardless of the path length.</p>\r\n<p><strong>The training set graphs give links in the form:</strong></p>\r\n<p style=\"padding-left:30px\">Messy AS Name 1 | Messy AS Name 2 | Edge weight&nbsp;</p>\r\n<p><strong>The test set paths have the form:</strong></p>\r\n<p style=\"padding-left:30px\">Messy AS Name Start | Messy AS Name | ... |&nbsp;Messy AS Name | Messy AS Name End</p>\r\n<p>Example real data from the training set:</p>\r\n<pre>64649 | B--NSAORWKCPAEST Southern Cross Broadcasting. | 1<br>4715 | FISHNET-NZ Otago Regional Office | 1<br>NIC éc,ioxM S.C. | BCS CBS Technologies SA | 1<br>KOCAS-KW Kuwait Oil Company (K.S.C.) | 64998 | 0</pre>\r\n<p>You are supplied with 10000 paths (paths.txt). &nbsp;The task is then to predict, for all 5 test graphs, the probability that the given&nbsp;path is STILL an optimal path.</p>\r\n<p><span>Compute your probabilities as a&nbsp;</span><span>matrix of size 10000 x 5 (10000 path probabilities, predicted at each of the 5 test times), sorted according to the original order of the test set. Concatenate the five 10000 x 1 columns to get a 50000 x\r\n 1 column vector, and prepend a header row, &quot;Probability&quot;, to create a 50001-row column vector. To be explicit, if your probabilities for path \\\\(i\\\\) at time \\\\(j\\\\) are \\\\( p_{i,j} \\\\), the format should look like:</span></p>\r\n<p>$$ \\left( \\begin{array}{c}&nbsp;<br>\r\n\\text{Probability}\\\\<br>\r\np_{1,1}\\\\<br>\r\np_{2,1}\\\\<br>\r\n\\vdots \\\\<br>\r\np_{10000,1}\\\\<br>\r\np_{1,2}\\\\<br>\r\np_{2,2}\\\\<br>\r\n\\vdots \\\\<br>\r\np_{10000,2}\\\\<br>\r\n\\vdots \\\\<br>\r\np_{10000,5}\\\\<br>\r\n\\end{array} \\right) $$</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<p><span>For this challenge, potential Facebook recruits will be exploring the map of the entire internet. Unlike the map of a city, where best routes are relatively fixed except for the occasional construction or parade detour, the paths that information travels\r\n over the web are constantly changing. There is no centralized system of stop-lights or traffic cops. &nbsp;Instead, there are tens of thousands of autonomous systems using a common protocol to advertise the next available hops, updated depending on service-agreements,\r\n capacity, and load. This will be a test of both the candidates engineering know-how and their ability to statistically learn on complex, dynamic graph structures.</span></p>\r\n<p>The Task: you will be given a path which, at one point in the training time period,&nbsp;<em>was</em>&nbsp;an optimal path from node A to B. The question is then to make a probalistic prediction, for each of the 5 test graphs, whether the given path is STILL an optimal\r\n path. &nbsp;This is a much more difficult task than link prediction alone.&nbsp;The global structure of the graph may affect many optimal routes, paths can have varying lengths (and thus varying&nbsp;<em>a priori</em>&nbsp;probabilities of being optimal), and there may be multiple\r\n optimal routes for a given source &amp; destination.</p>\r\n<p><img src=\"https://storage.googleapis.com/kaggle-media/competitions/kaggle/3163/media/time_series_graphic.png\" alt=\"Graph time series\" width=\"504\" height=\"100\" style=\"display:block; margin-left:auto; margin-right:auto\"></p>\r\n<p>The Prize: Facebook is seeking data-savvy software engineers (Data Engineers) to build the next generation of systems that will transform the online experience of over a billion users. Appropriate candidates should have experience with multiple components\r\n across the big data stack (check out the <a href=\"https://www.kaggle.com/c/facebook-ii/prospector\">\r\nVisualization</a> track for another way to highlight your skills). &nbsp;There are many teams that they could be a fit for depending on their backgrounds&nbsp;.\r\n<em><span>Positions are available in Menlo Park, Seattle, New York City, and London; candidates must have, or be eligible to obtain, authorization to work in the US or UK.</span></em></p>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;<img src=\"https://storage.googleapis.com/kaggle-media/competitions/kaggle/3163/media/graph_inverted.gif\" alt=\"Round-trip times\" width=\"620\" height=\"607\" style=\"vertical-align:middle\"></p>\r\n<p style=\"text-align:center\">An example visualization of Internet topology (round-trip times) produced by Walrus&nbsp;<em><br>\r\n</em><em>(courtesy of Young Hyun and inverted for display purposes)</em></p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>Your predictions will be evaluated by the <a href=\"https://www.kaggle.com/wiki/AreaUnderCurve\">\r\nArea Under the ROC Curve</a> (AUC) metric. &nbsp;While the ground-truth is binary, real-valued submissions are allowed. See the\r\n<a title=\"Data Description\" href=\"https://www.kaggle.com/c/facebook-ii/data\">Data Description</a> page for instructions on formatting your submission.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Background Internet Routing Architecture",
      "content": "<p style=\"padding-left:30px\">&quot;The second [Autonomous System] level in the [internet] routing hierarchy is the&nbsp;<em>interdomain</em>&nbsp;routing domain. The interdomain routing environment describes how domains interconnect, but avoids the task of maintaining transit\r\n paths within each domain. In the interdomain space, a routing path to an address is described as a sequence of domains that must be transited to reach the domain that originates that particular address prefix. Today this interdomain space is maintained using\r\n Version 4 of the&nbsp;<em>Border Gateway Protocol</em>&nbsp;(BGPv4).</p>\r\n<p style=\"padding-left:30px\">Each routing domain is a single administrative domain, operated within a uniform set of routing policies, and is operated independently from any other domain. The domain is in effect an autonomous unit in the overall routing architecture,\r\n and is termed an&nbsp;<em>Autonomous System</em>&nbsp;(AS). Each of these ASs is uniquely identified using an&nbsp;<em>Autonomous System Number</em>&nbsp;(ASN).&quot;</p>\r\n<p><em>from <a title=\"Exploring autonomous system numbers\" href=\"http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-1/autonomous_system_numbers.html\" target=\"_blank\">\r\nExploring Autonomous System Numbers</a></em></p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Faqs",
      "content": "<p><strong>Q. Where are the forums?&nbsp;</strong></p>\r\n<p>The forums have been disabled in this competition to help ensure that each entry reflects only the participants' own work. &nbsp;They will be turned on after the competition closes to compare techniques. &nbsp;If you have a question about the data during the competition,\r\n please email&nbsp;<strong><a href=\"mailto:will.cukierski@kaggle.com\">will.cukierski@kaggle.com</a></strong>.</p>\r\n<p><strong>Q: Where did the data come from?<br>\r\n</strong>Competition rules prohibit de-anonymization. At a high level, this data comes from relationships inferred from router tables.</p>\r\n<p><strong><strong>Q: How long is the time step between graphs?!<br>\r\n</strong></strong>To reduce the temptation of de-anonymization, we have obsured this info. &nbsp;It is longer than milliseconds but shorter than years.&nbsp;</p>\r\n<p><strong>Q: Is the anonymitization same across all graphs?<br>\r\n</strong>AS numbers are mapped to the same anonymized number across the entire data set, but the text is altered in different ways within and accross each graph. &nbsp;For example, the same node will\r\n<strong>not&nbsp;</strong>be HARVARD in one graph and CORNELL in another, but it could be HARVARD in one graph and ARDVARH in another. &nbsp;<span style=\"font-family:arial\">We don't do this to be cruel, but rather because Facebook is interested in people who can work\r\n with messy problems.</span></p>\r\n<p><strong>Q: Some AS names can not be mapped to a unique node?<br>\r\n</strong>This is part of the challenge of messy data.&nbsp;We understand that it may not be possible to get a perfect score on the data, as presented.</p>\r\n<p><strong>Q: How many possible nodes are in the graph?<br>\r\n</strong>65535</p>\r\n<p><strong>Q: Are the peer edges (with weight 0) directed edges?<br>\r\n</strong>Yes, A|B|0 is still a directed edge in this case. &nbsp;A can send traffic through/to B for free, but it does not imply an edge exists from B-&gt;A. &nbsp;&nbsp;</p>\r\n<p><strong>Q:&nbsp;Some of the paths have only one node?<br>\r\n</strong><span>You can treat these paths the same as the others (although not quite as interesting). The weight of an edge from a node to itself is, by definition, 0.</span></p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}