Statewide transportation funding gap, 2013β2025
Revenue and expenditure are from OSPI SAFS F-196 annual financial reports (2013-14 through 2024-25). Expenditure is the full Program 99 (Pupil Transportation) total β all transportation activities including to-and-from service (51β59), pupil safety (25, 35), and payments to other districts (29). Across the past twelve school years, the statewide weighted gap between transportation revenue and expenditure (actuals) has had a median of β$42 per pupil (see Mean Β± Ο in the KPI cards above), with a typical range (IQR) of β$49 to β$26 per pupil. The worst year was 2013-14 at β$106; the best was 2018-19 at +$41, the year after the McCleary funding ramp began. Per-pupil spending has roughly doubled over the period, from $432 to $808 per K-12 FTE.
Revenue here is what districts received β a combination of the STARS allocation (the state formula), legislative add-ons, and other local/federal sources. The STARS allocation alone (visible as the striped column in the chart) typically covers 60β80% of what districts actually spend. The gap between the solid revenue bar and the red expenditure bar is the funding shortfall that districts must absorb from their general fund or reserves. The STARS funding tab shows the formula behind the allocation for any district.
District rankings by funding gap
Districts ranked by the median per-year per-pupil gap within your selected year range β a more honest summary than summing cumulative dollars, which masks year-to-year volatility. The sparklines show each district's actual yearly trajectory; some shortfalls are chronic, others are spikes. Rankings are based on actuals (F-196 reported figures, not budget).
(K FTE)
Revenue versus expenditure β all years & COVID movement
STARS transportation data for 315 districts. Each mark is one district in one year. The dashed line is break-even. Select a district below to highlight it in both charts.
Each point is one district's spending in a single component for a single year. Within each component, the left cluster is pre-COVID (through 2019β20) and the right cluster is post-COVID (2020β21 onward). Color encodes school year (purpleβyellow via Plasma scale). Click a legend year to toggle it.
(K FTE)
Each point is one district's spending in a single component for a single year. Within each component, the left cluster is budgeted (F-195, circles) and the right cluster is actual (F-196, triangles), divided by a line. Color encodes school year (purpleβyellow via Plasma scale). Click a legend year to toggle it.
(K FTE)
(K FTE)
Reading the chart
Points above the dashed line: revenue exceeded expenditure (surplus).
Points below the line: revenue fell short (shortfall).
Color encodes school year (purpleβyellow, olderβnewer via Plasma scale).
Click any point to select that district in the Explorer.
Zoom: drag Y handles or X slider to zoom. Drag the red fill to pan. Reset to restore.
Two points per district connected by a line. Red = gap widened post-COVID; green = gap closed.
(K FTE)
Reading the chart
Pre-COVID (circle, faded)
Post-COVID (diamond, vivid)
Color = enrollment (Plasma scale):
<500 500β3K 3Kβ10K 10K+
Highlighted district gains a thick dark border.
Gap widened
Gap closed
Color intensity encodes enrollment (Plasma scale, 6 buckets).
Zoom: drag Y handles or X slider to zoom. Drag the red fill to pan.
The full twelve-year ledger, for any district
Search or scroll to select. The chart shows revenue, expenditure, and the running gap year by year (actuals). Click any row in the Funding Gap tab's shortfalls or surpluses table to jump straight to that district.
STARS funding by district
STARS formula inputs, allocation history, count-day analysis, and funding formula legal framework. Select a district to explore its STARS profile over all available years (2017-18 onward). Operational charts (riders, routes, buses, cost per rider, etc.) are in the District Explorer tab.
What is STARS?
The Student Transportation Allocation Reporting System (STARS) is the method Washington State uses to distribute transportation operations funding to all ~295 school districts. It is administered by OSPI's Student Transportation office.
STARS determines how much state money each district receives to operate its student transportation program. It is explicitly an allocation formula, not a mandate β districts can spend more or less than they receive, and the formula does not dictate service levels or vehicle types (RCW 28A.160.150).
The legal framework: three layers
Layer 1: Statute β RCW 28A.160.180
The core statute says each district's allocation "shall be based on a regression analysis of the number of basic and special students transported and as many other site characteristics that are identified as being statistically significant." It names four input categories: basic passenger counts, special passenger counts, average distance to school, and number of destinations served.
The statute does not specify: the regression form (log-linear, linear, etc.), which transformations to apply, the specific coefficients, how many variables survive the significance test, or the constant term. All of these are delegated to the Superintendent of Public Instruction (OSPI).
Layer 2: Administrative Code β WAC 392-141-360
The WAC adds specificity: coefficients are determined by a statewide regression of district data elements against prior-year expenditures, recalculated annually. A data element must be "statistically significant for two consecutive school years" to be included. Districts must report data three times per year (October, February, May).
The WAC lists the data elements: (a) prior-year basic student passengers (CBPC), (b) prior-year special student passengers (CSPC), (c) number of destinations served, (d) average one-way distance, (e) square miles of the district (land area), (f) nonhigh district indicator, and (g) "any other district data element" that passes the two-year significance test.
The WAC also establishes the D.2 cap: each district's actual allocation is the lesser of the prior-year expenditures (adjusted as required by the legislature) or the calculated allocation.
Layer 3: OSPI implementation
OSPI implements the formula as a log-linear (semi-log) regression. The expected allocation (EXAL) is computed as shown in the formula explorer above. The coefficients change every year because the regression is re-run annually against all districts' prior-year data.
There is no statute, WAC, or published OSPI document that formally specifies the log-linear form. The annual 1026A allocation detail reports are the authoritative definition. The 2020 OFM study confirmed the methodology is sound but did not formalize it beyond the existing statutory language.
The D.2 cap mechanism
RCW 28A.160.192 adds critical constraints to the distribution formula:
The "lesser of" provision: each district receives the lesser of its calculated STARS allocation or its prior-year actual expenditures (adjusted by the legislature). This is the D.2 cap visible in the formula explorer above.
Legislative salary adjustment: the legislature can add compensation adjustments on top of the base allocation.
Why the D.2 cap matters: when a district's costs spike, the D.2 cap uses the prior year's lower expenditure as the ceiling. This creates a structural lag β the allocation can never keep up with rapidly rising costs because it is always looking backward.
Key formula characteristics
The Basic / Special asymmetry
The Basic coefficient (typically ~0.665) is roughly 6Γ the Special coefficient (~0.110). At typical large-district counts, each Basic rider is worth ~$2,650/yr in allocation while each Special rider is worth ~$440/yr. Both figures are marginal values that decrease as counts get larger due to the log transformation.
Coefficient volatility
Coefficients are recalculated annually from the statewide regression and are not fixed. The 2020-21 COVID year produced extreme coefficients (the basic coefficient dropped from 0.710 in 2019-20 to 0.392 in 2020-21) because the statewide regression was fitted against pandemic-distorted data. This is visible in the formula explorer by toggling between years.
The log transformation
CBPC and CSPC enter the formula as ln(count+1). This means the marginal value of each additional rider decreases as counts get larger. A district with 1,000 Basic riders gets more value per rider than a district with 10,000. This structurally disadvantages large urban districts.
The 2020 OFM study
Section 129, Chapter 357, Laws of 2020 directed the Office of Financial Management to study the STARS funding model. The resulting study (December 2020) found:
- The model is statistically sound (RΒ² = 0.9679). The natural log transformation "makes sense and is empirically supported."
- Some districts are persistently underfunded: 36 districts had allocations below 90% of costs during three of the last four years. OFM could not find a pattern explaining why.
- The system underfunds overall: without the McCleary funding influx, districts would not have had enough allocated money to cover costs for the fourth consecutive year.
- The "lesser of" provision helps some, hurts others: it trims allocations that would be 25%+ above or below costs, but many districts still receive less than 90% of costs.
- Statutory error identified: RCW 28A.160.192 refers to "independent variable" when it should say "dependent variable."
- Land area may be insignificant: OFM found the land area variable is insignificant in both transformed and non-transformed versions. OSPI retains it because it meets the two-year significance test in the statewide regression.
2025 legislative changes
2025 c 372 / ESSB 5009, effective September 1, 2026, amends RCW 28A.160.180 to:
- Include non-bus vehicles: district-owned passenger cars must now be included in the overall allocation determination. Students transported in passenger cars count in the basic or special passenger counts, average distance, and destinations.
- New driver rules: OSPI must develop rules for drivers transporting students in state-inspected vehicles other than school buses. These drivers need the appropriate license but may not require a CDL.
- Expanded vehicle categories: RCW 28A.160.195 replaces "school bus" with "student transportation vehicle" throughout, broadening the categories eligible for state reimbursement.
Additionally, SB 5174 (2023-24 session) proposed directing OSPI to gather additional data for developing a new funding formula, creating a transportation safety net program for districts with excess costs from special populations, and requiring OSPI to analyze costs and allocations by 2026.
What districts control vs. what they don't
- Count day selection β which 3 consecutive days within each reporting window (WAC 392-141-420)
- Walk zone definition β affects how many students are eligible for bus service
- Route structure β how routes are organized
- Program classification β how students are classified as Basic vs Special
- Regression methodology (log-linear form, transformations)
- Annual coefficient calculation
- Which variables survive significance testing
- Reporting deadlines and count period windows
- Overall appropriation level
- The D.2 cap mechanism
- Salary/benefit adjustments
- Whether to reform or replace STARS
Sources
- RCW 28A.160.150β.192 β Washington State statutes governing student transportation allocation.
- WAC 392-141-360 β Administrative code specifying the operations allocation computation.
- OFM Pupil Transportation Allocation Study (December 2020) β Legislatively mandated review of the STARS model.
- 2025 c 372 / ESSB 5009 β 2025 legislative amendments to 28A.160, effective September 1, 2026.
- SB 5174 (2023-24) β Proposed transportation safety net and formula reform.
- OSPI STARS Reports page β Annual 1026A allocation detail reports and quarterly district reports.
- OSPI STARS Detailed Guidance β Count day rules including WAC 392-141-420(8) prohibition on promoting ridership during count period.
- OSPI RCW/WAC Reference Compilation β January 2020 compilation of all student transportation statutes and rules.
Methodology & sources
Data: OSPI SAFS F-196 (actuals) and F-195 (budget), as ingested by the SPS-By-The-Numbers data-tools project into BigQuery (safs_f19x.general_fund_revenues and safs_f19x.general_fund_expenditures). District enrollment from OSPI's historical enrollment summary workbook, summed across grades K-12 (FTE, includes ALE).
Transportation revenue is defined as any revenue line where revenue_code MOD 100 = 99 β the "pupil transportation" program tag. Transportation expenditure is the full Program 99 (Pupil Transportation) total β every general-fund expenditure line tagged to Program 99, summed across all activity codes (to-and-from service 51β59, pupil management and safety staff 25 and 35, and payments to other districts 29) and all object codes (salaries, benefits, purchased services, supplies, travel, capital outlay, and transfers). Actuals come from F-196 and budget from F-195, both pulled from safs_f19x.general_fund_expenditures filtered to program_code = 99. The District Explorer and Funding Gap tabs break this total into eleven functional components (purchased transportation, supervision/operations/maintenance/safety staff, supplies, capital, payments to districts, remote learning, and net transfers).
What this dataset cannot show: Special-ed transportation cannot be cleanly separated from general transportation in this data β it appears that districts code transportation lines either entirely under Program 99 or entirely under their special-ed program (e.g. Program 21), and the program Γ activity intersection is sparse. F-196/F-195 figures carry no ridership counts, so per-pupil (enrollment FTE) and per-destination (from STARS) are the available normalizations on the finance side; true per-rider cost comes only from the STARS KPI reports shown in the District Explorer.
STARS data: Operational detail comes from OSPI's Student Transportation Allocation Reporting System (STARS), a set of five report types published per district per school year. The SPS-By-The-Numbers STARS scraper extracted 15,476 source PDFs and DOCXs into 8 structured CSV fact tables covering roughly 330 districts from 2017-18 onward (315 of which match the F-196 finance set used elsewhere in this dashboard):
- Quarterly district reports β ridership by program (Basic, Special Ed, Bilingual, Gifted, Homeless, Early Ed), route counts, bus counts, and average route distance, reported Fall/Winter/Spring.
- Operations allocation (Form 1026A) β the STARS funding allocation per district, including the D.8 actual allocation amount used in this dashboard.
- KPI reports β OSPI's official cost-per-rider, basic-riders-per-bus, and sped-riders-per-bus metrics with three trailing data years per report.
- Efficiency reports β Relative Efficiency Rating (RER) per district, computed from a weighted cohort comparison of cost, ridership, and distance metrics.
- Efficiency review narratives β RTC review metadata for districts crossing the 90% RER threshold.
The STARS data enables the District Explorer's operational detail charts (riders, routes, buses by program type), the cost-per-mile and cost-per-rider analyses, and the OSPI KPI comparisons in the District Explorer. Source code for the PDF/DOCX parsers is at github.com/SPS-By-The-Numbers/data-tools/extractors/stars.
Cleaning: 62 of 6,648 source rows were dropped: one with a corrupt negative ccddd (likely a sign-overflow bug upstream) and 61 with ccddd codes ending in 9xx that did not join to the district domain table β these are typically state schools, juvenile facilities, or charter authorizers rather than regular K-12 districts.
Color palette: Scatter plots encode school year on a Plasma scale (purple β yellow, older β newer); the funding-gap rankings use semantic red for shortfalls and green for surpluses. The eleven expenditure components use a distinct qualitative palette. Shape carries a redundant encoding where two series share a plot: circles for budget vs. triangles for actual in the Budget-vs-Actual scatter, and circles vs. diamonds for pre- vs. post-COVID in the COVID-divide scatter. A selected district's points are outlined in ink and drawn on top.
Download data
All datasets embedded in this dashboard are available for download as JSON. Click any button to save the file.