# Marathon finish times

Retrieved and checked on 2026-09-23 from the authors' public data for Allen,
Dechow, Pope, and Wu (2017), “Reference-Dependent Preferences: Evidence from
Marathon Runners,” *Management Science*.

- [Authors' data page](https://faculty.chicagobooth.edu/george.wu/research/marathon/data.htm)
- [Original full-split sample CSV](https://uchicago.box.com/s/77xmm072npostcw3yszng7uzd6l4ptz1)
- [Paper](https://doi.org/10.1287/mnsc.2015.2417)

`marathon.csv` contains a uniform random sample of 200,000 rows, drawn without
replacement from the authors' 873,674-row **full-split sample**. This source is
a subset of their 9,789,093-result full sample. It contains results from 15
marathons, with years ranging from 2003 through 2013; the classroom sample
contains all 15 marathon names and the same year range. It is not a random
sample of all marathon runners worldwide.

Each row is one recorded marathon finish. A person could have multiple race
results. The three retained columns are:

```text
Column          Meaning
finish_minutes  Chip time in minutes, renamed from the source's chiptime
marathon        Marathon name, as recorded in the source
year            Year of the race
```

Chip time measures elapsed time from the runner's start-line crossing to the
finish-line crossing. The source identifies `chiptime` as minutes. No times
were rounded or altered. Other columns were omitted to reduce the download
size. No rows were excluded by race, year, or finish time. There are no missing
values in these three columns, and every finish time is positive and finite.

Recreate the classroom file from the course repository root with:

```sh
Rscript f26/course_design/prepare_marathon.R
```

The script requires `readr`, downloads the 119.8 MB original CSV to a temporary
file, checks its MD5, and samples with R's Mersenne-Twister/Inversion/Rejection
random-number settings and seed 306. It preserves the selected rows' source
order. An existing source download can be passed as the first argument.
The original source is not stored in the course repository.

The broad distribution has a long right tail. One-minute bins show a rise in
counts approaching four hours and a fall immediately afterward. The peak near
four hours is below 240 minutes. Use `boundary = 0, closed = "left"` for
`geom_histogram()` so each bin includes its lower endpoint and excludes its
upper endpoint. Verified counts in the classroom file are:

```text
Goal          Minute immediately before    Minute immediately after
3 hours       [179, 180):  357              [180, 181):  206
4 hours       [239, 240): 1704              [240, 241): 1404
5 hours       [299, 300): 1117              [300, 301): 1063
```

The four-hour comparison is 300 additional results in the minute before the
threshold, or 21.4% more than in the minute after it. This descriptive pattern
is consistent with runners trying to finish under a round time; these three
columns do not record their individual goals or establish why they finished
at a particular time.

```text
SHA-256                                                           File
1385e613082f1d57aac994f3c3448b90a94b0ebe28a3d6f7780a66e29e72215e  full_split_sample.csv (original)
c6beccde4ec8d1072f7739a8ca2b5f23017d50db58ca3d6243af102c91ee28a8  marathon.csv (classroom sample)
```
