CONDENSING THE BART SCHEDULE

The information in the BART schedule is very redundant. Trains on a given line pass through a given station at regular intervals for large parts of the day; hence the list of times at which the train comes to a given station in one of those patterns can be specified by saying when the pattern begins, what the time-interval between arrivals is, and when the pattern ends.

Moreover, the time from one station to another on a given line is nearly constant, so instead of specifying the pattern of times separately at each station, it is enough to specify that pattern at one point on each route, and then give information to determine the necessary adjustments for the other points of the route.

What point on each route should be used in listing the daily patterns? In the various BART lines going through Daly City, the sequence of stations between Daly City and West Oakland is the same, but then one gets either a sequence leading to Pittsburgh/Bay Point, or a sequence leading to Richmond, or a sequence leading to Fremont or Dublin/Pleasanton. Likewise, the lines having Richmond at one end agree between Richmond and 12th Street, but beyond 12th Street one has either the sequence leading to Daly City or the sequence leading to Fremont. Hence I decided to tabulate the times on each line relative to the point in the center where they connect; a fictitious point between the West Oakland, Lake Merritt and 12th Street stations. I called this point "Y", and tabulated the typical time between "Y" and each station on each branch of the BART system. On particular routes, the time may differ from this "typical" time, but usually by at most a minute. The information about the schedule, including these small deviations, is encoded in the accompanying chart. (How to read it will be explained below, but if you want to take a look at it now, click here, then return to this explanation.)

(Note: the accompanying chart is out of date. It may be several months before I have time to adjust it to take account of changes made Feb.9, 2004)

There are a small number of pieces of scheduling information that are not completely encoded there: The first train on Sundays and the last train every day follow schedules which, for some lines, can't be easily described in terms of the schedules for other times. I give information which allows one to closely approximate those two schedules, but not to determine them exactly in all cases.

To describe how the information is shown on the chart, let me first sketch the typical pattern of a given BART line. It is easiest to start with Saturdays: On that day, trains run on an unchanging 20-minute schedule throughout the day, except for the last train. The Sunday schedule is in general identical with the Saturday schedule, except that it starts later, and often begins with one train which does not match the Saturday schedule, but runs significantly slower. Finally, on weekdays, trains on a given line generally run at 15-minute intervals from the first train until the early evening, then switch to the Saturday schedule, which they follow precisely through the last train.

There are various exceptions to this general pattern. The lines between Richmond and Daly City and between Fremont and Daly City have no Sunday or evening service. (Riders at those times use instead a combination of the trains between Richmond and Fremont, and those between Pittsburg/Baypoint and Millbrae.) The weekday schedule between Richmond and Fremont is different during the first hour of service, and during the last hour before it goes over to the evening (i.e., weekend) schedule, from what it is for most of the day. The lines between Pittsburg/Baypoint and Millbrae have some extra trains during rush hour (timed exactly 5 minutes before or after the trains on the regular 15 minute pattern). Certain trains, including most of these rush hour extras, begin or end at points other than the ends of line. And a peculiarity of the last train of the day on many lines is that there is a point on the route beyond which the arrival times suddenly become later, by around 10 minutes, than one would expect from the earlier times. (I suppose the train stops for about 10 minutes at the station where this occurs, though since I haven't ridden BART at that hour, that is just a guess.)

To put all these details into a chart, I have encoded the schedules with the following 10 capital and 10 lower-case letters, and one special symbol. Below, "15 min." etc. denotes the time between successive trains on the schedule, and "reverse" means the line running between the same endpoints, in reverse direction, with the same interval (15 minutes or 20 minutes) between trains:

A: Richmond to Daly City, 15 min.;   a: reverse.
B: Richmond to Daly City, 20 min.;   b: reverse.
E: Pittsburg/Baypoint to Millbrae, 15 min.;   e: reverse.
F: Pittsburg/Baypoint to Millbrae, 20 min.;   f: reverse.
I: Fremont to Daly City, 15 min.;   i: reverse.
J: Fremont to Daly City, 20 min.;   j: reverse.
M: Richmond to Fremont, 15 min.;   m: reverse.
N: Richmond to Fremont, 20 min.;   n: reverse.
S: Dublin/Pleasanton to S F Int. Airport, 15 min.;   s: reverse.
T: Dublin/Pleasanton to S F Int. Airport, 20 min.;   t: reverse.
Ų: Schedule not following the regular timing of any of the above, described or approximated explicitly on chart.

(You do not need to memorize the above list to use the chart, as we will see below.)

The first part of the chart, "Times from Y", shows, for each of the four branches of the BART system, the "typical" time between each station on the branch and the point "Y". To encode deviations from these typical times, I have put the letter-code for a given route to the left of the typical time if, for that route, the time between that station and "Y" is one minute less than the time shown, while a letter-code to the right means the time is one minute more. (This would be a good point to start looking at the chart, moving back and forth between it and this explanation.) There are a few cases where the deviation is by two minutes rather than one, e.g., route "N" at 12th St.; this is shown by doubling the letter-code on the appropriate side. The times shown for "Y" itself are, of course 0 minutes; but there are several cases in which a letter-code is shown next to that time. In these cases, the corresponding correction applies to all the times on the list above that notation.

The remainder of the chart consists of information on specific lines. I use the notation x(n)y to denote the sequence of times starting at time x and ending at time y with intervals of n minutes; i.e., x, x+n, x+2n,... y-n, y. Each such list of times is preceded by the letter-code for the relevant schedule (which is why the list of letter-codes does not have to be memorized to use the chart). So, for example, the first entry, regarding the Richmond to Daly City schedule, namely

Wkdays: A: 5:35(15)18:35
says that on weekdays, trains run on schedule "A", starting with the train that goes through "Y" at 5:35, and running every 15 minutes till 18:35 (i.e., 6:35 PM). So, for instance, if we want to know when the first train from Richmond passes through Ashby, we get this by subtracting from 5:35 the time between Ashby and "Y", which the table at the top of the page shows is 10 minutes; so that time is 5:25. To get the time when that same train reaches Daly City, we add to 5:35 the time between "Y" and Daly City, 27 minutes, getting 6:02. To compute when that train leaves Richmond, note that the typical time from Richmond to "Y" is shown as 26 minutes, but that there is an "A" among the letters to the left of that time, so that 26 is decreased to 25 for a train on the "A" schedule (which the "A:" before the above displayed times shows this to be). Hence the time is 5:35-25 minutes = 5:10.

Deviations in timing that can't be encoded in the table at the top of the chart are indicated in two ways. One is exemplified in the notation on the first line of the MILLB to PITTS schedule: "e: 4:38(15)19:53 [4:38 fr COLMA, -1 at COLMA]" The bracketed notation indicates that the first train in the sequence described starts at Colma instead of Millbrae, and that although its times at other stations fit the "e" schedule for a train going through "Y" at 4:38, in computing its time at Colma itself, we should reduce the "typical time" shown in the chart by 1. Since that typical time is 31 minutes, the time of departure of that train from Colma is 4:38-30 = 4:08. (Note that this "-1" makes the time a minute later than it would otherwise have been. On the other hand, a "-1" attached to a station after "Y" in a route makes the time a minute earlier, since in computing times of arrival at such stations, we add the typical time, with any indicated corrections, to the time at "Y".) The other way deviations in timing are indicated is exemplified in the "Evenings" notation three lines later: "like Sat fr 20:08 [20:08 like 20:09 except at 12ST]". In other words, the evening schedule for this line is exactly like the Saturday schedule, starting with the train that goes through "Y" at 20:08 (8:08 PM) on Saturdays, except that that train is one minute later on weekdays, at all stations except 12th Street (where it arrives at the same time as on Saturdays - I don't know why).

With the latest extension of BART, there is one line that does not go through "Y", the two-station MILLB-SFIA line. I have put the information about that line at the bottom of the chart, specifying the time of each run by giving the time at SFIA, whether this is the beginning or endpoint. I have not created letter-codes for that line, nor can the time between stations be determined from the table at the top of the page. (SFIA and MILLB are at approximately the same distance from "Y".) Fortunately, as I indicate on the header line in that schedule, the timing is very simple: 5 minutes each way.

Incidentally, the abbreviations for BART stations that I use in the chart are those in the schedules on the BART web page, which for some reason differ from those in BART's printed pamphlet; e.g., I use SFIA and MILLB as on the web page rather than SFO and MILL as in the pamphlet.

The chart is set up to be printed as a plain text file on a single side of a sheet of 8.5" x 11" paper: it uses precisely the number of lines (66) and the number of characters in its longest lines (86) that the printers in the UC Berkeley math system allow per page in a plain text file. I don't recommend printing it directly from one's browser, however: When I printed it from Netscape, some blank lines were added at the top, making it slop over into a second page, while when I printed it from Mozilla, additional information (URL, date etc.) was added at the corners and a smaller type size was used to fit it onto one page. I don't know whether people accessing it on different systems would have similar problems, but one can get around these "features" of one's browser by saving the chart as a plain ASCII file, and printing that directly from one's computer. (Users on Berkeley Math Department unix machines can, more simply, do  lpr  ~gbergman/public_html/misc/BART/sched_03_06.text.)

The chart currently shows the schedules that came into effect on 22 June, 2003; the full schedules are shown on the BART Schedule Web Page. I prepared this version of the chart by comparing the printed BART schedule with the previous version of my chart and making the changes I found. I haven't had time to double-check them, but hopefully there will not be many inaccuracies, since the schedule turned out to be very similar to the previous one. If you find any, however, please let me know.

In case you want to refer to them, here are similar charts for the schedules that were in effect July 22 to September 9, 2002 and September 10, 2002 to June 21, 2003. (As you can see, the layout of my charts was less crowded before I had to deal with the double challenge of adding several new stations to the table at the top, and putting in the SFIA-MILLB schedule! When still more stations are added, I'll have to either give up trying to keep the chart printable on one side of an 8.5" x 11" page, or set it up to be printed at a smaller point size, perhaps as an html file.)

George Bergman, 19 July 2003