Skip to content
ExamSpine

Markscheme: Practice Paper 1, SL, set 1

Mark your own answers point by point. The number in brackets after each point is what it is worth.

Section A

Answer all questions.

Question 1

The processor in a school library's self-checkout kiosk runs a program that adds up the fines on a student's account.

(a) State the function of the arithmetic logic unit (ALU). [1]

(b) State what is held in the program counter (PC). [1]

[2]

  • p1 [1]

    (a) States that the ALU carries out arithmetic operations (such as adding) and logical operations (such as comparisons or AND/OR).

  • p2 [1]

    (b) States that the PC holds the memory address of the next instruction to be fetched.

Also accept

  • For p1, "does the calculations and the comparisons" earns the mark.
  • For p1, "performs arithmetic" alone, or "performs logical operations" alone, earns the mark.
  • For p2, "the address of the instruction that will be fetched next" earns the mark.

No marks for

  • For (a), "controls the other parts of the CPU". That is the control unit.
  • For (b), "holds the next instruction". The PC holds the address of the instruction, not the instruction itself (that goes into the instruction register).
  • For (b), "counts how many programs are running". The name misleads; it holds an address.

A full-marks answer

(a) The ALU performs arithmetic operations, such as adding two fines together, and logical operations, such as comparing two values.

(b) The program counter holds the memory address of the next instruction to be fetched.

Question 2

A weather station's processor is about to run the instruction LOAD 200, which copies the value stored at memory address 200 (the latest temperature reading) into the accumulator. The program counter currently holds 57, the address of this instruction.

Describe the fetch stage of the fetch, decode and execute cycle for this instruction, naming the registers and buses used. [4]

  • p1 [1]

    Any one correct step from this list, in the right place in the fetch stage: (1) the address in the PC (57) is copied into the memory address register (MAR); (2) the address is sent to memory on the address bus; (3) a memory read signal is sent on the control bus; (4) the instruction at address 57 comes back on the data bus; (5) it is placed in the memory data register (MDR); (6) it is copied into the instruction register (CIR or IR); (7) the program counter is incremented (to 58).

  • p2 [1]

    Any one further step from the list in p1 that has not already been credited.

  • p3 [1]

    Any one further step from the list in p1 that has not already been credited.

  • p4 [1]

    Any one further step from the list in p1 that has not already been credited.

Also accept

  • For step (5), "memory buffer register (MBR)" in place of MDR earns the mark.
  • For step (7), "the PC is increased by one" earns the mark. It may be placed anywhere after the PC is copied to the MAR.
  • A step written with the right register or bus but the wrong value (for example the MAR holding 200) earns nothing for that step.

No marks for

  • Saying the value at address 200 is fetched in this stage. Address 200 is used later, when the instruction is executed; the fetch stage fetches the instruction at 57.
  • Saying the address travels along the data bus. Addresses go on the address bus.
  • Saying the ALU decodes the instruction. Decoding is done by the control unit, and it is not part of the fetch stage.

A full-marks answer

The address 57 in the program counter is copied into the MAR. The MAR puts 57 on the address bus, and the control unit sends a memory read signal on the control bus. Memory sends the instruction stored at 57 (LOAD 200) along the data bus into the MDR, and from there it is copied into the instruction register, ready to be decoded. The program counter is incremented to 58 so that it points at the next instruction.

Question 3

A freezer in a school canteen logs its temperature in degrees Celsius as an 8-bit two's complement integer.

(a) Convert -45 into 8-bit two's complement. Show your working. [2]

(b) Convert the 8-bit two's complement value 10011010 into denary. [1]

(c) State the range of whole numbers that 8-bit two's complement can store. [1]

[4]

  • p1 [1]

    (a) Shows a correct method, for example writes +45 as 00101101, inverts every bit to 11010010, then adds 1.

  • p2 [1]

    (a) Gives the final answer 11010011.

  • p3 [1]

    (b) Gives -102 (-128 + 16 + 8 + 2).

  • p4 [1]

    (c) States -128 to +127.

Also accept

  • For p1, the method -128 + 83 = -45 with 83 written as 1010011 under the lower seven bits earns the mark.
  • For p1, "copy bits from the right up to and including the first 1, then invert the rest" applied to 00101101 earns the mark.

No marks for

  • For (a), 10101101. That is sign and magnitude (a 1 for the sign in front of 45), not two's complement.
  • For (a), 11010010. That inverts the bits but forgets to add 1.
  • For (b), 154. That reads the bits as an unsigned number.
  • For (c), -127 to +127, or -128 to +128.

A full-marks answer

(a) +45 = 00101101. Invert every bit: 11010010. Add 1: 11010011. So -45 is 11010011.

(b) The leftmost bit is worth -128. 10011010 = -128 + 16 + 8 + 2 = -102.

(c) From -128 to +127.

Question 4

A school greenhouse has three sensors, each giving 1 or 0.

  • A is 1 when the temperature is too high.
  • B is 1 when the roof window is closed.
  • C is 1 when the soil is moist.

A warning light X turns on when the temperature is too high and the window is closed, or when the soil is not moist.

(a) Write a Boolean expression for X. [1]

(b) Construct the truth table for X, with columns A, B, C and X. [3]

[4]

  • p1 [1]

    (a) Writes X = (A AND B) OR (NOT C), or the same expression in any standard notation.

  • p2 [1]

    (b) Lists all eight combinations of A, B and C, each exactly once.

  • p3 [2]

    (b) Gives the X column with X = 1 for (A,B,C) = 000, 010, 100, 110 and 111, and X = 0 for 001, 011 and 101. Award 1 of the 2 marks if exactly one X value is wrong.

Also accept

  • For p1, "X = A.B + C'" or "X = (A ∧ B) ∨ ¬C" earns the mark.
  • For p3, follow through from a wrong expression in (a) if the column is correct for the student's own expression and that expression has at least one AND, OR and NOT.
  • Rows listed in a different order earn p2 and p3 if every row is present and correct.

No marks for

  • For (a), A AND (B OR NOT C). That changes the grouping and gives a different light.
  • For (a), A AND B OR C. The light is for soil that is not moist, so C must be negated.

A full-marks answer

(a) X = (A AND B) OR (NOT C)

(b)

ABCX
0001
0010
0101
0110
1001
1010
1101
1111

Question 5

In a school's computer lab, 30 desktop computers are each connected by a cable to one device in the corner of the room. The lab is part of the school network, which connects to the internet. Tablets in the school library join the same network without cables.

(a) State the function of the switch that the 30 lab computers are connected to. [1]

(b) State the function of the school's router. [1]

(c) State the device that lets the library tablets join the school network without cables. [1]

[3]

  • p1 [1]

    (a) The switch connects devices on the same local network and forwards each frame only to the device it is addressed to (using its MAC address).

  • p2 [1]

    (b) The router forwards packets between different networks, here between the school network and the internet, choosing where to send them by IP address.

  • p3 [1]

    (c) Names a wireless access point (WAP).

Also accept

  • For p1, "sends data from one lab computer to the right computer in the lab" earns the mark.
  • For p2, "connects the school network to the internet (another network) and directs traffic between them" earns the mark.
  • For p3, "access point" or "Wi-Fi access point" earns the mark.
  • For p3, "a wireless router" earns the mark only if the answer says it is the wireless access point built into it that lets the tablets connect.

No marks for

  • For (a), "connects the computers to the internet". Reaching other networks is the router's job, not the switch's.
  • For (a), "sends every message to every computer". That describes a hub; a switch sends a frame only to the device it is for.
  • For (c), "Wi-Fi" or "wireless" alone. These name the technology, not the device.
  • For (c), "a router" alone. Routing between networks is not what lets the tablets connect.
  • For (c), "a modem". A modem converts signals for the connection to the internet provider; it does not give tablets access to the school network.

A full-marks answer

(a) The switch connects the lab computers into one local network and forwards each frame only to the computer it is addressed to, using that computer's MAC address.

(b) The router forwards packets between the school network and the internet, using IP addresses to decide where each packet goes next.

(c) A wireless access point.

Question 6

A music school gives live online violin lessons over a video call. After each lesson, students upload a recording of their practice as a file.

(a) State one feature of TCP that the file uploads need. [1]

(b) Explain why UDP is often used for the live video call. [2]

[3]

  • p1 [1]

    (a) States one TCP feature the uploads need, such as guaranteed delivery (lost packets are resent) or data arriving in the right order.

  • p2 [1]

    (b) UDP sets up no connection and does not acknowledge or resend lost packets, so each packet is delivered with less delay and less overhead.

  • p3 [1]

    (b) In a live call a lost packet is better skipped than resent, because a resent piece of video or sound would arrive too late to be played, while a small gap is hardly noticed.

Also accept

  • For p1, "error checking with acknowledgements" or "it sets up a connection so nothing is lost" earns the mark.
  • For p2, "no handshake and no retransmission, so lower latency" earns the mark.
  • For p3, "waiting for resent packets would make the call freeze or lag, which matters more than a brief glitch" earns the mark.

No marks for

  • For (b), "UDP is faster" with no reason. The mark is for why it has less delay.
  • For (b), "UDP is more secure" or "UDP is more reliable". Neither is true; UDP gives no delivery guarantee and no extra security.
  • For (a), "TCP is faster". TCP adds delay through acknowledgements and resending; the uploads need its reliability, not speed.

A full-marks answer

(a) Guaranteed delivery: TCP acknowledges each segment and resends any that are lost, so the recording arrives complete.

(b) UDP does not set up a connection and does not acknowledge or resend lost packets, so packets get through with less delay and less overhead. In a live call that matters more than completeness: a lost packet that was resent would arrive too late to be played, so it is better to skip it, and a tiny gap in the sound or picture is hardly noticed.

Question 7

A school sends end-of-term reports to 800 parents through an online portal. The reports must be encrypted while they travel over the internet.

(a) Compare symmetric and asymmetric encryption for this portal. Refer to how the keys are shared with parents and to the speed of each method. [5]

[5]

  • p1 [1]

    (a) Symmetric encryption uses the same secret key to encrypt the report and to decrypt the ciphertext.

  • p2 [1]

    (a) Asymmetric encryption uses a pair of keys, and data encrypted with the public key can only be decrypted with the matching private key.

  • p3 [1]

    (a) With symmetric encryption the shared key must reach each parent secretly first; sending it over the internet risks it being intercepted, and then anyone holding it can read the reports (the key distribution problem).

  • p4 [1]

    (a) With asymmetric encryption the portal's public key can be published openly, and a parent's browser can use it to send the portal a session key securely, because only the portal's private key can decrypt it.

  • p5 [1]

    (a) Symmetric encryption is much faster and needs less processing than asymmetric encryption.

Also accept

  • For p1, "one key both locks and unlocks the data" earns the mark.
  • For p3, "the school would have to give 800 parents a secret key some safe way, such as on paper" earns the mark if the risk of sending it openly is stated.
  • For p3, "if all 800 parents share one symmetric key, any parent could read every other family's report" earns the mark.
  • For p4, "each parent has a key pair and the school encrypts each report with that parent's public key, so no secret has to be sent in advance" earns the mark.
  • For p4, "the public key can be shared openly with every parent, because it cannot be used to decrypt, so nothing secret has to be sent in advance" earns the mark, unless the answer says the school encrypts reports to parents with the school's own public key.
  • For p5, "asymmetric is slow, so public-key cryptography is only used to agree a symmetric session key, which then encrypts the reports" earns the mark.

No marks for

  • For (a), "asymmetric is more secure" with no reason. The comparison must say what makes the difference (how the keys are shared).
  • For (a), "the private key is sent to the parents". The private key is never shared; that is the point of the key pair.
  • For (a), "symmetric encryption means the data is the same before and after". That confuses the key with the data; plaintext and ciphertext differ in both methods.

A full-marks answer

(a) Symmetric encryption uses one secret key both to encrypt a report and to decrypt the ciphertext. Asymmetric encryption uses a key pair: what is encrypted with the public key can only be decrypted with the matching private key. The big difference is sharing keys. With symmetric encryption the school must first get a secret key to each of 800 parents without anyone else seeing it; if it is sent over the internet it could be intercepted, and then the reports could be read. With asymmetric encryption the portal's public key can be published openly: a parent's browser uses it to send the portal a session key, and only the portal's private key can decrypt that, so nothing secret has to travel in advance. On the other hand, symmetric encryption is much faster and needs less processing. So in practice, as in HTTPS, public-key cryptography is used to agree a symmetric session key, and that fast symmetric key encrypts the reports themselves.

Question 8

Identify the keys in this small school library database. It has two tables.

TableFields
Bookbook_id, title, author, year_published
Loanloan_id, book_id, student_name, due_date, returned

Every loan gets a new loan_id. The same book can be borrowed many times, so one book_id can appear in many Loan records.

(a) Identify the primary key of the Loan table. [1]

(b) Identify the foreign key in the Loan table, and explain how it links a loan to the book that was borrowed. [2]

[3]

  • p1 [1]

    (a) Identifies loan_id as the primary key of Loan.

  • p2 [1]

    (b) Identifies book_id in the Loan table as the foreign key.

  • p3 [1]

    (b) Explains that the book_id value in a Loan record matches the primary key (book_id) of exactly one record in Book, so that record gives the title and author of the borrowed book.

Also accept

  • For p3, "book_id in Loan refers to book_id in Book, so the two tables can be joined on it to find which book was lent" earns the mark.
  • For p3, saying the database can then refuse a loan for a book_id that is not in Book (referential integrity) earns the mark only if it also says the value refers to the Book table's primary key.

No marks for

  • For (a), book_id. One book can be borrowed many times, so book_id repeats in Loan and cannot identify a single loan.
  • For (a), student_name. Two students can share a name, and one student can have many loans.
  • For (b), loan_id. It is the primary key of Loan and refers to no other table.
  • For (b), "it connects the tables" with no mention of matching the primary key of Book.

A full-marks answer

(a) loan_id. (p1)

(b) book_id is the foreign key. (p2) The value of book_id in each Loan record is the same as the primary key of one record in the Book table, so to find which book was borrowed you look up (or join on) that book_id in Book, which gives its title and author. (p3)

Question 9

A school library database has these two tables. In Loan, book_id is a foreign key to Book, and returned is a BOOLEAN.

Book

book_idtitleauthoryear_published
1Coral ReefsMbeki2019
2Dark Matter BasicsRuiz2012
3Algorithms for KidsTanaka2021
4Bridges of LisbonCosta2016
5Eclipse DiariesOkafor2015

Loan

loan_idbook_idstudent_namedue_datereturned
13Ana2026-11-02FALSE
21Ben2026-10-20TRUE
32Chloe2026-10-28FALSE
43Dev2026-10-15TRUE

(a) Construct an SQL query that lists the titles of all books published after 2015, in alphabetical order of title. [2]

(b) Construct an SQL query that lists the student_name and the title of the book for every loan that has not been returned. [3]

[5]

  • p1 [1]

    (a) SELECT title FROM Book with a WHERE condition that keeps exactly the books with year_published greater than 2015.

  • p2 [1]

    (a) ORDER BY title, ascending (ASC or no direction written).

  • p3 [1]

    (b) Joins Loan and Book on matching book_id, either with JOIN ... ON Loan.book_id = Book.book_id or with both tables in FROM and that equality in WHERE.

  • p4 [1]

    (b) Selects student_name and title (and no column is missing).

  • p5 [1]

    (b) Keeps only the loans where returned is FALSE.

Also accept

  • For p1, WHERE year_published >= 2016 earns the mark.
  • For p3, INNER JOIN, or short table names such as FROM Loan L JOIN Book B ON L.book_id = B.book_id, earns the mark.
  • For p3, JOIN Book USING (book_id) or NATURAL JOIN Book earns the mark, because book_id is the only column name the two tables share.
  • For p4, selecting extra columns as well, such as loan_id, earns the mark.
  • For p5, WHERE returned = 0 or WHERE NOT returned earns the mark.

No marks for

  • For (a), WHERE year_published >= 2015. It would also list Eclipse Diaries, published in 2015.
  • For (a), ORDER BY title DESC. That is reverse alphabetical order.
  • For (b), FROM Loan, Book with no join condition. That pairs every loan with every book.
  • For (b), WHERE returned = 'FALSE' with quotes. That compares with text, not a BOOLEAN.

A full-marks answer

(a)

SELECT title
FROM Book
WHERE year_published > 2015
ORDER BY title;

The WHERE line earns p1 and the ORDER BY line earns p2. It returns Algorithms for Kids, Bridges of Lisbon, Coral Reefs.

(b)

SELECT Loan.student_name, Book.title
FROM Loan
JOIN Book ON Loan.book_id = Book.book_id
WHERE Loan.returned = FALSE;

The JOIN line earns p3, the SELECT line earns p4 and the WHERE line earns p5. It returns two rows: Ana with Algorithms for Kids, and Chloe with Dark Matter Basics.

Question 10

A school canteen wants to estimate how many vegetarian lunches to cook each day. It is choosing between two solutions.

Solution 1 is a program in which the cook writes fixed rules, for example "cook 60, and 10 more on Fridays". Solution 2 is a machine learning model trained on two years of the canteen's daily sales records.

Outline how the way solution 2 gets its behaviour differs from the way solution 1 gets its behaviour. [2]

  • p1 [1]

    Says that in solution 1 a person writes the rules (the decision logic) by hand, so the program only does what it was told.

  • p2 [1]

    Says that in solution 2 the rules or patterns are learned from example data (the past sales records), not written by a person.

Also accept

  • For p1, "solution 1 is explicitly programmed" or "a programmer codes every case" earns the mark.
  • For p2, "the model finds the relationship between things like the day and the number sold from the data" earns the mark.
  • For p2, saying the model can be retrained on new records to change its behaviour, without anyone rewriting it, earns the mark if it is linked to learning from data.

No marks for

  • Saying solution 2 "is smarter" or "uses AI" without saying it learns from data.
  • Saying solution 2 needs no programming at all. Someone still writes the code that trains and runs the model.
  • Saying solution 2 is always more accurate. That is a claim about results, not about how the behaviour is produced.

A full-marks answer

In solution 1 the cook decides the rules and they are written into the program by hand, so it only follows those fixed rules. In solution 2 nobody writes the rules: the model learns the pattern, such as how the day of the week relates to sales, from the two years of past sales records.

Question 11

A city library is planning three systems. Identify the type of machine learning (supervised, unsupervised or reinforcement) that each one uses.

(a) A model is trained on 5000 past book reviews, each already tagged by staff as positive or negative. It then tags new reviews. [1]

(b) A model sorts library members into groups with similar borrowing habits. Nobody tells it what the groups should be. [1]

(c) A program controls a book-sorting robot arm. It gains a point for each book placed on the right shelf and loses a point for each book dropped, and it improves its movements over thousands of attempts. [1]

[3]

  • p1 [1]

    (a) Identifies supervised learning.

  • p2 [1]

    (b) Identifies unsupervised learning.

  • p3 [1]

    (c) Identifies reinforcement learning.

Also accept

  • For p1, "supervised classification" or "supervised (sentiment analysis)" earns the mark.
  • For p2, "unsupervised clustering" earns the mark.

No marks for

  • For (a), "unsupervised, because it works on new reviews by itself". The training reviews carry labels, which makes it supervised.
  • For (b), "supervised, because it puts members in groups". No labelled examples of the groups are given.
  • For (c), "supervised, because it is told when it is right". It gets a reward or penalty after acting, not a labelled correct answer for each input.

A full-marks answer

(a) Supervised learning.

(b) Unsupervised learning.

(c) Reinforcement learning.

Section B: practice scenario

Section B is in the case-study format, on a practice scenario written by Spine. It is not the IB's case study for your exam year. Read the scenario first. Each question refers to it.

Practice scenario (written by Spine, not an IB case study):

Larkford is a small city with a community bike-share called LarkBikes. It has 40 docking stations, each with between 10 and 20 docks. Each dock has a sensor that detects whether a bike is locked in it and reads the bike's ID tag. Every station sends its sensor readings to a central server over the mobile phone network every 5 minutes.

Riders register in the LarkBikes app with their name, email address, home postcode and date of birth. When a rider unlocks a bike, a trip starts. The server keeps riders, bikes, stations and trips in a relational database. Each trip record holds the rider, the bike, the start station, the end station, and the start and end times. The database now holds two years of trips.

Every evening, a machine learning model is trained on the trip records together with the hour of the day, the day of the week, whether it is a school holiday, and the weather. For each station, it predicts how many bikes will be taken in each hour of the next day. A van crew uses these predictions to move bikes to stations that are expected to run out.

The 28 stations in the city centre are busy. The 12 stations in the outer districts were added last year and record far fewer trips.

Question 12

(a) State whether the LarkBikes model performs classification or regression, and give a reason. [2]

(b) Identify one feature the model uses and the label it learns to predict. [2]

[4]

  • p1 [1]

    (a) States that the model performs regression.

  • p2 [1]

    (a) Gives the reason that it predicts a number (how many bikes will be taken), not one of a fixed set of categories.

  • p3 [1]

    (b) Gives one feature named in the scenario, such as the hour of the day, the day of the week, whether it is a school holiday, the weather, or the station.

  • p4 [1]

    (b) Gives the label as the number of bikes actually taken from a station in a given hour, counted from the trip records.

Also accept

  • For p2, "the output is a quantity or a count" earns the mark.
  • For p3, "the temperature" or "whether it is raining" earns the mark as part of the weather.
  • For p4, "the number of trips starting at that station in that hour" earns the mark.

No marks for

  • For (a), "classification, because it sorts stations into ones that will run out and ones that will not". The model outputs a number of bikes; the van crew makes that decision.
  • For (b), "the number of bikes taken" given as the feature. It is what the model predicts, so it is the label.
  • For (b), "the rider's name" as a feature. The model predicts demand per station, and a name tells it nothing about demand.

A full-marks answer

(a) Regression, because the model outputs a number, how many bikes will be taken from a station in an hour, rather than choosing a category.

(b) One feature is the hour of the day. The label is the number of bikes actually taken from that station in that hour, counted from the trip records.

Question 13

(a) Suggest a primary key for the Trip table, and explain why the rider's ID would not work as the primary key on its own. [2]

(b) Describe how the Trip table is linked to the Station table, and identify the relationship between Station and Trip. [2]

[4]

  • p1 [1]

    (a) Suggests a trip ID that is unique to each trip, for example a number the database gives each new trip.

  • p2 [1]

    (a) Explains that one rider makes many trips, so the rider's ID repeats in the Trip table and cannot identify a single trip.

  • p3 [1]

    (b) Describes the Trip table holding the station ID (the Station table's primary key) as a foreign key, for the start station and for the end station.

  • p4 [1]

    (b) Identifies a one-to-many relationship, one station to many trips (each trip starts at one station, and a station has many trips).

Also accept

  • For p1, a composite key of bike ID and start time earns the mark, since one bike cannot start two trips at the same moment.
  • For p1, a composite key of rider ID and start time earns the mark, since one rider cannot start two trips at the same moment, as long as the answer says both fields are needed together.
  • For p3, a description that names only one foreign key (start station ID) earns the mark.

No marks for

  • For (a), suggesting the start time on its own. Two riders can unlock bikes at the same minute at different stations.
  • For (a), suggesting the rider's name. Names are not unique and also repeat across trips.
  • For (b), "the tables are linked by the station name" with no idea of a key in Trip that matches Station's primary key.
  • For (b), "many-to-many". Each trip has exactly one start station.

A full-marks answer

(a) A TripID that the database gives each new trip, so no two trips share one. The rider's ID is not unique in the Trip table: one rider makes many trips over two years, so it cannot pick out one trip.

(b) The Trip table stores StartStationID and EndStationID as foreign keys. Each holds a value of StationID, the primary key of the Station table. The relationship is one-to-many: one station has many trips starting there, but each trip starts at exactly one station.

Question 14

The model predicts few trips at the outer-district stations, so the van rarely brings bikes there. Riders in the outer districts often find those stations empty.

Discuss whether it is fair to use the model's predictions to decide where the van takes bikes. [4]

  • p1 [1]

    Explains where the low predictions come from, for example the outer stations have only one year of records and far fewer trips, so the model has little data and predicts low demand there.

  • p2 [1]

    Explains the feedback loop, for example the trip records only count bikes actually taken, not riders who found a station empty, so empty stations record few trips, the model predicts even lower demand, and the van brings even fewer bikes.

  • p3 [1]

    Identifies who is harmed and how, for example riders in the outer districts get a worse service for the same scheme, even if the model is accurate overall, and they may have fewer other ways to travel.

  • p4 [1]

    Reaches a supported judgement that includes a change, for example record failed attempts to find a bike as unmet demand, or keep a minimum number of bikes at every station, and keep using the model above that minimum because it helps the busy centre.

Also accept

  • For p3, "the model can be accurate and still unfair, because accuracy is measured on the trips that happened" earns the mark.
  • For p4, a judgement that using the model is fair for now because the outer stations really are quieter, supported by a plan to check it once more data exists, earns the mark.

No marks for

  • Saying the model is unfair "because it is a computer" or "because AI is biased" with no link to the data.
  • Saying the outer-district riders should just walk to a city-centre station.
  • A one-sided answer with no judgement.

A full-marks answer

The low predictions come from the data. The outer stations were added only last year and record far fewer trips, so the model has little to learn from and predicts low demand there. This can feed on itself. The trip records only count bikes that were actually taken, not riders who arrived at an empty station. If the van rarely brings bikes, few trips are recorded, the model predicts even lower demand, and the van brings even fewer. The people harmed are riders in the outer districts, who are part of the same scheme but get a worse service, and who may have fewer buses or other options. The model could still be accurate overall, because accuracy is measured on the trips that happened. On the other hand, the outer stations may truly be quieter, and moving bikes to where they are used helps more riders in total. My judgement is that using the model on its own is not fair. LarkBikes should keep a minimum number of bikes at every station, record each time the app finds no bike nearby as unmet demand, and use the model to place the remaining bikes.

Back to the paper