| No. | Attributes | Range |
|---|---|---|
| 1 | Enrollment Cash | $50 to $300 |
| 2 | Monthly Cash | $2 to $20 |
| 3 | Monthly Override | 0 to 5 |
| 4 | Min Battery | 20% to 40% |
| 5 | Guaranteed Battery | 60% to 80% |
surveydown Survey Platform
Source: Argonne National Lab, www.anl.gov/ev-facts/model-sales




Electric Vehicle Smart Charging Adoption
Grid Peak-Shaving Quantification
The surveydown Survey Platform
Published in Environmental Research Letters:
Hu, Pingfan, Tarroja, B., Dean, M., Forrest, K., Hittinger, E., Jenn, A. & Helveston, J.P. (2025) “Measuring electric vehicle owners’ willingness to participate in smart charging programs” Environmental Research Letters. https://doi.org/10.1088/1748-9326/ae2597
We need high EV ownership & large sample size.
Sensitivity: How do changes in smart charging program features influence BEV owners’ willingness to opt in?
Enrollment Rate: Under what combinations of features will BEV owners be more willing to opt in to smart charging programs?
Conjoint survey to collect BEV owners’ willingness.
Mixed logit model for utility simulations.

| No. | Attributes | Range |
|---|---|---|
| 1 | Enrollment Cash | $50 to $300 |
| 2 | Monthly Cash | $2 to $20 |
| 3 | Monthly Override | 0 to 5 |
| 4 | Min Battery | 20% to 40% |
| 5 | Guaranteed Battery | 60% to 80% |
| Attributes | Values |
|---|---|
| Enrollment Cash | $300 |
| Monthly Cash | $20 |
| Override Allowance | 5 |

(Range determined by stated vehicle they own)
| No. | Attributes | Range |
|---|---|---|
| 1 | Enrollment Cash | $50 to $300 |
| 2 | Occurrence Cash | $2 to $20 |
| 3 | Monthly Occurrence | 1 to 4 |
| 4 | Lower Bound | 20% to 40% |
| 5 | Guaranteed Battery | 60% to 80% |
| Attributes | Values |
|---|---|
| Enrollment Cash | $300 |
| Occurrence Cash | $20 |
| Monthly Occurrence | 1 |

(Range determined by stated vehicle they own)



Meta Ads: Voluntary participants
Dynata Recruitment: Paid survey






\[ \small \begin{align*} u_j = v_j + \epsilon_j = \beta' x + \epsilon_j \qquad P_j = \frac{e^{v_j}}{\sum_{k=1}^{J} e^{v_k}} \end{align*} \]
Utility esimated using maximum likelihood estimation (MLE).


Without compensation, users will not participate.
Choice between “None” and this program:
| Attributes | Values |
|---|---|
| Enrollment Cash | $0 |
| Monthly Cash | $0 - $20 |
| Monthly Override | 0 |



| Attribute | Equivalence Value | Unit |
|---|---|---|
| Enrollment Cash | 77.7 | $ |
| Monthly Cash | 4.0 | $ |
| Override Days | 2.5 | Days |
| Minimum Threshold | 65.5 | % |
| Guaranteed Threshold | 6.3 | % |
| Attribute | Equivalence Value | Unit |
|---|---|---|
| Enrollment Cash | 55.7 | $ |
| Occurrence Cash | 2.9 | $ |
| Monthly Occurrence | 1.9 | Times |
| Lower Bound | 11.7 | % |
| Guaranteed Threshold | 9.1 | % |
Submitted to Environmental Research: Infrastructure and Sustainability
Manuscript ERIS-100972, awaiting review

We connect consumer enrollment with grid simulation.
Peak-shaving: How much can SMC reduce peak demand in contrasting grid regions?
Cost efficiency: How much does peak shaving cost per unit, and is more enrollment always better?
Scenario-based simulation for CAISO and NYISO.
Enrollment model: incentives vs participation.


| CAISO | NYISO | |
|---|---|---|
| Single Families | 7.69 million | 3.16 million |
| Energy Source | Solar | Hydro |
| Net load shape | Duck curve | Flat profile |
| Seasonal effect | Minimal | Strong in winter (heating) |
Both lead in BEV adoption, with contrasting grid structures.
| Source | Provides | Role in Simulation |
|---|---|---|
| 2022 NHTS | Real trip records nationwide | Charge time & energy needs |
| 2025 GridStatus.io | Net load time series | Regional grid baselines |
| 2025 U.S. Census | Single-family counts | Scale to total fleet energy |
| Study 1 | Enrollment curve | Cost efficiency analysis |
| Vehicle & Charging | |
|---|---|
| BEV range | 200 miles |
| Charging | Level 2 (6.48 kW) |
| Battery SOC | 20% – 80% |
| Travel needs | Guaranteed |
| Overrides | 2 – 3 per month |
| Program & Scenarios | |
|---|---|
| BEV : Household | 1 : 1 |
| Enrollment | 0% – 100% |
| Valley start | 8 PM – 12 AM |
| Best valley | 11 PM |
| Time spans | Year / day / season |

Stage 1: Peak-shaving model sweeps thousands of scenarios.
Stage 2: Cost efficiency joins results with Study 1 enrollment curves.

Unmanaged charging of 10,000 simulated vehicles peaks at 7 PM.

Five configurations with different peak/valley windows.

Net Load = Grid Supply - Variable Sources

BEV load scaled to fleet size and stacked on net load.

Mixed logit prediction based on ~1300 real BEV owners.

Program cost = incentive × number of enrolled households.
| CAISO | NYISO | ||
|---|---|---|---|
|
|
||
| Peak shave | 3.7 GW (30.5 → 26.8) | Peak shave | 1.6 GW (21.2 → 19.6) |
| Percentage | 12.1% | Percentage | 7.5% |
| Best Day (Jun 1) | Worst Day (Dec 13) | ||
|---|---|---|---|
|
|
||
| Peak shave | 5.4 GW (37.6 → 32.2) | Peak shave | 1.9 GW (30.7 → 28.8) |
| Percentage | 14.4% | Percentage | 6.2% |
| Best Day (Jul 13) | Worst Day (Nov 8) | ||
|---|---|---|---|
|
|
||
| Peak shave | 2.2 GW (27.8 → 25.6) | Peak shave | 0.8 GW (17.8 → 17.0) |
| Percentage | 7.9% | Percentage | 4.5% |


Cost efficiency is highest at moderate enrollment (30–50%).
| Spring | Summer | Fall | Winter |
|---|---|---|---|
|
|
|
|
| 3.7 GW (27.5 → 23.8) | 3.7 GW (34.3 → 30.6) | 3.8 GW (32.3 → 28.5) | 3.6 GW (29.1 → 25.5) |
| 13.5% | 10.8% | 11.8% | 12.4% |
| Peak shave for all seasons: 3.6–3.8 GW (10.8–13.5%) | |||
| Spring | Summer | Fall | Winter |
|---|---|---|---|
|
|
|
|
| 1.5 GW (18.4 → 16.9) | 1.6 GW (24.6 → 23.0) | 1.5 GW (19.8 → 18.3) | 1.4 GW (22.1 → 20.7) |
| 8.2% | 6.5% | 7.6% | 6.3% |
| Peak shave for all seasons: 1.4–1.6 GW (6.3–8.2%) | |||


Seasonal cost efficiency is consistent in CAISO, but varies in NYISO.
| Program | Incentive | Enrollment |
|---|---|---|
|
PCE Managed Charging (CAISO) |
$0 → $40 per month | 1.4% → 10.6% |
|
MCE Sync (CAISO) |
$50 bonus + $10 per month | 10% of serviceable market |
|
SmartCharge New York (NYISO) |
Up to $400 per year |
~7% of registered EVs (731 vehicles) |
|
1. Our simulation is endorsed by real programs: more incentive brings more enrollment, and charging shifts to valley windows. |
|
|
2. SMC has co-benefits beyond monetary value: less emission, longer battery life, and less storage capacity requirement. |
|
|
3. The cost-effectiveness of peak shaving requires: moderate enrollment (30-50%), and seasonal effect consideration. |
|
| Limitations |
a. Stated preference being optimistic. b. Only considered single-family homes. c. Grid conditions based on today’s data. |
surveydown Survey PlatformPublished in PLoS ONE:
Hu, Pingfan, Bunea, Bogdan, & Helveston, J. P. (2025). “surveydown: An open-source, markdown-based platform for programmable and reproducible surveys” PLOS ONE, 20(8), e0331002. https://doi.org/10.1371/journal.pone.0331002



❌ Reproduciblity
❌ Version control
❌ Limited features
❌ Open source

Expensive!
code?✅ Reproducibility
✅ Version control
✅ Lots of features
✅ Open source
✅ Free!
surveydown!


qmd file
Markdown + R code chunks

qmd file
Markdown + Python code chunks


survey.qmd
survey.qmdYAML header for a “clean” output
survey.qmdLoad the surveydown Package
survey.qmdUse Quarto fences (:::)
to define survey pages
survey.qmdPage content
sd_question() for survey questionssd_next() for page navigationsurvey.qmd
survey.qmd



surveydown surveysurvey.qmd
A Quarto doc defining the survey content (pages, texts, images, questions, etc).
app.R
An R script defining the survey Shiny app.

supabase.com
surveydownsurveydown is feature-packed!
surveydown is highly flexible and customizable to user needs
leaflet map
surveydown vs other platforms

surveydown, a free open-source survey platform for programmable, reproducible survey designs.

\[ \begin{align*} u_j = \beta_1 x_j^{\text{enroll_cash}} + \beta_2 x_j^{\text{monthly_cash}} + \beta_3 \delta_j^{\text{override_allowed}} + \beta_4 x_j^{\text{num_overrides}} \notag \\ + \beta_5 x_j^{\text{min_threshold}} + \beta_6 x_j^{\text{guaranteed_threshold}} + \beta_7 \delta_j^{\text{no_choice}} + \epsilon_j \end{align*} \]
| Attribute | Coef. | Est. | SE | Level | Unit |
|---|---|---|---|---|---|
| Enrollment Cash | β₁ | 0.0037 | 0.0002 | 50, 100, 200, 300 | USD |
| Monthly Cash | β₂ | 0.0728 | 0.0031 | 2, 5, 10, 15, 20 | USD |
| Override Days | β₃ | 0.1191 | 0.0140 | 0, 1, 3, 5 | Days |
| Override Flag | β₄ | 0.4357 | 0.0654 | Yes, No | - |
| Minimum Threshold | β₅ | 0.0044 | 0.0023 | 20, 30, 40 | % |
| Guaranteed Threshold | β₆ | 0.0490 | 0.0028 | 60, 70, 80 | % |
| No Choice | β₇ | 2.8984 | 0.2215 | - | - |
\[ \begin{align*} u_j = \beta_1 x_j^{\text{enroll_cash}} + \beta_2 x_j^{\text{occur_cash}} + \beta_3 x_j^{\text{num_occurrences}} + \beta_4 x_j^{\text{lower_threshold}} \notag \\ + \beta_5 x_j^{\text{guaranteed_threshold}} + \beta_6 \delta_j^{\text{no_choice}} + \epsilon_j \end{align*} \]
| Attribute | Coef. | Est. | SE | Level | Unit |
|---|---|---|---|---|---|
| Enrollment Cash | β₁ | 0.0051 | 0.0003 | 50, 100, 200, 300 | USD |
| Occurrence Cash | β₂ | 0.0972 | 0.0045 | 2, 5, 10, 15, 20 | USD |
| Monthly Occurrence | β₃ | 0.1595 | 0.0262 | 1, 2, 3, 4 | Times |
| Lower Threshold | β₄ | 0.0263 | 0.0036 | 20, 30, 40 | % |
| Guaranteed Threshold | β₅ | 0.0368 | 0.0037 | 60, 70, 80 | % |
| No Choice | β₆ | 2.4283 | 0.1964 | - | - |
surveydown Feature HighlightsQuestion types
Conditional logic
text
textarea
numeric
mc
mc_multiple
mc_buttons
mc_multiple_buttons
select
slider
slider_numeric
date
daterange
text
mc_buttons

Conditional showing
Conditional skipping
Conditional stopping
sd_show_if()
sd_show_if()survey.qmd
sdstudio package
sdstudio package
sdstudio package

Pingfan Hu - PhD Thesis Defense