↖︎ Vishal Singh

Case 5 of 5 · Elasticities, fixed effects and instruments

Case 5 of 5 · Elasticities, fixed effects and instruments

How far will drivers go for 29 cents?

Georgia stations within 20 km of a state line sold about 7% more gasoline in a full tax-holiday week (elasticity −0.97, s.e. 0.09); stations more than 50 km inland, with the same price cut, sold no more (+0.12, s.e. 0.08).

Author
AffiliationNYU Stern
Published

Georgia stations within 20 km of a state line sold about 7% more gasoline in a full tax-holiday week (elasticity −0.97, s.e. 0.09); stations more than 50 km inland, with the same price cut, sold no more (+0.12, s.e. 0.08).

Author

Vishal Singh

Affiliation

NYU Stern School of Business

Published

14 September 2026

Updated

2 October 2026

In a full week of Georgia's gas-tax holidays in 2022 and 2023, convenience-store stations within 20 km of a state line sold about 7% more gasoline per station-day than stations in neighboring states without a holiday (0.069 log points, s.e. 0.013; 180 weeks, January 2021 to June 2024). The pump price at the same Georgia stations fell about 7% relative to those control stations (0.072 log points), so the price elasticity of demand is −0.97 (s.e. 0.09): a 1% lower price came with about 1% more gallons. Georgia stations more than 50 km from any state line got a 6.5% price cut and sold no more gasoline, an elasticity of +0.12 (s.e. 0.08).

The gallon is the same and the price cut is the same. What differs is how far a driver is from a cheaper station in another state. This case builds that result in six steps, starting from a regression that gives the wrong sign.

Georgia suspended its motor-fuel excise tax from March 18, 2022 to January 10, 2023 (29.1¢ a gallon) and from September 13 to November 29, 2023 (31.2¢). Case 1 measured how much of that cut reached the pump. This case uses the same two holidays to ask how drivers responded, with stations grouped by their distance to the nearest state line. For a Georgia station near Alabama the cut made gasoline cheaper than at the stations across the line. For a station 100 km inland it did not, because no other state was within a 50 km drive.

Elasticity is the slope of log gallons on log price

The price elasticity of demand, ε, is the percent change in quantity for a 1% change in the seller's own price. For small changes it equals the change in log quantity divided by the change in log price, so in a log-log regression the slope is the elasticity:6

ε = % change in Q% change in P ≈ Δ ln QΔ ln P,    ln Q = α + ε ln P + u

An elasticity of −1 means a 10% price cut raises quantity by about 10%. A cross-price elasticity, η, is the percent change in one seller's quantity for a 1% change in a rival's price. It is positive when the two sellers' products are substitutes.Data. Station-level fuel sales from PDI Technologies point-of-sale data (Dewey), grouped into six bands of convenience-store stations by distance to the nearest state line. Each band is a fixed set of stations that reported full weeks at least 85% of the time. The price is revenue divided by gallons, so it averages cash and credit prices.

ln Qneighbor = α + η ln PGeorgia + u

National estimates of the short-run elasticity of gasoline demand are well below 1 in absolute value.123 That describes the market. A single station sells the same gallon as the one across the road, so its own demand can be far more elastic. The estimates below sit at three distances from the state line, and a section near the end connects them to the demand a single station faces.

The data: six bands of stations observed for 182 weeks

The weekly file has one row per band and week, from January 4, 2021 to June 24, 2024, with gallons of regular gasoline and the number of fill-ups (trips) per station per day, the price, and the number of days in the week on which Georgia's tax was suspended. A daily file covers the 28 days either side of each of the four tax changes. The control group is the 1,208 stations in Alabama, North Carolina, South Carolina and Tennessee that are not near Georgia: they faced the same oil prices, seasons and national news as Georgia, with no tax change.

Bands of stations
BandWhoStationsMedian km
0–20 kmGeorgia, within 20 km of a state line699.5
20–50 kmGeorgia, 20–50 km6328.6
50+ kmGeorgia, over 50 km (inland)25484.9
Neighbors 0–20 kmAL, SC and TN, within 20 km of Georgia5811.0
Neighbors 20–50 kmAL, SC and TN, 20–50 km from Georgia7130.4
ControlAL, NC, SC and TN, away from Georgia1,20851.5

AL is Alabama, NC North Carolina, SC South Carolina and TN Tennessee. Median km is the median straight-line distance to the nearest state line (Census 2022 boundaries). Stations whose nearest line is Florida's are left out, because Florida had its own gas-tax holiday in October 2022. The two weeks of the May 2021 Colonial Pipeline shutdown (May 10 and 17) are flagged in the file and dropped from every estimate below, which leaves 180 weeks.

Against control stations, Georgia's price fell about 7% in every band and gallons rose only near the border

Start with the picture. For each Georgia band, take the log price minus the log price at the control stations, and the same for gallons. Differences in logs are close to percent differences, so the figure reports 100 times the log difference as a percent. Whatever oil prices, seasons and national news did to Georgia, they did to the control stations too, so the difference removes them. Zero is set at the average of the 60 weeks before the first holiday.

Interactive

Georgia's price fell about 7% relative to control stations in every distance band, but gallons rose only near the border

The price panel looks the same for every band; the gallons panel does not. Weekly price (top) and gallons per station-day (bottom) of Georgia stations relative to the control stations, in percent, with zero set at the average before March 2022. Shaded bands mark the two holidays. The selected band is colored and the other two are gray; hover near a gray line to read it. The two Colonial Pipeline weeks are blank.

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024. Price is revenue divided by gallons; gallons are per station-day; no survey weights. Control: 1,208 stations in Alabama, North Carolina, South Carolina and Tennessee away from Georgia.

A regression of gallons on price over time slopes up near the border

The textbook estimate regresses one band's weekly log gallons on its weekly log price. For Georgia stations more than 50 km from a state line it gives an elasticity of +0.04 (s.e. 0.05); within 20 km of a state line it gives +0.18 (s.e. 0.06), a demand curve that slopes up. The standard errors here are Newey-West with 4 lags, which allow the errors of neighboring weeks to be correlated.

Price and quantity are both outcomes of supply and demand. In the summer driving season demand rises and prices rise with it, a positive co-movement that says nothing about the slope of the demand curve. A refinery outage or a pipeline shutdown raises price and cuts quantity, a negative one. The cloud of weekly points traces neither curve. Month dummies, which remove the average monthly pattern, move the estimates to −0.08 (s.e. 0.04) inland and +0.09 (s.e. 0.06) near the border, because most of what moves gasoline demand from week to week is not seasonal.

Interactive

In the raw data, weeks with higher prices are not weeks with lower sales. Each dot is one week for the selected band; the line is the OLS fit of log gallons on log price, and its slope is the elasticity estimate. Switch to variables relative to the control stations and the slope near the border turns negative. With month dummies the line is drawn through the sample means at the fitted slope. Keeping the two Colonial Pipeline weeks adds two outliers in red; the near-border raw slope changes from +0.18 to +0.17 (s.e. 0.06), and the relative-variable slope from −1.02 to −1.01, because the control stations had the same shortage.

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024 (180 weeks; 182 with the pipeline weeks). Newey-West standard errors, 4 lags. No survey weights.

Measured against control stations, the near-border elasticity is −1.02

Replace each variable with its difference from the control group c. For band b:

ln QbtQct = α + ε ln PbtPct + ut

This is the same regression as a panel of the two groups with a fixed effect for each group and for each week:6

ln Qit = αi + γt + ε ln Pit + uit,    i ∈ {b, c}

A fixed effect is a separate intercept for each group or week. The group effect αi absorbs permanent differences between Georgia stations and control stations, such as station size. The week effect γt absorbs whatever both groups share in week t: the oil price, the season, holidays, national news, and the pipeline shortage. With two groups, what remains after removing it is exactly the difference between the two, so the two regressions return the same slope. Both give −1.02 for stations within 20 km of a state line.

On the relative price, OLS gives −1.02 (s.e. 0.15) within 20 km of a state line, −0.76 (s.e. 0.15) at 20–50 km, and +0.03 (s.e. 0.12) inland. The elasticity is about −1 where a cheaper state is a short drive away and about zero where it is not. The week effect cannot remove shocks that hit Georgia stations and not the control stations: a new station opens, a local price war starts, a road closes. Some of these move quantity as well as price.

With the tax holiday as an instrument, the elasticity is −0.97 near the border and about zero inland

An instrument is a variable that moves the price and affects gallons only through the price.6 Let Ht be the share of week t with Georgia's tax suspended (days divided by 7). Three regressions give the elasticity:

First stage: ln(Pb/Pc)t = π0 + π Ht + vt
Reduced form: ln(Qb/Qc)t = ρ0 + ρ Ht + wt
IV elasticity: εIV = ρ / π

The first stage is case 1's pass-through, in logs: how far a full holiday week moved Georgia's relative price. The reduced form is how far it moved relative gallons. Their ratio is the Wald estimator, and with one instrument it equals two-stage least squares (2SLS). Figure 3 computes all of it from the weekly data.

Interactive

First stage: holiday share and relative price

Reduced form: holiday share and relative gallons

The left slope is how far the holiday moved the price; the right slope is how far it moved gallons. Each dot is one week, plotted against the share of the week with the tax suspended (part-week holidays sit between 0 and 1), with the pre-holiday average set to zero on both vertical axes. Dots are jittered horizontally by up to 0.04 for visibility, and the fitted lines use the true values. First stage, reduced form and OLS use Newey-West standard errors (4 lags); 2SLS uses heteroskedasticity-robust standard errors. F is the squared Newey-West t statistic of the first stage.

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024 (180 weeks after dropping the two Colonial Pipeline weeks unless you keep them). Variables are relative to the control stations; no survey weights.

Georgia stations by distance to a state line: first stage, reduced form and elasticity
0–20 km20–50 km50+ km
First stage π: holiday share → relative log price−0.072−0.068−0.065
… in cents per gallon−23.6¢−22.3¢−21.6¢
Reduced form ρ: holiday share → relative log gallons+0.069+0.063−0.008
IV elasticity ρ/π (s.e.)−0.97 (0.09)−0.92 (0.10)+0.12 (0.08)
OLS elasticity on the relative price (s.e.)−1.02 (0.15)−0.76 (0.15)+0.03 (0.12)
IV with a linear time trend−1.00−0.90+0.08
First-stage F statistic284325318

Is the holiday a good instrument?

An instrument has to pass two tests. Relevance: it must move the price. A first-stage F statistic of about 300 is far above the common rule of thumb of 10, and above the critical values that Stock and Yogo tabulate for weak instruments.5 In a full holiday week the relative price fell by 6.5% to 7.2%, 21.6¢ to 23.6¢ a gallon. Exclusion: it must affect gallons only through the price. A tax holiday is also news. If the publicity alone sent drivers to Georgia stations, gallons would rise with no price change and IV would overstate the elasticity. A linear time trend leaves the estimates nearly unchanged (−1.00, −0.90, +0.08), which rules out a slow drift in relative sales as the explanation but not a publicity effect that switches on with the holiday.

Near the border OLS and IV agree (−1.02 and −0.97). At 20–50 km OLS is smaller than IV (−0.76 against −0.92), the pattern expected when part of the price variation OLS uses is noise unrelated to demand. IV uses only the variation that comes from the law, so it is the estimate to prefer.

Across the line, neighbors sold less: a cross-price elasticity of +0.38

The mirror image is in the neighboring states. For their stations within 20 km of Georgia, regress relative log gallons on Georgia's relative price at the same distance, and instrument it with the holiday share. The cross-price elasticity is +0.38 (s.e. 0.08) within 20 km of Georgia and +0.13 (s.e. 0.09) at 20–50 km. The reduced form says these stations sold 2.8% less gasoline in a full holiday week within 20 km of Georgia and 0.9% less at 20–50 km, so the effect fades within 50 km of the line.

The neighbors' own-price elasticity cannot be estimated from these data. Add their own relative price to the regression and its coefficient is +0.81 (s.e. 0.38), demand sloping up. Their price fell 1.3% when Georgia's holidays began (regressing their relative price on the holiday share gives −0.013, s.e. 0.004), so it responds to Georgia's price and is itself endogenous. Nothing in the data moves it independently of Georgia's price, and one instrument identifies one price effect.

Interactive

Elasticities are near −1 within 50 km of another state and near zero inland; neighbors' sales rise with Georgia's price

The own-price dots move toward zero as distance from the state line grows, and the cross-price dots are positive. Elasticity estimates with 95% intervals (±1.96 s.e.), computed in your browser from the weekly data. Blue: IV with the holiday share as instrument. Amber: OLS on the relative price. The red dot is the neighbors' own relative price in a regression that also includes Georgia's price; it has the wrong sign because that price is not independent of Georgia's.

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024 (180 weeks). Variables relative to the control stations; Newey-West standard errors for OLS (4 lags), robust for 2SLS; no survey weights.

Logs add up: near the border drivers made more trips and filled up fuller

A station's gallons are its number of fill-ups (trips) times the gallons per fill-up. In logs the product is a sum, and so are the elasticities:

ln Q = ln T + ln F   ⇒   εQ = εT + εF

The sum is exact because each regression uses the same regressors and the dependent variables add. Near the border, −0.97 = −0.39 (trips) + (−0.58) (gallons per trip): a 1% lower price came with 0.39% more fill-ups and 0.58% larger fill-ups. Inland, +0.12 = +0.49 + (−0.37): a 1% lower price came with 0.49% fewer fill-ups and 0.37% larger ones. The fill-up size is the most precisely estimated response in the case (s.e. 0.02). When gasoline is cheaper drivers fill the tank fuller, and inland they make up for it by coming less often, so total gallons do not move. They buy the same gasoline sooner, with the tank as a small inventory. Near the border they also make more trips, the fill-ups that used to happen across the line.

Interactive

Orange and green add up to the black dot. Elasticities of trips per station-day and of gallons per trip with respect to the relative price, stacked from zero (a negative value means the quantity rises when the price falls). The dot is the elasticity of total gallons with its 95% interval. The table gives the coefficients with standard errors in parentheses; T + F equals Q up to rounding in the underlying files.

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024 (180 weeks). Trips are regular-gasoline transactions. Variables relative to the control stations; no survey weights.

Inland drivers stocked up the day before the tax returned, and border sales built up over the holiday

The daily file shows what a weekly average hides. The day before each holiday ended, inland stations sold 6.0% more than usual relative to the control stations (4.1% and 8.0% in the two episodes), then 3.5% less over the following week, and were back to normal after that (−0.2% over days 8 to 28). That is a stock-up before a 29.1¢ to 31.2¢ tax returned, the anticipation that Coglianese and coauthors identify as a source of bias in short-run elasticities.2 Near the border there was little rush (+1.3% on day −1). Instead sales fell 7.7% in the first week and stayed about 5% lower (−5.3% over days 8 to 28), as border drivers went back to the cheaper side of the line.

Before the cuts there was no rush; sales dipped by 3.5% to 4.6% on the first day, probably drivers waiting for pump prices to fall. Near the border the relative price moved from +0.5% over days −3 to −1 to −4.3% over days 1 to 3, a gradual cut. A weekly regression mixes the stock-up and the hangover into the elasticity.

Interactive

Compare day −1 with the dashed averages that follow. Daily gallons per station (bottom) and pump price (top) relative to the control stations, in percent, with zero at the average of days −28 to −8 before each change. Dashed segments are the average of days 1 to 7 and of days 8 to 28. The average options pool the two returns or the two cuts. Inland and 0–20 km are the cases described in the text.

Source: PDI convenience-store fuel sales (Dewey), daily, 28 days before and after each of four tax changes (18 March 2022, 11 January 2023, 13 September 2023, 30 November 2023). Gallons and price are per station, band averages; no survey weights.

The timing also shows a response that builds. Measured over the eight weeks either side of each tax change, the near-border elasticity averages −0.55 and ranges from −0.32 to −1.03 across the four changes. Over whole holidays it is −0.97. Near the border, relative gallons averaged +3.7% over the first eight full weeks of holiday 1 and +9.4% over September to December 2022, against the average of the 60 weeks before the holiday. The single-switch estimates are noisy, because the price moves by only 6% to 10% in each window, and the table pools them by averaging.

Eight-week ratios around each tax change: change in relative gallons ÷ change in relative price (percent)
Georgia, 0–20 kmGeorgia, inlandNeighbors, 0–20 km
(vs Georgia's price)

What it means for pricing: a band of stations faces −1, a single station about −10, the market about 0

The inverse-elasticity rule says a seller that maximizes profit sets the margin, the share of the price above marginal cost, at (P − MC) / P = −1/ε. At ε = −1 the margin would be 100% of the price, which would need a marginal cost of zero. A retailer that earns a margin of 10% of the pump price and prices to maximize profit faces an elasticity of about −10. The band estimates capture only the substitution across the state line, and the stations inside a band also compete with each other. The market elasticity, measured inland where no other state is within reach, is close to zero. All three statements hold at once. Market demand is inelastic, the demand facing a band of stations is near −1, and the demand facing one station is far more elastic. The seller's elasticity sets its margin, and the market elasticity sets how much a tax changes total gasoline use and carbon emissions.4

Interactive

The margin falls from 100% at −1 to 10% at −10. The profit-maximizing margin (P − MC) ÷ P as a function of the elasticity of the demand a seller faces, from −0.1 to −12 on a log scale. Move the slider or pick a case; the orange dot marks your elasticity. For |ε| below 1 the rule has no solution. The margin in cents uses the average price of 0–20 km Georgia stations in full holiday weeks.

Source: markup rule applied to the elasticities in this case; price from PDI convenience-store fuel sales (Dewey), weekly, 52 full holiday weeks, January 2021 to June 2024. No survey weights.

The first stage also answers a question from case 1: how much of the tax cut drivers received. In a full holiday week, pump prices at Georgia stations fell 23.6¢, 22.3¢ and 21.6¢ relative to the control stations, from the nearest band to the most distant. The tax cut averaged 29.5¢ over the holiday days (29.1¢ in holiday 1 and 31.2¢ in holiday 2), so drivers received 80%, 76% and 73% of it, against 85% in case 1's synthetic-control estimate for the whole state. Drivers kept 21.6¢ to 23.6¢ a gallon and the remaining 6¢ to 8¢ stayed in the supply chain. Because inland demand barely responds to price, drivers got most of the cut and did not buy more with it.

Drivers received 73% to 80% of the tax cut at the pump, whatever the distance to the state line

Each blue bar falls short of the gray bar by 6¢ to 8¢. First-stage estimates of the fall in the relative pump price in a full holiday week, in cents per gallon, against the statutory tax cut averaged over the holiday days. The cents figures are from the instructor replication script and are within 0.4¢ of a direct regression of the price difference in cents on the holiday share (−23.5, −22.5, −21.2).

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024 (180 weeks); tax rates from Georgia legislation and executive orders. Newey-West first stage; no survey weights.

The holiday also moved sales across the state line. In a full holiday week a Georgia station within 20 km of a state line sold about 79 more gallons a day (+7.2% on a pre-holiday average of 1,094), and a neighboring station within 20 km of Georgia sold about 30 fewer (−2.7% on 1,107) and cut its own price by 1.3%. Georgia's gain per station is larger than the neighbors' loss per station. Total gallons gained and lost would need the number of stations on each side, which these files do not give, and the difference may come from fuller fill-ups, from Georgians who used to buy across the line and from drivers who travelled from farther away. Inland, a holiday did not make Georgians buy more gasoline (−11 gallons a day, within sampling error), and the state gave up 29.1¢ to 31.2¢ on every gallon, including all the gallons that would have been sold anyway.

A Georgia border station gained about 79 gallons a day in a full holiday week; a neighboring border station lost about 30

The gain at Georgia's border stations is more than twice the loss at the neighbors' border stations. Change in gallons per station-day in a full holiday week relative to the control stations, with 95% intervals: the reduced-form estimate converted to gallons at each band's pre-holiday average. Labels give gallons and percent.

Source: PDI convenience-store fuel sales (Dewey), weekly, January 2021 to June 2024 (180 weeks); pre-holiday average is the 60 weeks before March 14, 2022. Newey-West standard errors (4 lags); no survey weights.

What these data cannot show

The exclusion restriction cannot be tested with one instrument. A holiday is publicized, and a driver who reads about it may change where and when to buy for a reason unrelated to the price at the pump. The time-trend check and the timing in Figure 6 do not separate publicity from price. The instrument also varies at only four dates, so even with 180 weekly observations the evidence comes from two holidays, and the Newey-West standard errors do not capture the chance that a third holiday would behave differently.

The two holidays did not look alike near the border. Relative to the average of the 60 weeks before March 2022, relative gallons within 20 km of a state line averaged +6.4% over the 42 full weeks of holiday 1 and +0.2% over the 10 full weeks of holiday 2. The IV elasticity of −0.97 averages over both, and the eight-week estimates around single switches (−0.32 to −1.03) show the same spread.

The comparison weeks matter as well. Outside the holidays, relative gallons within 20 km of a state line averaged −3.5% after March 2022 against the pre-holiday average, and −5.7% from December 4, 2023 on (Figure 1). The reduced form of +0.069 compares a full holiday week with all non-holiday weeks, including those lower ones; against the pre-holiday weeks alone, full holiday weeks averaged +5.3%. A linear trend does not capture a step down after the holidays, so the instrument and the trend check cannot tell a lasting change in border sales from a drift that happened to start at the same time.

The stations are convenience-store fuel stations that reported full weeks, so large-format retailers and stations that report irregularly are absent, and the bands are fixed sets of 56 to 1,164 stations in a typical week. A band is not a station: the band elasticities mix the substitution across the state line with competition between stations in the same band, and they cannot be used as one station's elasticity without the argument above. The data cover regular gasoline only, and a temporary holiday is not a permanent price change. Drivers can shift purchases in time around a temporary cut, which the stock-ups in Figure 6 show, so these elasticities describe a short-run response to a tax that was announced to be temporary.

Questions for discussion

  1. Figure 2 shows a positive slope near the border. Which supply or demand shock would raise both price and gallons in that band, and which would move them in opposite directions? What does the week fixed effect remove, and what does it leave?
  2. An Alabama station 5 km from the Georgia line sold 2.8% less in a full holiday week, and on average the neighbors cut their price by 1.3%. List what you would need to know to decide whether to match Georgia's 7% cut, and say which of those items these data can supply.
  3. A retailer earns a margin of 10% of the pump price. Why does the markup rule imply a single-station elasticity near −10 when the border-band estimate is −0.97 and the inland estimate is about zero? What does each of the three numbers describe?
  4. Pump prices fell 21.6¢ to 23.6¢ against a tax cut of 29.5¢. Who might hold the remaining 6¢ to 8¢, and what would you need to measure to say? How does the answer relate to inland demand being close to inelastic?
  5. Name one way the holiday could raise near-border gallons without lowering the price at the pump. Which result in the case (the 20–50 km band, the neighbors' loss, the timing around each switch) bears on it, and does it support or weaken the exclusion restriction?
  6. Inland stations sold 6.0% more on the last day before the tax returned. If you wanted the elasticity of demand for a permanent 29¢ tax, would you use the whole-holiday estimate (−0.97 near the border), the eight-week estimates (−0.55 on average), or neither, and why?

Replicate this analysis

The folder 05_gas_elasticity has the weekly band file, the daily file, the band descriptions and a README with exercises for Excel, R or Python. After building the relative variables, two-stage least squares is one line. In Python with pyfixest:

import numpy as np, pandas as pd, pyfixest as pf
w = pd.read_csv("gas_bands_week.csv", parse_dates=["week"])
w = w.query("pipeline_outage == 0")
w["lp"], w["lq"] = np.log(w.price_regular), np.log(w.gallons_per_station_day)
ctl = w[w.band == "NB_far"].set_index("week")
g = w[w.band == "GA_0_20"].set_index("week")
df = pd.DataFrame({"dlp": g.lp - ctl.lp, "dlq": g.lq - ctl.lq,
                   "hol": g.ga_tax_holiday_days / 7}).reset_index()
# 2SLS (relative log gallons on relative log price, holiday share as instrument): -0.97 (0.09)
pf.feols("dlq ~ 1 | dlp ~ hol", data=df, vcov="hetero").summary()
# two-way fixed effects on the two-band panel, same slope as the relative regression: -1.02
panel = w[w.band.isin(["GA_0_20", "NB_far"])]
pf.feols("lq ~ lp | band + week", data=panel).summary()

In R with fixest, with the same data frame df (relative log gallons dlq, relative log price dlp, holiday share hol) and a long panel panel:

library(fixest)
feols(dlq ~ 1 | dlp ~ hol, data = df, vcov = "hetero")     # 2SLS
feols(lq ~ lp | band + week, data = panel)                 # two-way fixed effects

In Excel the IV estimate is the ratio of two regression slopes, =SLOPE(dlq, hol) / SLOPE(dlp, hol), the reduced form divided by the first stage. For Newey-West standard errors use vcov = "NW" in fixest or vcov="NW" in pyfixest on the time-series regressions; pyfixest's IV first stage drops the time index, which is why the 2SLS errors above are heteroskedasticity-robust.

Data sources

Fuel sales: PDI Technologies point-of-sale data from convenience-store fuel pumps, obtained through Dewey under a research licence. Distances to state lines: 2022 Census cartographic boundary files. Tax dates: Georgia legislation and executive orders. The files are derived from licensed data; check the Dewey and PDI licence terms before posting them outside the course.

Methods note

Sample: six bands (bands.csv lists 69, 63, 254, 58, 71 and 1,208 stations; in a typical week 66, 61, 244, 56, 69 and 1,164 report) and 182 weeks from January 4, 2021 to June 24, 2024; the weeks of May 10 and 17, 2021 (Colonial Pipeline) are dropped, leaving 180. Price is revenue divided by gallons of regular gasoline across the band's stations; gallons and trips are per station per day; there are no survey weights, and each band-week has equal weight in the regressions. Relative variables are the log of the band minus the log of the control band. The holiday share is days with the tax suspended divided by 7; holiday weeks with fewer than 7 days (2, 3, 5 and 3 days) keep their fractional value. A full holiday week has all 7 days: 42 weeks in holiday 1 and 10 in holiday 2.

Estimators: OLS, first stage and reduced form use Newey-West standard errors with 4 lags and an n/(n − k) scaling; 2SLS is just identified, with heteroskedasticity-robust (HC1) standard errors; F is the squared Newey-West t statistic of the first stage (the heteroskedasticity-robust version would be above 900). Month dummies are 11 indicators. The trend control is the week index. The two-way fixed-effect panel regression returns the same slope as the relative regression (−1.02), and its standard error depends on how the panel errors are treated. Daily figures set zero at the mean of days −28 to −8; eight-week ratios use the 8 weeks entirely before and the 8 full weeks after each switch date, so the part-week of the switch is excluded. Volumes in gallons per day are (exp(ρ) − 1) times the pre-holiday average of gallons per station-day. Cents are the instructor-script figures; they cannot be reproduced exactly from the weekly file (see the Figure 8 caption).

How to cite

@misc{singh2026gas,
  author = {Singh, Vishal},
  title  = {How far will drivers go for 29 cents?},
  year   = {2026},
  note   = {Teaching case, NYU Stern School of Business},
  url    = {https://vishalsingh.org}
}

References

  1. Hughes, J. E., Knittel, C. R. and Sperling, D. (2008). Evidence of a shift in the short-run price elasticity of gasoline demand. The Energy Journal 29(1), 113–134.
  2. Coglianese, J., Davis, L. W., Kilian, L. and Stock, J. H. (2017). Anticipation, tax avoidance, and the price elasticity of gasoline demand. Journal of Applied Econometrics 32(1), 1–15.
  3. Levin, L., Lewis, M. S. and Wolak, F. A. (2017). High frequency evidence on the demand for gasoline. American Economic Journal: Economic Policy 9(3), 314–347.
  4. Davis, L. W. and Kilian, L. (2011). Estimating the effect of a gasoline tax on carbon emissions. Journal of Applied Econometrics 26(7), 1187–1214.
  5. Stock, J. H. and Yogo, M. (2005). Testing for weak instruments in linear IV regression. In Andrews, D. W. K. and Stock, J. H. (eds), Identification and Inference for Econometric Models. Cambridge University Press, 80–108.
  6. Angrist, J. D. and Pischke, J.-S. (2009). Mostly Harmless Econometrics. Princeton University Press.