California Clean Vehicle Rebate Project (CVRP)#

The California Clean Vehicle Rebate Project (CVRP) provides a rebate for the purchase of clean vehicles depending on vehicle characteristics, household income, household structure, and program participation. The Center for Sustainable Energy, a nonprofit, administers CVRP on behalf of the California Air Resources Board (CARB), a division of the California Environmental Protection Agency. CARB projects a funding demand of $147 million for the period October 2021 to June 2022.

Eligibility#

The base CVRP rebate is limited by income and tax filing status. The increased rebate of $2,500 is limited to households with income below 400% of the poverty line, or who participate in certain means-tested programs. Full details are available at the program website.

Examples#

Single person#

Consider a single person with $40,000 annual income who purchased a vehicle with a CVRP of $4,000 on 2022-01-01. They would be eligible for a total rebate of $4,000, since their income is below 400% of the poverty line.

from policyengine_us import IndividualSim
import pandas as pd
import plotly.express as px

sim = IndividualSim(year=2022)
sim.add_person(
    name="person",
    employment_income=40_000,
    ca_cvrp_vehicle_rebate_amount=4_000,
)

round(sim.calc("ca_cvrp")[0])
6500

What if their earnings change? They receive $6,500 until their income reaches 400% of the poverty line: $12,880 * 4 = $51,520. Then they receive the normal benefit of $4,000 until their income reaches $150,000, which disqualifies them.

sim.vary("employment_income", max=200_000)

import plotly.express as px

LABELS = dict(
    employment_income="Annual employment income",
    ca_cvrp="CVRP",
)

df = pd.DataFrame(
    dict(
        employment_income=sim.calc("employment_income")[0],
        ca_cvrp=sim.calc("ca_cvrp")[0],
    )
)

fig = px.line(
    df,
    "employment_income",
    "ca_cvrp",
    labels=LABELS,
    title="CVRP for a single person who purchased a vehicle with a $4,000 rebate",
)
fig.update_layout(xaxis_tickformat="$,", yaxis_tickformat="$,")
fig.show()