CRAN status R-CMD-check Codecov test coverage


evprof is part of a suite of packages to analyse, model and simulate the charging behavior of electric vehicle users:

evprof aims to provide tools for classifying EV charging sessions into generic groups with similar connection patterns named “user profiles”, using the Gaussian Mixture Models (GMM) clustering method. Moreover, functions to build stochastic models (based on GMM) for every user profile are also provided in order to simulate new EV sessions.

The Gaussian Mixture Models clustering technique used in this package aims to accomplish two different tasks that can be useful for multiple purposes:

  1. Classification of EV charging sessions into generic user profiles (e.g. working time, dinner, commuters, etc.), allowing to:
  1. Modeling every user profile with stochastic models, allowing to:


To use this package you will need a data set of EV charging sessions with at least two fundamental variables: connection start time and connection duration. With these two variables you will be able to classify the sessions into different user profiles, but to generate the EV Gaussian Models you will also need the energy values.

The package also provides an example open data set of EV charging sessions from the California Technological Institute (Caltech), which can be downloaded from the ACN-Data website. For more information about this data set and how to use it, visit the ACN documentation. Moreover, an example evmodel object (EV Gaussian Mixture Models) built with evprof functions and the California open data set (see the California case study article) is also provided. These two demo data objects are provided together with package functions for a better interactive user experience.

If you have your own data set, the best place to start is the Get started chapter in the package website.


You can install the package from CRAN or the development version from GitHub:

# CRAN stable release

# Latest development version
# install.packages("devtools")

Getting help

If you encounter a clear bug, please open an issue with a minimal reproducible example on GitHub. For questions and other discussion, please send me a mail to marc.canigueral@udg.edu.

For further technical details, you can read the following academic articles about the methodology used in this paper:


This work has been developed under a PhD program in the eXiT research group from the University of Girona (Catalonia) in collaboration with Resourcefully, an energy transition consulting company based in Amsterdam, The Netherlands.