Skip to content

danielbehargithub/NetivPlus-PublicTransport-DiD-Analysis

Repository files navigation

🚌 Causal Impact of Bus Lanes in Israel – Difference-in-Differences Analysis

📊 Overview

This project analyzes the causal impact of introducing dedicated bus lanes on public transport ridership in Israel.
Using data from the Israeli Ministry of Transportation, we estimated how new infrastructure changes affected ridership patterns through a Difference-in-Differences (DiD) framework.

The analysis compares treatment bus lines (routes affected by the lane implementation) with control lines (similar routes not affected by the change), while testing key causal assumptions.

📄 Full Project Report (Hebrew):


🧭 Background

Private car use in Israel imposes substantial external costs: congestion, air pollution, and road accidents- whose social burden exceeds the revenue collected from vehicle taxes.
Despite exceptionally high car taxation, ownership rates remain among the highest in the OECD, as limited public transport alternatives fail to offer a reliable substitute.

Evidence from previous studies suggests that prioritizing public transport infrastructure can enhance user experience and stimulate demand. These challenges motivated the policy of introducing “Netiv Plus” lanes, intended to improve travel efficiency for buses and high-occupancy vehicles and to promote a gradual shift toward shared and sustainable mobility.


📂 Data Overview

The analysis is based on public transport validation (“Tikufim”) data provided by the Israeli Ministry of Transportation.
This dataset includes all recorded passenger boardings across Israel since early 2019, covering buses, heavy rail, and light rail services.
Each validation record corresponds to a passenger tapping a smart card, containing information on: line number and direction, date and hour of travel.

image

It is important to note that not all passengers validate their cards, and the matching accuracy between validations and specific routes is estimated at roughly 90%.

Weekend and night-time data were excluded to focus on weekday commuting patterns (Sun–Thu, 06:00–22:00).


⚙️ Methodology

1. Causal Framework

The study employs a Difference-in-Differences (DiD) design to estimate the causal effect of new bus-lane policies on ridership.
This approach was chosen because most factors influencing public transport demand- socioeconomic, spatial, economic, and infrastructural- tend to evolve in parallel across nearby lines.
Thus, by comparing treatment lines (using the new lanes) and control lines (similar routes not affected), we isolate the net impact of the policy.

The model was specified as:

$$ rides_{it} = \beta_0 + \beta_1 , treated_i + \beta_2 , post_t + \beta_3 (treated_i \times post_t) + \epsilon_{it} $$

where $\beta_3$ measures the causal impact of opening new bus lanes on passenger volume.


2. Study Design

To evaluate the impact of bus-lane implementation, we compared pairs of bus lines with similar origin–destination patterns:
one treatment line that operates on a corridor where a bus lane was introduced,
and one control line that connects the same areas but runs on a nearby route unaffected by the policy.

By tracking changes in average ridership for both lines before and after the intervention,
the DiD estimator isolates whether the treatment line experienced a relative increase in passenger validations compared to its control counterpart.

The analysis focused on three main intercity corridors where “Netiv Plus” lanes were introduced in recent years:

Corridor Example Treatment Lines Example Control Lines Description
Highway 1 – To Jerusalem 118 (Modiin–Jerusalem), 577 (Elad–Jerusalem) 117, 277 (via Highway 443) Morning-only lane (6:30–9:00), opened Dec 2022
Highway 2 – Coastal Road 613, 616, 947 (via Highway 2) 640, 641, 921 (via Highway 4) Full-day bus lanes between Netanya and Glilot, opened Oct 2019
Ayalon North – Tel Aviv 177 (Yavne–Tel Aviv), 277 (Rehovot–Tel Aviv) 178 (via Azor) Extended bus lane from Holon to HaShalom, opened Sep 2022

This pairing strategy ensures that treatment and control routes serve the same travel demand but differ only in their exposure to the bus-lane policy-
allowing a clean measurement of the causal change in passenger volumes.


3. Assumptions and Validity Checks

To ensure causal validity, the following core DiD assumptions were tested:

Assumption Description
SUTVA / Consistency Each bus line was clearly classified as either treated or control, based on whether it operated through the new lane segment.
No Spillover Effects A potential concern is that improvements on the treatment line (e.g., faster or more reliable travel) could cause some passengers to shift away from nearby control lines serving similar origins and destinations. To test for this, we examined “spill lines”- additional routes operating in the same area but serving slightly different destinations. Stable ridership on these spill lines indicated that demand shifts were not simply due to passenger migration.
Parallel Trends Before the intervention, ridership gaps between treatment and control lines remained stable over time, confirming that both groups followed similar demand trajectories.
No Anticipation Passenger behavior showed no signs of change prior to the official lane openings, suggesting the policy’s announcement did not affect pre-intervention demand.

The analysis period was limited to post-COVID normalization and pre-war months to avoid exogenous shocks.

💡 This design allows us to estimate the true change in passenger volumes attributable to the new bus-lane infrastructure, isolating it from broader demand fluctuations.


🗺️ Visual Examples

Figure 1 – Highway 2 and Highway 1 “Netiv Plus” segments
Maps illustrating the new bus lanes introduced along Israel’s main intercity corridors.

image

Figure 2 – Treatment vs. Control Example
Right: Yavne → Tel Aviv via Ayalon North (treatment).
Left: Netanya → Petah Tikva via Highway 4 (control) (light blue- treatment via highway 2).
These maps visualize how paired lines share similar origins but differ in exposure to the bus-lane policy.

image

Figure 3 – evolution of ridership for one representative pair
(Elad → Jerusalem, treatment line 577 vs. control line 277).

image


🧾 Results

Main findings based on DiD estimates:

image

The table below summarizes the main Difference-in-Differences (DiD) results across all corridor pairs.

Interpretation focuses on three key criteria:

  1. Parallel Trends – confirmed when zero lies within the confidence interval (CI).
  2. DiD Effect – positive and statistically significant impact.
  3. Spillover – not significantly negative, indicating no passenger reallocation from control lines.

Across all segments, lines that showed a significant DiD effect failed at least one of the other validity checks- either non-parallel pre-trends or significant negative spillover.

🧪 Robustness Checks

Two robustness tests were performed:

  • Placebo test – shifting the treatment date backward showed no artificial effect.
  • Shorter time window – narrowing the analysis from one year to three months produced similar patterns.

These tests did not materially affect the conclusions, as most segments already failed the core validity assumptions before the robustness stage.


💬 Discussion and Conclusions

The findings provide useful insights into the challenges of applying causal inference to real-world transport data.

Across all ten tested line pairs, no line consistently demonstrated a causal increase in ridership following the introduction of new bus lanes.
In several cases, positive DiD effects appeared, but these were not supported by the parallel trends or spillover tests, reducing confidence in a genuine causal impact.

Long-term behavior change in public transport typically occurs gradually, as users gain confidence in reliability and service consistency.
Hence, the one-year post-implementation window may be too short to capture slower adoption, yet extending it risks confounding from unrelated policy and network changes.

It is also important to note that Israel’s “Netiv Plus” system differs from standard BRT implementations:
these lanes are shared with high-occupancy vehicles (2+ passengers) and are not physically separated from general traffic.
Such partial prioritization likely limits the potential impact on bus reliability and user perception, compared with fully dedicated BRT corridors.

⚠️ Limitations

  • The analysis relies on ticket validations, which may undercount riders (approx. 90% accuracy).
  • Imperfect counterfactual: control routes are similar but not identical (different roads/stop patterns/congestion exposure), so they cannot perfectly mirror the treated route in the absence of the policy.

🚀 Future Work

Future work could focus on evaluating the operational efficiency of the new lanes rather than ridership alone-
for example, measuring whether bus travel times and reliability have improved following the lane introduction.

Additionally, a comparative study could examine semi or fully dedicated BRT systems in Israel (e.g., Metronit, Jerusalem Light Rail)
to assess how infrastructure separation and exclusivity influence both speed and long-term ridership.


🔄 Reproduce / Run on Your Own Lines

You can plug in any bus lines you want and re-run the analysis:

1) Get the exact line IDs (and directions)

Use the public “Mar Kav” website to look up OfficeLineId and the direction for each route.
Example: search 201 here → you’ll see the internal ID in the URL and the direction info:
https://markav.net/line/10201/

Then edit tikuf_per_kav.py:

# lines you want to download/merge
office_line_ids = [11577, 10277, 12281]

# where to save the merged CSV
merged_output_path = os.path.join(output_dir, "tikufim_Elad_Jerusalem.csv")

# run file, script downloads data

2) Register a scenario (data path, event date, lines)

Open scenarios.py and add a new entry:

"ayalon_yavne": {
   # enter you output directory 
    "DATA_PATH": "../data/Ayalon/tikufim_Yavne.csv",
   
   # EVENT_DATE is the policy go-live for that corridor (used to split pre/post). 
    "EVENT_DATE": "2022-09-01",
   
   # Keys are the internal OfficeLineIds; the value 1/2 is the direction (as shown on Mar Kav).
    "TREATMENT_LINES": {15177: 1},
    "CONTROL_LINES":   {10178: 1},
    "Spillover_Lines": {13340: 1},
},

3) Add your scenario to the run list

Open diff_in_diff.py and include your scenario name in the scenarios = [...] list, then run:

scenarios = [
    'ayalon_yavne', 'ayalon_rehovot',
    'Jerusalem_elad', 'Jerusalem_modiin',
    # enter your scenario name
    ]
  • Data scope: validations (smart-card taps) 2019→present; weekend/night filtered out in the analysis code.

  • What you’ll see: monthly trends (Treatment vs Control), a DiD estimate with fixed effects, a spillover check, and optional placebo / 3-month window run.


📚 References

  1. הוועדה הבין־משרדית למיסוי ירוק (2008). עקרונות להטמעת שיקולים סביבתיים במערך המיסוי בישראל, פרק 1. משרד האוצר – המשרד להגנת הסביבה.

  2. Wagner, O. (2022). Vehicle Taxation Should be Reconsidered: Israel’s Case Study and a Wider Comparison.

  3. Taylor, B. D. (2003). The Factors Influencing Transit Ridership: A Review and Analysis of the Ridership Literature. UCLA Institute of Transportation Studies.

  4. Burinskienė, M. (2014). The Impact of Public Transport Lanes on the Operating Speed of Buses. Transport Problems, 9(4), 55–65.

  5. Currie, G. (2011). Understanding Bus Rapid Transit Route Ridership Drivers: An Empirical Study of Australian BRT Systems. Journal of Transport Geography, 19(4), 709–718.

About

Difference-in-Differences analysis of bus-lane policies and ridership trends in Israel.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published