Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions reports/il_lea/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ There is limited data on what gas utilities in Illinois are spending on LEA proj

## How much is being spent on LEAs across the state?

In 2022, the last year for which data is available, existing gas customers in Illinois paid a total of $TK on LEA subsidies, averaging $TK per year.
In 2022, the last year for which data is available, existing gas customers in Illinois paid an esitmated total of `r lea_total_all_utilities_22` on LEA subsidies. The average annual spending across all three utilities was `r lea_hist_avg_all_utilities_18to22` per year.


## How much does Nicor Gas spend on LEAs?
Expand All @@ -106,7 +106,9 @@ Nicor is forecasted to spend a total of `r fetch_spending_vars("total", total_sp
{{< embed notebooks/analysis.qmd#fig-nicor-spending >}}
:::

In 2023, Nicor spent `r nicor_per_connect_23` in LEA subsidies for main extensions, for every new connection, on average. (@fig-nicor-per-connection). Note that this figure does not include service line extensions, so it underestimates the true cost of connecting a new customer to Nicor's network.
In 2023, Nicor spent and average of `r nicor_per_connect_23` in LEA subsidies for main extensions for every new connection, and an esitamted average of `r nicor_per_connect_service_23` per new service line connection. (@fig-nicor-per-connection). Nicor did not report a cost per service line connection, so the figure is based on the average reported "per project" cost, which we interpret to mean connections.[^per_project_cost]

[^per_project_cost]: "**Per project service line cost**" were calculated by subtracting the customer contribution from the total extension cost and dividing by the number of service line projects.

:::{.column-page-inset-right}
{{< embed notebooks/analysis.qmd#fig-nicor-per-connection >}}
Expand All @@ -117,7 +119,9 @@ And these costs are growing: in the five years preceding 2023, the average main

## How much does Peoples Gas spend on LEAs?

From `r fetch_spending_vars("from", total_spending, "peoples_main_historical")` to `r fetch_spending_vars("to", total_spending, "peoples_main_historical")`, the last year for which data is available, Peoples Gas customers paid an average of `r fetch_spending_vars("avg_cost", total_spending, "peoples_main_historical")` per year to extend gas mains, and `r fetch_spending_vars("avg_cost", total_spending, "peoples_service_historical")` per year to build service lines for new customers.
From `r fetch_spending_vars("from", total_spending, "peoples_main_historical")` to `r fetch_spending_vars("to", total_spending, "peoples_main_historical")`, the last year for which data is available, Peoples Gas customers paid an average of `r fetch_spending_vars("avg_cost", total_spending, "peoples_main_historical")` per year to extend gas mains, and `r fetch_spending_vars("avg_cost", total_spending, "peoples_service_historical")` per year to build service lines for new customers.[^nonQIPP]

[^nonQIPP]: In the [ICC Docket No. 23-0068](https://www.documentcloud.org/documents/26189740-peoplesgas-p2023-0068-pio-exhibit-12-64269107/#document/p36/a2674688),Peoples Gas reported main extension costs as "NonQIP main expenditures over the last five years, **excluding customer contributions**, for projects that required main extensions. The expenditures include main related costs for the entire project." For the purpose of this report, we interpret this to mean spending on line extension allowances.

Average annual forecasted spending for `r fetch_spending_vars("from", total_spending, "peoples_main_forecast")` to `r fetch_spending_vars("to", total_spending, "peoples_main_forecast")` was `r fetch_spending_vars("avg_cost", total_spending, "peoples_main_forecast")` per year on main extensions and `r fetch_spending_vars("avg_cost", total_spending, "peoples_service_forecast")` per year on service line extensions.

Expand All @@ -139,7 +143,9 @@ Ameren has denied requests to report directly on LEA spending. As an approximati

[^std_cost_equiv]: The standard cost equivalent per connection is the maximum LEA subsidy per new connection for Ameren Gas. The remainder of the connection cost is the responsibility of the customer.

Ameren has historically provided main line extension double that of other gas utilities, up to 400 feet. They are currently proposing to reduce this to 200 feet. **TK cite current rate cases**
Ameren has historically provided main line extension double that of other gas utilities, up to 400 feet. They are currently proposing to reduce this to 200 feet. @amerenillinoiscompany_Docket250084Ameren_2025 [^extension_reduction]

[^extension_reduction]: In the [ICC Rate Case 25-0084](https://www.documentcloud.org/documents/26460874-p2025-0084-initial-brief-73432621/#document/p211/a2777028): "Ameren Gas Company proposes to reduce the standard cost equivalent for a new natural gas connection from 400 feet to 200 feet."

:::{.column-page-inset-right}
{{< embed notebooks/analysis.qmd#fig-ameren-spending >}}
Expand Down Expand Up @@ -174,7 +180,10 @@ The authors would like to thank:


### Estimated data
Peoples Gas did not report a cost per service line connection, so the figure is based on the average reported "per project" cost, which we interpret to mean connections. [^per_project_cost]
Per project service line costs were calculated by subtracting the customer contribution from the total extension cost and dividing by the number of service line projects.

Total LEA was calculated
## Assumptions

TK fill this out.
Expand Down
41 changes: 35 additions & 6 deletions reports/il_lea/notebooks/analysis.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -145,18 +145,22 @@ lea_df |>

```{r}
#| label: fig-nicor-per-connection
#| fig-cap: "Historical and forecasted LEA subsidy costs per connection for Nicor Gas"
#| fig-cap: 'Historical and forecasted LEA subsidy costs per connection for Nicor Gas. Note that the service line estimates are based on the avergae reported "per project" cost, which we interpret to mean connections. Costs may reflect both residential and non-residential connections.'

lea_df |>
filter(utility == "nicor") |>
filter(!is.na(cost_per_connection)) |>
per_connection_plot(max_lim = 16e3, breaks_step = 2e3)
mutate(cost_per_connection = if_else(is.na(cost_per_connection) & main_service == "service", cost_per_project, cost_per_connection)) |>
filter(!is.na(cost_per_connection), year <=2023, year >= 2019) |>
per_connection_plot(max_lim = 20e3, breaks_step = 2e3)
```



NOTE: This is the only figure for Peoples Gas that is specific to single-family homes. The rest are not specified.
```{r}
#| label: fig-peoples-per-connection
#| fig-cap: "Historical and forecasted LEA subsidy costs per connection for Peoples Gas"
#| fig-cap: "Historical and forecasted LEA subsidy costs per connection of single new residential single-family homes for Peoples Gas"


lea_df |>
filter(utility == "peoples") |>
filter(!is.na(cost_per_connection)) |>
Expand Down Expand Up @@ -208,12 +212,37 @@ total_spending <- lea_df |>
to = max(year)
)

lea_total_all_utilities_22 <- lea_df |>
filter(!is.na(lea_cost)) |>
filter(year == 2022) |>
summarize(
.by = c(utility, main_service, historical, year),
total = sum(lea_cost),
) |>
pull(total) |>
sum() |>
(\(x) scales::label_dollar(suffix = "M", prefix = "$", scale = 1e-6, accuracy = 0.1)(x))()

lea_hist_avg_all_utilities_18to22 <- lea_df |>
filter(!is.na(lea_cost), historical == "historical") |>
summarize(.by = year,
total = sum(lea_cost),
)|>
pull(total) |>
mean() |>
(\(x) scales::label_dollar(suffix = "M", prefix = "$", scale = 1e-6, accuracy = 0.1)(x))()

nicor_per_connect_23 <- lea_df |>
filter(!is.na(cost_per_connection)) |>
filter(utility == "nicor", year == max(year)) |>
pull(cost_per_connection) |>
(\(x) scales::label_dollar(prefix = "$")(x))()

nicor_per_connect_service_23 <- lea_df |>
filter(!is.na(cost_per_project)) |>
filter(utility == "nicor", year == max(year), main_service == "service") |>
pull(cost_per_project) |>
(\(x) scales::label_dollar(prefix = "$", accuracy = 1)(x))()

nicor_per_connect_change <- lea_df |>
filter(!is.na(cost_per_connection)) |>
Expand All @@ -231,7 +260,7 @@ nicor_per_connect_change <- lea_df |>

peoples_per_connect_22 <- lea_df |>
filter(utility == "peoples", !is.na(cost_per_connection)) |>
filter( year == max(year)) |>
filter(year == max(year)) |>
pull(cost_per_connection) |>
(\(x) scales::label_dollar(prefix = "$")(x))()

Expand Down