| 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
Under second round of reviews:
Hu, Pingfan, Tarroja, B., Dean, M., Forrest, K., Hittinger, E., Jenn, A. & Helveston, J.P. (2024) “Measuring Electric Vehicle Owners’ Willingness to Participate in BEV Smart Charging Programs” Environmental Research Letters.
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 |
| Monthly Override | 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 | % |

Peak-shaving: How much does peak-shaving from controlled EV charging cost utilities?
Variations: How do peak-shaving results change based on regions, seasons, EV-to-house ratios, and enrollment rates.
Data collection from NHTS, NREL, and U.S. Census.
Peak-shaving simulation using model from study 1.
Travel patterns of 26,000 vehicle owners.

Energy consumption and concurrent charging % of 10,000 EVs.
Data of household electricity consumption in each GEA region.


7.69M single-family homes, collected from U.S. Census.

Assumptions

90% SMC enrollment, EV-to-house ratio 1:1.
Assumptions


More incentives lead to higher SMC enrollment, thus more peak shaving.
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 Proposal Defense