Bahrain Grand Prix
01/Classification
Finishing order
| Pos | Driver | Constructor | Grid | +/- | Laps | Time / status | Pts | Fastest lap |
|---|---|---|---|---|---|---|---|---|
| 1 | Nico Rosberg | Mercedes | 2 | +1 | 57 | 1:33:34.696 | 25 | 1:34.482 L41 |
| 2 | Kimi Räikkönen | Ferrari | 4 | +2 | 57 | +10.282 | 18 | 1:35.158 L39 |
| 3 | Lewis Hamilton | Mercedes | 1 | -2 | 57 | +30.148 | 15 | 1:34.677 L43 |
| 4 | Daniel Ricciardo | Red Bull | 5 | +1 | 57 | +1:02.494 | 12 | 1:36.064 L44 |
| 5 | Romain Grosjean | Haas F1 Team | 9 | +4 | 57 | +1:18.299 | 10 | 1:36.095 L42 |
| 6 | Max Verstappen | Toro Rosso | 10 | +4 | 57 | +1:20.929 | 8 | 1:35.504 L49 |
| 7 | Daniil Kvyat | Red Bull | 15 | +8 | 56 | +1 Lap | 6 | 1:35.678 L36 |
| 8 | Felipe Massa | Williams | 7 | -1 | 56 | +1 Lap | 4 | 1:37.560 L31 |
| 9 | Valtteri Bottas | Williams | 6 | -3 | 56 | +1 Lap | 2 | 1:37.077 L37 |
| 10 | Stoffel Vandoorne | McLaren | 12 | +2 | 56 | +1 Lap | 1 | 1:36.121 L44 |
| 11 | Kevin Magnussen | Renault | 22 | +11 | 56 | +1 Lap | 0 | 1:36.730 L40 |
| 12 | Marcus Ericsson | Sauber | 17 | +5 | 56 | +1 Lap | 0 | 1:38.003 L32 |
| 13 | Pascal Wehrlein | Manor Marussia | 16 | +3 | 56 | +1 Lap | 0 | 1:35.448 L43 |
| 14 | Felipe Nasr | Sauber | 21 | +7 | 56 | +1 Lap | 0 | 1:35.360 L49 |
| 15 | Nico Hülkenberg | Force India | 8 | -7 | 56 | +1 Lap | 0 | 1:35.188 L53 |
| 16 | Sergio Pérez | Force India | 18 | +2 | 56 | +1 Lap | 0 | 1:36.067 L39 |
| 17 | Rio Haryanto | Manor Marussia | 20 | +3 | 56 | +1 Lap | 0 | 1:36.685 L47 |
| R | Carlos Sainz | Toro Rosso | 11 | — | 29 | Retired | 0 | 1:38.408 L22 |
| R | Esteban Gutiérrez | Haas F1 Team | 13 | — | 9 | Retired | 0 | 1:39.341 L2 |
| R | Jenson Button | McLaren | 14 | — | 6 | Power Unit | 0 | 1:39.427 L3 |
| W | Sebastian Vettel | Ferrari | 3 | — | 0 | Engine | 0 | — |
| W | Jolyon Palmer | Renault | 19 | — | 0 | Hydraulics | 0 | — |
Ordered on the source’s position column and printed from position_text. Those two disagree on purpose: position is a sort key that is never null, and position_text is what happened to the car. 5 of 22 cars here were not classified (3 retired, 2 withdrew). Across the archive that is 9,612 of 26,048 result rows, so a page that printed the sort key would tell more than a third of every field it finished.
02/Grid to finish
Grid minus finishing position
| Driver | Constructor | Grid | Fin | +/- |
|---|---|---|---|---|
| Kevin Magnussen | Renault | 22 | 11 | +11 |
| Daniil Kvyat | Red Bull | 15 | 7 | +8 |
| Felipe Nasr | Sauber | 21 | 14 | +7 |
| Marcus Ericsson | Sauber | 17 | 12 | +5 |
| Romain Grosjean | Haas F1 Team | 9 | 5 | +4 |
| Driver | Constructor | Grid | Fin | +/- |
|---|---|---|---|---|
| Nico Hülkenberg | Force India | 8 | 15 | -7 |
| Valtteri Bottas | Williams | 6 | 9 | -3 |
| Lewis Hamilton | Mercedes | 1 | 3 | -2 |
| Felipe Massa | Williams | 7 | 8 | -1 |
Movement is grid minus finishing position, and it is computed for 17 of the 22 cars entered. It is left blank for the other 5: a car that was not classified has no finishing position to subtract from, and no car here carries grid 0, the value the source uses for a pit lane start or for no recorded grid slot. Scoring a grid of 0 as a gain of every place on the grid is the arithmetic this rule exists to stop; 266 of 26,048 rows across the archive are grid 0, and 40 of those were classified.
03/The 2016 season
MAR 20 to NOV 27
| Rd | Date | Grand Prix | Circuit | Winner | Constructor | Cars |
|---|---|---|---|---|---|---|
| 1 | MAR 20 | Australian Grand Prix | Albert Park Grand Prix Circuit | Nico Rosberg | Mercedes | 22 |
| 2 | APR 3 | Bahrain Grand Prix | Bahrain International Circuit | Nico Rosberg | Mercedes | 22 |
| 3 | APR 17 | Chinese Grand Prix | Shanghai International Circuit | Nico Rosberg | Mercedes | 22 |
| 4 | MAY 1 | Russian Grand Prix | Sochi Autodrom | Nico Rosberg | Mercedes | 22 |
| 5 | MAY 15 | Spanish Grand Prix | Circuit de Barcelona-Catalunya | Max Verstappen | Red Bull | 22 |
| 6 | MAY 29 | Monaco Grand Prix | Circuit de Monaco | Lewis Hamilton | Mercedes | 22 |
| 7 | JUN 12 | Canadian Grand Prix | Circuit Gilles Villeneuve | Lewis Hamilton | Mercedes | 22 |
| 8 | JUN 19 | European Grand Prix | Baku City Circuit | Nico Rosberg | Mercedes | 22 |
| 9 | JUL 3 | Austrian Grand Prix | Red Bull Ring | Lewis Hamilton | Mercedes | 22 |
| 10 | JUL 10 | British Grand Prix | Silverstone Circuit | Lewis Hamilton | Mercedes | 22 |
| 11 | JUL 24 | Hungarian Grand Prix | Hungaroring | Lewis Hamilton | Mercedes | 22 |
| 12 | JUL 31 | German Grand Prix | Hockenheimring | Lewis Hamilton | Mercedes | 22 |
| 13 | AUG 28 | Belgian Grand Prix | Circuit de Spa-Francorchamps | Nico Rosberg | Mercedes | 22 |
| 14 | SEP 4 | Italian Grand Prix | Autodromo Nazionale di Monza | Nico Rosberg | Mercedes | 22 |
| 15 | SEP 18 | Singapore Grand Prix | Marina Bay Street Circuit | Nico Rosberg | Mercedes | 22 |
| 16 | OCT 2 | Malaysian Grand Prix | Sepang International Circuit | Daniel Ricciardo | Red Bull | 22 |
| 17 | OCT 9 | Japanese Grand Prix | Suzuka Circuit | Nico Rosberg | Mercedes | 22 |
| 18 | OCT 23 | United States Grand Prix | Circuit of the Americas | Lewis Hamilton | Mercedes | 22 |
| 19 | OCT 30 | Mexican Grand Prix | Autódromo Hermanos Rodríguez | Lewis Hamilton | Mercedes | 22 |
| 20 | NOV 13 | Brazilian Grand Prix | Autódromo José Carlos Pace | Lewis Hamilton | Mercedes | 22 |
| 21 | NOV 27 | Abu Dhabi Grand Prix | Yas Marina Circuit | Lewis Hamilton | Mercedes | 22 |
Every figure here is one race, read from f1_results and f1_races. The finishing order is the source’s position column; the printed position is position_text, which is a letter on 9,612 of 26,048 rows across the archive (R retired 9,089, W withdrew 364, D disqualified 159). Grid 0 is a pit lane start and prints as PIT, not as a place ahead of pole; 266 of 26,048 rows are grid 0. Time is a total for the winner and a gap to the car ahead for everyone else, and it is present on 8,508 of 26,048 rows only, so most of the archive shows the status instead; where both exist and the status is not “Finished” the status is printed beside the time, because 8,335 of 16,436 classified rows finished lapped or otherwise not cleanly. The fastest lap column is empty before 2004: the source carries lap timing on 8,977 of 26,048 rows and a ranked fastest lap in 447 of 1,161 races, and speed on 8,238 of those, none after 2024. Points are printed as the source stores them and are never rounded to a whole number: 38 of 26,048 rows are fractional (0.5, 1.33, 3.14), which is half points for a shortened race and a split score for a shared car, and every one of them is real. Three races (1951 French, 1956 Argentine, 1957 British) print two cars as first, because two drivers shared one car and the record books credit both; in those three the source hangs the race points on other rows, which is why 5 of 1,164 winning rows across the archive print zero points. Constructors carry no logo in any f1_* table, so none is drawn and none is invented. The 2016 season is complete at 21 rounds.