Mobile Apps Meet the Smart Energy Grid: A Survey on Consumer Engagement and Machine Learning Applications

Consumers lie at the epicenter of smart grids, since their activities account for a large portion of the total energy demand. Therefore, utility companies, governmental agencies, and various other entities with environmental concerns aim at lowering and shaping energy consumption patterns to achieve peak load reduction, load smoothing, and hence carbon emission curtailment. In this survey paper, we present an overview of approaches for engaging smart grid consumers and for providing them with information, motivation, and recommendations for energy efficiency through mobile apps. Our focus is to bring machine learning approaches closer to smart grid mobile apps so as to optimally manage consumer flexibility and enhance energy savings through detailed consumer profiling and modeling, since an increasing amount of energy consumer data is becoming available. A novel survey and analysis of prior work in the area is conducted in order to identify gaps from this perspective. We consider both recent research project outputs and commercial products and we discuss various aspects of the designs, such as state-of-the-art technologies, extrinsic and intrinsic motivation techniques, gamification, consumer profiling, and the role of machine learning and recommender systems in this context. Furthermore, different mobile apps are presented and compared based on the most important features that affect consumer energy efficiency and sustainability, such as data visualization, gamification, flexibility, consumer profiling methods, feedback mechanisms, recommendations, social media, and machine learning integration. The main goal of this work is to identify how mobile apps incorporate these features to engage energy consumers in energy-efficient behavior, assess the current state-of-the-art in the area, and highlight future research directions.


I. INTRODUCTION
The smart grid ecosystem is growing rapidly during the last decades, contributing to the efforts of environmental green transition, energy efficiency, and reduction of carbon levels. At the heart of a smart grid lie Internet of Things (IoT) devices providing real-time monitoring and management of each network node, through two-way communication channels between utilities and users. This approach is called Advanced Metering Infrastructure (AMI) and supports selfmonitoring, self-healing in the case of errors, and automated The associate editor coordinating the review of this manuscript and approving it for publication was Khursheed Aurangzeb . operation, as well as new and innovative services and products for customers [1]. Consumers comprise the main actors directly involved in the electricity grid [2], while buildings are responsible for about one third of the global energy consumption [3], with residential buildings accounting for 22% of the total energy demand worldwide [4]. Hence making end-users more energy-aware and motivating them to lower electricity consumption can have an immense impact on energy efficiency and carbon emissions reduction. In smart grids, an approach called Demand-Side Management (DSM) is adopted by utilities to dynamically adjust energy consumption. DSM models include Demand Response (DR) programs that aim at changing the power consumption profiles, and shaping the load curves of occupants with dynamic pricing schemes and incentives. Thus, it is essential for utilities to engage and educate consumers on energy efficiency, while also understanding their behavior [2]. This is where mobile apps, paired with smart home and IoT infrastructures come into play. Mobile devices have more computational capabilities than ever, while mobile app design and development advancements lead to their adoption by the majority of the population. Hence, the penetration of smartphones together with the proliferation of mobile apps create effective means to interface with smart grid consumers. Furthermore, the rapid progress of artificial intelligence and machine learning can significantly help utilities to better understand the behavioral characteristics of their consumers, and thus design effective incentive mechanisms through mobile applications and advanced electricity consumer profiling.
Many survey papers related to smart grids, smart homes, and the IoT have been published in the past. For example, in [5] the authors conduct a thorough review of IoT applications regarding smart homes. That survey covers a large area, from other review articles and studies examining smart home applications of IoT, to proposals and attempts of developing such applications. The study briefly touches on the usage of some mobile applications in smart homes for energy conservation, primarily through automation and actuation.
Furthermore, some survey papers regarding the utilization of gamification in smart grids have also been published. A review of gamification and serious games for residential energy consumption reduction is carried out in [6]. That study includes a variety of gamification applications, and states that most of them incorporate features like social media integration, point systems, challenges, leaderboards and rewards. One other review of gamification and serious game approaches aimed at engaging consumers towards energy efficient behaviors is undertaken in [7]. The study shows that such strategies are quite effective and are mostly utilized for environmental education, consumption awareness and pro-environmental behaviors. In [8] a survey of European research projects is presented, which delivers gamification and visualization solutions to enhance energy-efficient behavior of energy and water consumers. The authors derive and propose solutions for frequent challenges related to such projects, such as data acquisition, applying baselines, ensuring consumer engagement, producing various motivation factors, user modeling, providing user guidance and education, privacy issues, model validation, achieving long-term impact, and averting rebound effects.
Moreover, several papers have surveyed the area of smart grid consumer engagement and behavioral characteristics. A literature survey of Information and Communications Technology (ICT) applications regarding home energy efficiency is conducted in [9]. The authors focus on occupant behavioral aspects and show that the adoption of such ICT solutions can reduce household consumption by up to 5%. A review of the factors that enhance electricity consumer engagement and acceptance in the smart grid context is carried out in [2]. That work is essentially a guide for researchers and policy makers to help them understand the behavioral characteristics of a smart grid customer. The study states that the reduction of electricity bills and carbon footprint, as well as the increase of user comfort, are the main factors that affect consumers' perspectives towards energy management programs. Furthermore, user acceptance can be increased by ease of use, education regarding the benefits of smart grids, and implementation of pilots.
As far as smart grid mobile apps for residential energy efficiency are concerned, the authors in [10] carry out a review of how mobile apps and especially social media mobile apps can further engage smart grid consumers. They discuss how electricity providers and utilities can take advantage of mobile applications and social media to achieve customer loyalty and engagement. The authors recommend that this can be achieved through personalization, exclusivity, and gamification.
In this survey, we present a review of existing work on mobile apps for the smart grid ecosystem and residential energy efficiency. Particularly, we conduct a novel survey and analysis of those mobile app features that affect consumer engagement and energy savings, and then further analyze the impact that machine learning approaches can have on such mobile apps through optimal flexibility management, detailed consumer profiling, and targeted personalized recommendations. Our survey helps to assess the current stateof-the-art in smart grid mobile apps, focusing on consumer motivation, engagement, and the use of machine learning and recommender systems. This class of mobile apps has not been explored much, while the repercussions of machine learning and recommender systems and their impact on smart grid consumers is a new emerging research direction. Hence, we focus on electricity consumer engagement and motivation, both from the research and the industry perspectives, while also examining how machine learning can be utilized to improve the impact and the results of such mobile apps, through techniques such as detailed consumer profiling, clustering, and classification. Literature surveys that discuss various applications of machine learning in IoT and smart grids, e.g., [11], [12], and [13], have been conducted in the past. However, our work differs from existing ones since we focus on smart grid consumer engagement and motivation through mobile apps and behavioral traits recognition with machine learning.
The remainder of this paper is organized as follows. In section II, we present the typical system architecture of a smart grid mobile app, with state-of-the-art technologies and frameworks. In section III, a brief overview of user engagement and motivation techniques with a focus on gamification is conducted. In section IV, existing work on mobile apps for energy efficiency is presented, regarding both research project outputs and commercial products. In section V, the role and impact of machine learning and recommender systems in such applications is studied, and FIGURE 1. Smart grid system architecture example consisting of IoT devices, an IoT gateway for communication, a back-end platform for data processing and web services, and a mobile app frontend, all with state-of-the-art technologies.
relevant approaches are presented. In section VI, a thorough comparison of existing mobile apps for electricity consumer motivation is carried out, regarding various features. In section VII, we discuss a series of open issues and future directions, and in section VIII we present a summary of the paper, key points, and our conclusions.

II. SYSTEM ARCHITECTURE AND RELEVANT TECHNOLOGIES
A feature-rich smart grid mobile app is most often utilized along with other hardware and software components, like IoT devices, smart meters, back-end servers, and Cloud databases. A typical example of the system architecture of a smart grid mobile app, using state-of-the-art technologies and frameworks, is presented in Fig. 1, and discussed in this section.

A. IoT INFRASTRUCTURE
Starting from the users' premises, IoT sensors and smart meters are deployed at houses and buildings to collect measurement data. Such measurements include power, energy, current, and voltage both at whole dwelling and individual appliance level, as well as climate conditions (e.g. temperature, humidity, pressure, etc.), illuminance, and detected motion. Furthermore, IoT devices are utilized to measure the performance and energy generation output of renewable sources, which most often are solar panels. Solar generation monitoring is essential for smart homes and smart energy grids since residential energy production modeling and forecasting can lead to a substantial reduction of carbon emissions. For example, excessive generation can be stored with batteries, while residents can shift scheduled activities (e.g. a washing machine task) to midday time slots with high solar generation capabilities.
These sensors and smart meters usually communicate with an IoT gateway, and transfer the aforementioned measurements through wireless short-range network protocols like Bluetooth [14], Wi-Fi [15], Zigbee [16], or Z-Wave [17]. Zigbee is a personal area wireless communication protocol providing low data rates with low power consumption, in a simpler and cheaper way, compared to other wireless protocols like Bluetooth and Wi-Fi. Z-Wave is a wireless communication protocol specially designed for smart home automation and low-power communication between appliances. The IoT gateway is typically a hardware component installed at the user's premises and is essentially responsible for the communication between the IoT devices, and the back-end platform in a secure way. It uses protocols like MQTT [18] to communicate and exchange data with the back-end system in a publish-subscribe approach. This means that the IoT devices and the gateway act as data producers/ publishers, i.e. publishing to different topics, while the back-end server acts as a data consumer by subscribing to specific topics. All communication is handled by a broker, i.e. when a new measurement is available by a publisher, it sends the appropriate message to inform the broker, which then distributes the data to the subscribers of the related topic.

B. BACK-END SERVER
The back-end system contains multiple software components responsible for different services related to the mobile application, such as database storage, big data processing, data analytics, machine learning computation, and REST APIs.

1) DATABASE
Smart grid IoT measurements are often stored in NoSQL databases like MongoDB [19] or InfluxDB [20], since they are a better fit for time-series data. Such NoSQL databases are most often utilized for real-time applications with big data, since they store data in different ways compared to traditional relational databases, like key-value stores, documents or objects, which can provide immense speed and memory benefits depending on the application. MongoDB is a NoSQL database that uses documents to store data instead of tables, while InfluxDB is also a NoSQL database specialized in time series data like IoT measurements.

2) BIG DATA PROCESSING AND MACHINE LEARNING
Issues regarding volume, velocity, and variety might arise when processing smart grid data for analytics purposes. Thus, technologies like HDFS [21], Kafka [22], and Spark [23] can be utilized for big data processing and analytics. HDFS is a distributed file-system capable of running on commodity machines and is ideal for storing large datasets, such as smart meter measurement data used for analytics. Kafka is a publish-subscribe stream-processing framework designed for real-time big data streaming and messaging that provides connectors with other interfaces for big data storage and analytics. Kafka is used in smart grid data pipelines in order to handle the large volume and frequency in which smart meters can generate and send measurements in real time, without having data loss, latency, and scalability issues. Spark is a big data processing framework optimized to run on computer clusters and includes a variety of functionalities, from classic SQL-like data queries to streaming analytics with Spark Streaming and graph-processing with GraphX. Furthermore, Spark comes with a machine learning library for big data called MLlib, which includes popular machine learning algorithms. Spark can be used to execute heavy smart grid data analytics jobs with high speed, both for batch and streaming measurement data from IoT devices and smart meters. Frameworks like TensorFlow [24], Keras [25], and PyTorch [26] can also be utilized for deep learning models and neural networks. Some of the trained models can also be deployed and run directly on the mobile device using libraries like TensorFlow Lite. We will further discuss the role of machine learning for smart grid mobile apps in section V.

3) WEB SERVER
Finally, a back-end web server is responsible for providing all the REST API endpoints necessary for the mobile app to communicate with the aforementioned services and exchange data. REST, which stands for Representational State Transfer, defines a set of web service standards and guidelines for computer system communication through the internet with high interoperability.

III. CONSUMER MOTIVATION TECHNIQUES
Different consumer interfaces are used by mobile app designers to elicit certain behavior and motivate consumers towards specific actions. For instance, prior work has been conducted for the optimization of mobile crowdsensing campaigns, where service providers have to choose the subset of targeted users, the assigned tasks and incentives to fulfill them [27]. Such motivation techniques most often include monetary payments or in-app rewards, and their efficient allocation requires accurate user profiling in terms of behavioral characteristics and preferences. Furthermore, machine learning techniques can also be used to capture consumer profile information from historical data, e.g. past responses to similar recommendations from the mobile app, in order to make a more efficient task allocation between users in terms of costs and impact [28]. In addition, such crowdsensing approaches can be generalized and applied to mobile applications for energy efficiency, where energy-related tips and recommendations are presented to the users to reduce their energy consumption [27].
Two types of motivation can be found in the literature: extrinsic and intrinsic motivation. The former is based on external rewards such as money and some type of recognition, while the latter refers to user behavior without clear external rewards that is triggered due to personal beliefs and needs.

A. MEANS FOR EXTRINSIC MOTIVATION
One of the most commonly used techniques for extrinsic consumer motivation is gamification, which refers to techniques and systems that focus on motivating and engaging users by utilizing game design principles [29]. Common gamification features like points, badges, and leaderboards, can substantially increase user engagement and motivation. Consumer motivation can also be achieved through competition. Namely, gamification creates competition among consumers, and they compete to gain badges, points, etc. Points can be used to determine user achievements and progress, while they are most often converted to real rewards, like discounts and gift items. Badges act as virtual status symbols that separate the users that acquired them from the rest. Leaderboards serve as a comparison tool for users, engaging them in a competitive way.
Gamification has been shown to have a positive impact on residential energy consumption reduction [6]. In [29], a theoretical gamification framework for household consumer energy efficiency engagement is proposed. This framework can be applied in any setting assuming smart meters are present. It first establishes a behavioral change model for energy efficiency, self-consumption, and demand response, with specific requirements like awareness, knowledge, privacy, incentives (economic, environmental, and social), ease of use, and self-control. The gamification component design of [29] includes: • Information provision: Statistics, messages, tips. • A Reward system: Discounts, virtual currency, prizes, coupons, etc.
• A friendly user interface: Dashboards, leaderboards, progress bars, notifications/messages, degree of control for automation/actuation.
• User performance status: Points, badges, levels. Other gamification frameworks have also been developed, e.g. [30] and [31], aimed at aspects related to privacy and supplier-consumer interaction respectively.
In general, individual user participation and actions cannot be taken for granted, and motivation models should always take into account uncertainty regarding user behavior [32]. Nonetheless, unpredictability should also be considered for the incentives themselves. Extrinsic motivation is a quite effective way to derive certain behavior and actions from users. However, such rewards might lose their engagement impact after some time, due to the fact that users anticipate them. When such expected rewards incorporate uncertainty, users are more likely to use the app on a daily basis, due to their curiosity.
Despite the fact that unpredictable and uncertain rewards are an effective strategy to motivate users, the overjustification effect should be taken into account. This effect arises when the app offers extrinsic rewards to users for an activity that they were anyway going to engage in. Consequently, any prior intrinsic motivation technique that encouraged the user in the first place, is weakened.

B. MEANS FOR INTRINSIC MOTIVATION
Intrinsic user motivation can be achieved with methods like showing progress, simple task assignment, sending success messages, and presenting environmental impact. These methods are explained below: • Progress visualization can increase the probability of completion for a time-consuming activity. When realizing how far they have come, users feel a sense of accomplishment that reduces the drop out rates.
• Task simplification is important to achieve app sustainability and continuous engagement. A task that is too difficult to complete might force even a highly motivated user to abandon it. To avoid this, multiple methods of completing a task could be provided to the users.
• Success messages give users a sense of achievement, while task completion can also be confirmed.
• Environmental impact presentation informs users with statistics and reports on how their activities affected the environment and other impact that their saved energy had, motivating them to engage with the app even more in order to increase their contribution.

IV. MOBILE APPS FOR ENERGY EFFICIENCY
In this section, we present existing smart grid mobile applications that provide users with motivation and incentives for energy efficiency and consumption reduction. Both research project outputs and commercial products are discussed, while most of them use motivation mechanisms like visualization, gamification, and simple notification tips. Some of the apps, utilize user profiling techniques to better understand consumer behavior and provide customized services. Machine learning models and recommender system approaches are also integrated in some of them. Some apps use feedback mechanisms like questionnaires, while most of the research apps integrate social media. A thorough comparison of various app features is conducted in section VI and is presented in Table 1.

A. RESEARCH PROJECTS
In this subsection, we present prior work on the development of mobile apps for residential energy efficiency and smart grid consumer engagement, regarding academic and collaborative research project results. In recent years, researchers have developed numerous mobile apps targeted at different aspects of residential energy efficiency. These apps share many common features, such as consumption visualization and forecast, and despite their differences, they all have the same goal of reducing energy waste.

1) ACADEMIC RESEARCH PROJECTS
One of the first attempts to develop a mobile application to encourage consumer energy-efficient behavior was the Power Explorer game [34]. It was also one of the first mobile games that incorporated real household consumption data through a game server connection. The researchers validated the energy efficiency impact of the app through interviews with users. The EnergyLife [35] mobile game was developed to enhance the energy awareness of consumers and to reduce household energy consumption. The app included a feedback system presenting historical and real-time smart meter consumption to the users up to appliance level. The gamification component of the EnergyLife app incorporated points, quizzes, levels, contextualized personal tips, and recommendations.
In [36], researchers examined consumer incentive mechanisms in the smart grid, through a system called Ener-gyCoupon. This included a mobile application that issues coupons to consumers in return for demand response actions. The users could then take part in lotteries and win prizes with these coupons. The EnergyCoupon mobile app was also responsible for providing personalized tips, historic and real-time consumption visualization to users, as well as consumption goals/targets for the current day. The system also utilized machine learning algorithms to conduct electricity price and baseline consumption (i.e. without demand response) forecasting, in order to help the user motivation process. A mobile application called EnergyWiz was developed by researchers to study the effects of comparative and community based feedback on household energy efficiency [37], [38]. The app included the following features: • Live data visualization. • Temporal self-comparison, i.e. through historical data. • Comparison with neighbors, i.e. the user is compared with the average performance of two groups of neighbors: efficient and inefficient. Depending on user performance, the app shows a message of social approval or disapproval.
• One-on-one consumption challenges through Facebook.
• Energy efficiency rankings of similar users, in terms of characteristics like house size and type. The MyEarth [39] app developed at the University of Wisconsin-Madison, allows users to track their environmental impact using five categories: electricity, energy usage, recycling, travel, and food. MyEarth manages to boost user VOLUME 8, 2020 engagement utilizing animations like a polar bear on a shrinking iceberg. When users take more energy-saving decisions, the iceberg gets bigger and the polar bear becomes happier.

2) COLLABORATIVE EUROPEAN RESEARCH PROJECTS
The ecoGator project [40], funded by the European Union's IEE (Intelligent Energy Europe) Programme, developed a smartphone application aimed at energy efficiency through gamification. The ecoGator app helped users to select the most energy-efficient products in the market, and to embrace an energy-efficient lifestyle through energy-saving tips, challenges, quizzes, points, competition with other users, leaderboards, social media integration, and real-world rewards.
The PEAKapp project [41] (Horizon 2020, 2016-2019) focused on developing a fun app that encourages users to behave more energy efficiently and to make use of the most appropriate load shifts. The core of the PEAKapp project was a dynamic pricing system responsible for reducing consumption during peak demand hours. The effects of various electricity tariff schemes on different household types based on load profiles and socio-economic characteristics were also investigated [42]. One of its primary goals was to connect users with each other and facilitate their interaction with the energy provider while providing consumer access to the electricity spot market. The key features of the PEAKapp mobile application included: • Presentation of the main consumption indicators, meter readings, and monthly balance sheet (Fig. 2).
• Environmental analysis, saving tips, and discount offers.
• Comparison between renewable production and consumption.
• Forecast of household consumption, costs, and carbon emissions.
• Comparison of each user's consumption to the average baseline.
• Ability to share progress and achievements through social media. Furthermore, the mobile app included a serious game where players were invited to estimate their future consumption as precisely as possible, by placing a bet. They gained more points as their bets got lower and/or closer to the actual consumption, and lost all of their points if the actual consumption exceeded their bets. If their bets were higher than the actual household consumption, the app prompted them to turn on specific appliances and thus adding the exact missing amount of kilowatt-hours.
The ChArGED project [44], [45] (Horizon 2020, 2016-2019) included a gamification based mobile application, targeted at stimulating consumer energy savings and ensuring balanced load. The ChArGED app engaged users towards education of efficient use of resources, by utilizing challenges based on NFC swipes, e.g. a ''Windows'' challenge, where users were prompted to close the windows when the A/C is on, and then swipe the relevant NFC tag to complete the challenge. The app was also supported by social networking technologies, that allowed people to team up and participate in competitions through the integration of leaderboards and badges (Fig. 3). The system was designed to provide personalized motivation for participating players based on their progression in consuming resources efficiently, e.g. energy saving tips. An hourly solar energy generation forecasting module was included, and the users were prompted to utilize appliances during peaks of solar production. The end-users were able to access their energy profiles and hence monitor aspects like their consumption, energy-saving devices and achievements. The GAIA project [46] (Horizon 2020, 2016-2019) produced a gamified online learning platform on energy efficiency where students play, explore and spread their learnings, and thus impact on energy usage at school. The GAIA ecosystem included features like a building manager application that provides access to all IoT data produced by the GAIA infrastructure (consumption, temperature, humidity, luminosity, noise levels and presence/movement) and a recommendations module. Furthermore, data analytics modules were included to provide end-users with useful insights like consumption anomaly detection, building clustering and statistics. The gamification aspect of the GAIA project incorporated: • Team missions and competitions.
• Knowledge missions, i.e. knowledge quizzes related to energy efficiency.
• Action missions, i.e. playful sparking of student action in the school building aiming to increase energy efficiency.
• Raising awareness and playfully sustaining students' as well as the wider community's interest, and engagement with project activities, through weekly GAIA Scavenger Hunt hashtag games implemented in popular social media. Moreover, GAIA aimed at achieving sustainability in terms of user energy-efficient behavior, through short and long term sustainability plans, and development of more gamification content, educational material, and new features.
The GreenSoul project [47] (Horizon 2020, 2016-2019) provided behavioral adjustment recommendations to office building occupants, using smart meter data. The Green-Soul system included mobile and web applications that incorporate: • Device smart monitoring and control. • Manual control affected by user behavior change.
• Occupant awareness through tips for more efficient use of systems like HVAC, lights, and elevators.
The GreenSoul mobile app prompted users to fill an anonymous socio-economic questionnaire when they interacted for the first time. The mobile app had two versions, a social recognition version and a collective treatment version. The former rewarded users with points for reducing the consumption of their personal computer, while the latter determined the cumulative points of the whole office, visualized the total office consumption, points and carbon emissions saved, and rewarded the office with collective points. Also, the collective treatment version compared their rank in terms of points with other office colleagues. The enCOMPASS project [48]- [50] (Horizon 2020, 2016-2019) integrated visualization of energy data collected from smart sensors, user-generated information, context-aware collaborative recommendations for energy saving, intelligent control, and adaptive incentives. It included a mobile and web application for: • Visualizing consumption impact (i.e. monetary, environmental, hedonic) and setting personal goals.
• Playing social games and pursuing rewards, badges, achievements, etc.
• Receiving consumption tips and customized recommendations, based on user clustering (Fig 4).
• Predicting the presence of users in indoor environments using machine learning, based on environmental features and energy consumption variables [51].
• Detecting the operation state of each appliance using machine learning, in order to achieve user-activity recognition [53].
• Optimizing user comfort. VOLUME 8, 2020 The enCOMPASS ecosystem incentivized users towards energy efficiency through gamification, by developing a hybrid game called FUNERGY consisting of a physical card game and a mobile game [54]. The players could scan QR codes located on the cards and expand the game rules or just use the mobile app to recognize objects around them using computer vision and answer energy-related questions about them [55]. The EnerGAware project [57] (Horizon 2020, 2015-2018) focused on developing a serious mobile game that enhances the energy efficiency of household occupants. The game was directly linked to occupant energy behavior through smart meter data. The users could create their own virtual smart household and learn how to reduce their energy consumption through in-game interaction with the virtual household. The achieved savings, of both their real home and their app simulated household, contributed to completing missions and goals.
The ENTROPY project [58] (Horizon 2020, 2015-2018) included a mobile application that provided personalized services to building occupants, regarding energy efficiency. This app allowed users to view real-time data from IoT sensors and get real-time recommendations to reduce their energy consumption. Furthermore, the ENTROPY app provided tips and quizzes aimed at energy awareness, both through the personalized app and a treasure hunt mobile game. The ENTROPY system utilized machine learning algorithms for user classification, clustering, and consumption forecasting, in order to gain valuable behavioral insights, which were crucial for the rule-based personalized recommendation system [59]. It recommended energy-efficient actions based on rules/conditions in a personalized manner, meaning that the recommendation message was stated in a different way depending on the type of the user (e.g. philanthropist, socializer, or free spirit). The clustering inputs included energy consumption and demographic data.
The Social Power Project [60]- [62] supported by the BREF-Social Innovation programme, aims at engaging consumers towards energy-efficient behavior through a mobile application. The Social Power App includes challenges, tips and quizzes to incentivize users, who earn points for achieving certain goals. The app provides energy consumption reports, game statistics like progress and points, and energy efficiency tips for different home appliances. Consumers can be either collaborative, where users living in the same city try to collectively reduce the city's total consumption and reach a specific goal, or competitive, where users try to reduce the city's total consumption compared to another team. User surveys were conducted before and after adopting the app and the results showed a significant improvement in sustainable consumption behavior.
The Tribe project [63] (Horizon 2020, 2015-2018), focused on developing a mobile game to enhance the energy efficiency of public buildings. Building occupants and visitors could play a campaign game where they try to balance money and comfort by interacting with a virtual home, and thus learn how to be more energy aware.
The GreenPlay project [64] (Horizon 2020, 2015-2018) included a serious game accessible from multiple platforms that allowed users to interact with their own virtual island ecosystem. When users reduced their real house energy consumption, they gained in-game rewards. The GreenPlay system also included a platform that monitored household consumption and provided visualization, tips, challenges, and team consumption reduction contests to the users. All the features of the GreenPlay system aimed at sustainable energy-efficient behavior.
The InterConnect project [65] (Horizon 2020, 2019-2023) is an ongoing project that aims at developing and demonstrating an interoperable ecosystem of demand-side flexibility services targeted at energy consumers, through seven large-scale pilots. As part of the Greek pilot, a smart grid mobile app to increase consumer engagement will be developed. The app will include data visualization, gamification, social media integration, machine learning models for advanced consumer profiling and behavior prediction, energy-saving tips, load shift recommendations, appliance flexibility actuation, and user feedback mechanisms.

B. INDUSTRY EFFORTS
Numerous mobile applications for energy efficiency in smart grids have also been developed by the industry sector. The main focus of industry efforts in developing smart grid mobile apps is on consumption data visualization and appliance level monitoring, as opposed to academic and collaborative research project mobile apps, which additionally focus on consumer behavior aspects and gamification.
Smappee [66] is an energy management system that includes a mobile app for residential consumers. The system collects data on solar generation, as well as electricity, gas, and water consumption. Smappee's goal is to provide users with all the information needed to monitor home energy consumption and costs. A clip-on sensor is provided to the users, which can be quickly attached to a fuse or breaker box. Smappee provides three ways to monitor appliance level consumption: • It can be used for submetering, by attaching current clamps to the distribution panel.
• It can collect measurements from the power outlet with an intelligent smart plug and a single-phase submeter.
• It provides submetering from the power cable using Non-Intrusive Load Monitoring (NILM) energy disaggregation. Furthermore, Smappee visualizes electricity, gas, and water consumption and costs per day, week, month, or year, as well as solar generation. The app can also compare the household's electricity usage with other locations. Moreover, users can control their devices (actuation) and automate energy flows from the app, even when they are not at home.
The TED (The Energy Detective) [67] ecosystem includes a real-time energy monitor mobile application called TED Advisor. Hardware is installed at the building breaker panel and measures energy demand, calculates costs, and sends email or notification alerts to the user. These alerts can include tariff changes, reaching limits and thresholds, excessive load events, high average demand for the location, and solar generation reports. App users can also study their historic energy consumption, and understand how they can improve their performance in terms of energy efficiency.
The Neurio Home Energy Monitor app [68] (by Generac) coupled with the Neurio Sensor, which is installed in the home's breaker box, monitors household appliance consumption and generation in real-time. The app also notifies users when they surpass their budget, while also comparing them to their neighbors in terms of energy consumption.
JouleBug [69] gives its users the ability to monitor their everyday habits and earn pins, badges, and points by carrying out energy-efficient actions. Moreover, users can sign up for local and national challenges to compete with other users from their community.
Constellation Connect [70] (by Constellation, an Exelon company) is a home energy management system that allows users to interact with their devices, like smart appliances, security cameras, lights, smart locks, and motion detectors. Consequently, this app engages and motivates users to become more energy-efficient, while also protecting their houses.
The majority of mobile apps focus on energy consumption recording, by informing users on how much energy their devices are consuming. Some apps educate users on the amount of money they could save if they reduced their energy consumption, like Energy Cost Calculator [71], Energy Tracker [72] and Kill-Ur-Watts [73], which do not come with hardware sensors that need to be installed, and users have to insert their data manually.

V. THE ROLE OF MACHINE LEARNING IN SMART GRID MOBILE APPS
During the last decade, researchers have managed to address various problems using machine learning algorithms, e.g. computer vision and speech recognition, while also beating humans in games like Go and Atari. Similar techniques have also been applied to smart grids at the grid system level, for tasks like building automation, grid load prediction, renewable generation forecasting, and malicious activity detection, with great success [74]. In this section, we focus on how machine learning can be utilized to make smart grid mobile apps more effective in terms of user engagement and motivation, and thus achieve higher levels of energy efficiency. Machine learning and recommender systems can be used for more targeted and personalized user experience with the mobile app, while aiming at energy efficiency. Consequently, this can be mainly achieved through more accurate user profiling, clustering, classification, and recommendations, while always depending on data collected from household smart meters.
Hence, the goal of such approaches is to extract high-level features and patterns related to occupant behavior from low-level device readings, which can prove to be quite helpful for providing users with personalized services and incentives. These features and characteristics are utilized to construct an energy profile for each consumer/household, and understand their behavior and habits so as to target them for energy efficiency and demand response actions.
An electricity consumer profile is essentially a vector of attributes related to the household's energy consumption, generation, socio-demographic characteristics, and other available features that can provide insights regarding energy behavior. An electricity consumer profile example is depicted in Fig. 5, and consists of attributes like household typical load profile (i.e. average power consumption of each time window during the day), consumption aggregates (i.e mean, maximum, minimum consumption during different periods), consumption ratios (i.e. features calculated as the ratio of two consumption aggregates, e.g. the average consumption during the afternoon and during the evening can indicate when cooking takes place), temporal features (i.e. the first time an event happens, e.g. daily consumption going over a threshold), flexibility factor, 1 number of occupants, socio-demographic characteristics, and heating/cooking type (i.e. electrical or not).
Clustering and classification are two of the most well-known and studied machine learning techniques. Mobile applications for residential energy efficiency can benefit immensely by integrating consumer clustering and classification, based on smart meter consumption data and other input features, to derive detailed energy behavior profiles for their users.
Other machine learning models can also be applied in smart grid mobile apps for consumer profiling. In [75] for example, a linear regression-based algorithm that detects the base load of households is proposed, i.e. constant consumption from always-on appliances like refrigerators/freezers. The authors suggest and validate, through experiments with real household data from smart meters (including temperature readings), that consumers with high base loads and/or high temperature sensitivity of base load (which indicates inefficient refrigerators-freezers) are good candidates for energy efficiency programs and should be targeted first. In the sequel, we focus on prior work regarding smart grid consumer recommender systems, clustering, and classification, as well as hybrid models of these approaches, in order to construct better user profiles and design energy efficiency strategies of higher impact.

A. CLUSTERING 1) CLUSTERING BASICS
The goal of clustering is to group certain objects, so that those belonging to the same group/cluster are similar to each other and dissimilar to those of other clusters, based on a set of predefined features using some similarity measure. In the machine learning component of a smart grid mobile app system architecture, clustering algorithms can be trained and deployed to cluster consumers, households, or buildings. One advantage of unsupervised learning models, like clustering algorithms, is that the training data are unlabeled, meaning that smart grid measurements can be directly used for clustering, without the need for time-consuming labeling procedures. Energy consumption measurements are used to derive various input features, like statistical properties, for the clustering models. The resulted clusters can be used to discover household consumption profiles, which are themselves utilized to determine similar users for recommendation systems, and to derive high-level consumer behavior patterns and characteristics for personalized services and incentives. For example, if a household belongs to a cluster that has a consumption profile with high consumption only from 19:00 to 23:00, we can assume that, most probably, it has all its occupants working outside the household during regular business hours. One of the most studied and effective clustering algorithms is k-means (Algorithm 1 below), where starting with k vectors in the feature space, it iteratively assigns each training observation to the cluster having the closest mean/centroid in terms of Euclidean distance (1), where x, y ∈ R n are feature vectors (e.g. of a consumer), and computes again each cluster's centroid vector including the new samples of that cluster. Convergence is achieved when the clusters remain unchanged. (1)

Algorithm 1 k-Means
Input: number of clusters: k, set of data points: D Output: k clusters 1: set k random data points as the initial cluster centroids 2: while clusters do not remain unchanged do 3: assign each vector to the closest cluster 4: recompute each cluster's centroid 5: end while 2) SMART GRID CONSUMER CLUSTERING APPLICATIONS As part of our ongoing work on energy consumer profiling and clustering, we have utilized the k-means algorithm to cluster 653 households from the Pecan Street dataset [76]. We constructed a profile similar to the one depicted in Fig. 5 for each house, consisting of typical normalized load profiles (daily, weekday, and weekend), consumption aggregates, consumption ratios, and statistics for different time periods, resulting in a total of 85 features. The optimal number of clusters was found to be 5 using the elbow method, and the resulted average normalized daily load profile for each cluster (i.e. hourly average normalized consumption for each cluster) is presented in Fig. 6. Normalization was applied to the energy consumption data, by dividing the consumption measurements with the household's average consumption, so that the clustering is not dependent solely on the magnitude of each household's consumption (i.e. bigger households with more occupants would be assigned to the same cluster), but mainly on the behavior of the occupants throughout the day. All 5 clusters had a population between 102 and 165 households, while it is evident from Fig. 6 that different consumption behavior patterns are observed for each cluster, meaning that diverse engagement strategies for energy savings should be adopted for each cluster of users. For instance, consumers having low consumption during the day while consuming excessive energy during afternoons, are ideal candidates for DR engagement actions.
In [77], typical load profiles are derived by clustering of consumer load data. An algorithm called Affinity Propagation is utilized that, contrary to k-means, does not need to take the number of clusters as an input. A similar model is proposed in [78], where a DR scheme using clustering of residential consumers is designed. Specifically, 10 features regarding each household, including square footage, last month's consumption and solar generation, number of appliances, and flexibility factor, are utilized as inputs for the k-means algorithm.
A more sophisticated approach is taken in [79], where the authors use hourly energy consumption data from 220,000 households to derive consumer segments/clusters, and thus target users for demand response and energy efficiency programs in a more effective way. They use an encoding system with a pre-processed load shape dictionary. Each household is then classified based on features derived from the base load like entropy. 2 Segmentation strategies for specific targeting schemes like household targeting for energy efficiency programs and recommendations for time-of-use shifts are also proposed. The representative load shapes of each cluster are derived using an adaptive k-means algorithm and then summarized with a hierarchical clustering algorithm. Five different segmentation strategies are derived, and it is explained how these strategies can be implemented for different programs.
In [80], the authors use a clustering algorithm called Finite Mixture Modeling to cluster residential customers based on behavioral characteristics extracted only from their energy consumption patterns. Four key time periods during the day are defined, i.e. overnight period, breakfast period, daytime period, and evening period. Seven statistical attributes are derived only from the consumption data and are used as inputs for the clustering algorithm.
In [81] the authors use the k-means algorithm to cluster energy consumers based on one-minute resolution power consumption data averaged hourly. Average seasonal curves are calculated for each household, which are then used as inputs for the clustering model. Two clusters were derived for each season leading to a total of 8 load profile clusters. A regression analysis was also conducted with explanatory features from survey data, to examine the correlations between a user's survey answers and the corresponding cluster. The study showed that features like remote working, television watch time per week, and education level had meaningful correlations with the derived cluster. Such insights can be very useful for utilities to design personalized energy efficiency strategies. A similar approach is taken in [82], where k-means, Expectation Maximization (EM), and Self-Organizing Maps are applied to household consumer data to derive behavioral patterns. The representative load curves are calculated for each home, as a dimensionality 2 Amount of consumption variability. reduction technique of the original consumption data, before applying the clustering algorithms. The results show that kmeans outperforms the other two models.

B. CLASSIFICATION 1) CLASSIFICATION BASICS
The goal of classification is to correctly determine the categories in which data points belong. Classification models belong to the supervised learning paradigm, meaning that such algorithms learn a function that maps input features to output labels. A supervised learning algorithm uses training data containing output values for each input feature vector x and tries to learn the correlation between them, thus being able to make predictions for a given problem based on unseen features. In order to accomplish this, supervised learning algorithms need labeled training data, e.g. spam/ham emails, from which they learn a function that maps an input to an output feature vector. Some of the most popular classification algorithms are Support Vector Machines (SVM), Logistic Regression, k-Nearest Neighbors (kNN), Decision Trees, Random Forests, and Neural Networks.

a: LOGISTIC REGRESSION
The logistic regression classifier takes its name from the logistic/sigmoid function (2).
For a binary classification problem, the probability of feature vector x belonging to class C is: where w is the weight vector learned during the training phase by minimizing the cross-entropy of the examples using an algorithm like Stochastic Gradient Descent (SGD). As far as multinomial logistic regression is concerned, also known as softmax regression, for the multi-class classification problem with n separate classes, the probability of x belonging to class C i is: where w i is the weight vector for class C i .

b: K-NEAREST NEIGHBORS
Another widely applied classifier is the k-Nearest Neighbors (kNN) algorithm. During the training phase of the kNN algorithm, the feature vectors of the training examples are simply stored in memory. Afterwards, when an unseen instance needs to be classified, the closest k training examples are observed and their majority class is returned. In order to achieve better results, distance weighting can be added to the model by giving a weight to each neighbor, which decreases when the distance from the point being classified increases. As a distance measure, Euclidean distance or cosine similarity are most often utilized. VOLUME 8, 2020

c: SUPPORT VECTOR MACHINES
The Support Vector Machine (SVM) algorithm tries to find a separating hyperplane between instances of different classes in a high-dimensional space (Fig. 7). Specifically, it tries to obtain the best possible separating hyperplane, which is the one with the highest distance (functional margin) from the nearest training instance of any class (support vectors). When the training data points are not linearly separable in a low dimensional space, the SVM algorithm maps them into a higher dimension, using a kernel function, in order to find the separating hyperplane. Popular kernel functions include linear kernels, polynomial kernels, and the sigmoid kernel. In other words, the SVM algorithm aims at maximizing the margin between the support vectors and derived the separating hyperplane, which is a quadratic programming problem, and can be solved with standard methodology. SVMs can achieve remarkable classification performance, while deriving an optimal global solution contrary to other machine learning models like Neural Networks that find local minima. However, SVMs suffer from computational and memory issues in nonlinear problems with large datasets.

d: DECISION TREES AND RANDOM FORESTS
The Decision Tree is a tree-like structure that simulates the segmentation of the training data. Each node represents a rule/question regarding a feature, each branch represents the answer to the question, and each leaf node represents an output class label. The generated set of rules can then be used for the prediction of new instances. Some of the most popular algorithms that generate Decision Trees include CART [83] and ID3 [84]. Decision Trees are simple to use and interpret, but they have some major disadvantages, one of the biggest being lack of robustness, meaning that a small alteration in the training data can result in a significant change in the overall architecture and the final predictions. Random Forests came to the rescue to solve this and other problems by applying an ensemble learning approach where the performance of some weak learners is boosted via a voting scheme. A Random Forest essentially consists of many Decision Trees. For the development of each tree, a subset of the training data is used at random but with replacement (bootstrap sampling). If K is the number of input features, we specify a constant number k < K so that for every node, k out of K features are selected randomly (random feature selection). Every Decision Tree is fully grown without pruning using a classic CART approach and after the construction of the forest, all the predictions are averaged in order to form the final output.

e: DEEP LEARNING
The building block of a Neural Network is the neuron which consists of an input feature vector x, a weight vector w, a bias term b and a non-linear activation function f (most often tanh, sigmoid, or ReLU). Each neuron computes the input weighted sum, adds the bias term, and passes the result through an activation function producing the real-valued output of the neuron. One of the most popular Neural Network architectures is the Multi-Layer Perceptron (MLP). An MLP consists of a given number of layers, the input layer, the hidden layers, and the output layer (Fig. 8). Each layer has a number of neurons and each neuron uses all the outputs of the previous layer neurons as an input: where h n is the n th neuron of the hidden layer, x = [x 1 , . . . , x k ] is the input feature vector, w n is the weight vector, and b n is the bias. A Neural Network learns all the weights and biases from training data using an algorithm called backpropagation [85], which is responsible for distributing the error gradient across all the network nodes using the chain rule. The weights are randomly initialized to small real values using for example a uniform or Gaussian distribution. Then in each epoch 3 and for each mini-batch 4 of training examples, the output of the network is computed and for each weight w, ∇E(w) is calculated, where E(·) is the loss function output for this specific mini-batch. The gradients are calculated from right to left and each weight is updated using an optimizer. The most commonly used optimizer is Stochastic Gradient Descent (SGD), where the weights are updated using the following rule: where η is the learning rate. More sophisticated optimizers to minimize loss are RMSprop [86], Adagrad [87], and Adam [88], which are widely used to train Neural Networks. Another popular Neural Network architecture is the Recurrent Neural Network (RNN). Unlike feed-forward Neural Networks, RNNs consist of nodes/blocks which form a directed graph (Fig. 9). Each node has its own state/memory, enabling RNNs to perform much better than feed-forward Neural Networks with sequences of inputs and tasks like speech recognition, time-series forecasting, and natural language processing.

2) SMART GRID CONSUMER CLASSIFICATION APPLICATIONS
Classification models can be used in smart grid mobile apps to classify new consumers in terms of socio-demographic characteristics and energy-related behavior. These insights are quite important for utilities and service providers, in terms of accurate user profiling and behavior prediction, which then are used to develop recommendation and incentive strategies with greater impact and lower costs.
In [89], the authors present a use case where an energy efficiency campaign manager wants to recruit household occupants, based on their profile and preferences, through a mobile app. These preferences are learned for each consumer using a logistic regression classifier, trained on historical data of demand reduction suggestions and corresponding user reactions, i.e. if the consumer accepted the suggestion or not. Different consumers have different preferences and reactions to suggestions and incentives. Thus it is important for the manager to derive such preference models, in order to provide the most appropriate incentives to each user, and hence maximize the probability that a suggestion is carried out, as well as the campaign's overall impact.
In [90], deep learning is utilized to model occupant characteristics, leading to the design of a more effective and sophisticated gamification approach. More specifically, a deep bi-directional RNN with Long Short-Term Memory (LSTM) cells is used to predict on/off events of appliances like ceiling fans, lights, and A/Cs, and thus learn the user's behavior. A social game is also introduced to incentivize occupants to reduce their energy consumption by rewarding them with points and potential prizes if their consumption during a day is lower than their baseline. A similar approach was taken in [53], using machine learning algorithms to predict the ON/OFF state of household appliances, and thus recognize human activities like cooking, and washing of clothes and dishes. In [51], the authors use appliance and water consumption data as input features to train a classifier that predicts the occupancy of a household, i.e. the number of occupants present in the house.
Several works have utilized consumption data as input features to classify households into socio-demographic classes derived from questionnaires [91]- [94]. More specifically, in [93], the authors conduct household classification regarding various properties like number of residents and floor area, using 22 features extracted only from the consumption load. They evaluate the model on real residential data, and verify that a priori knowledge of certain features can increase the classifier performance. In [92], the authors build on the work of [93]. They extend the input feature space from 22 dimensions to 88 and then perform feature filtering techniques to select the most important features based on classification performance. They also make changes to some of the property definitions and manage to further improve the household classification results in most cases. In [91], previous works are extended by incorporating weather data as additional input features to predict 19 classes, using the Random Forest classification algorithm. An application of deep learning for consumer behavioral modeling is studied in [95]. A Convolutional Neural Network (CNN) is implemented to extract highly nonlinear relationships between household consumption data and consumer socio-demographic characteristics derived from surveys, like age, income, number of children and floor area. The classification performance of the CNN is enhanced by replacing the softmax output layer with a Support Vector Machine (SVM).

C. HYBRID MODELS
In this subsection, we present approaches where both clustering and classification algorithms are used to model consumer behavior and characteristics more precisely. Insights derived from unsupervised learning methods like clustering, where more data can be provided since there is no need for labels, can then be used as inputs for classification problems. VOLUME 8, 2020 Socioeconomic characteristics along with smart meter household consumption data are used in [96] for household load pattern forecasting. After the electricity load data are clustered and a number of clusters with representative load patterns are derived, the authors select a subset of the socioeconomic input features for each cluster, based on the correlation between each feature and the cluster centroid pattern. Then, they train a separate deep Neural Network for each cluster, with the selected features as inputs, that outputs the probability that the consumer belongs to the specific cluster, resulting in a binary classification model.
In [97], a hybrid model that clusters consumers based on daily load curves and then classifies them to different categories using the k-Nearest Neighbors (kNN) algorithm is proposed. Despite the fact that this study is conducted for non-residential data, it can be transferred to household use cases as well.
A similar model is implemented in [98], where smart meter and survey data are used to classify new electricity customers into consumption profile categories. This model can help utilities find which consumer attributes are correlated to their consumption behavior, and thus enhance their engagement and energy efficiency through appropriate actions like personalized services. At first, smart meter data are processed to derive representative demand profiles, which are then used to cluster the consumers into groups. Afterwards, these group labels are the ground truth labels that the supervised machine learning algorithms use for the training procedure, while their input features are survey data and a limited amount of smart meter consumption data. Based on the input features, a new customer with few historic consumption data available can be classified into one of the consumer groups. The survey input features include variables like sex, age, education level, income, home age, heating type, and types of available appliances.
In [99] a similar approach is taken into account, where three clustering methods are evaluated based on household consumption data, k-means, k-medoid and self-organizing maps, with the latter showing the best results during experiments. Afterwards, each day was clustered independently so that seasonal characteristics of the household are not lost, i.e. a consumer might belong on a different cluster on different days. Averaging the overall consumer consumption for each day in a cluster, resulted in the final vectors of each cluster-profile class (10 profile classes were derived). A multi-nominal logistic regression model was trained to predict the probability of a consumer belonging to a profile class, based on consumer's characteristics like house type, number of bedrooms, family type, social class, heating type, occupant age, and available appliances.

D. ENERGY EFFICIENCY WITH RECOMMENDER SYSTEMS 1) RECOMMENDER SYSTEMS BASICS
The ever-growing amount of digital content available online has raised the need for personalized recommendation techniques now more than ever. Recommender Systems (RecSys) are widely used to make personalized recommendations of products and services like movies, music, and electronic devices to consumers, based on their preferences. In the basic RecSys problem, there is a set V of users, and a set I of items, which are candidates for recommendation. The usefulness of item i ∈ I to user v ∈ V is measured by a utility function U , i.e. U : V × I → R, with R being a totally ordered set (e.g. 0-5 stars or a continuous set e. g. [0, 1]). The goal of a recommender system is to choose items i ∈ I which maximize U for each user v ∈ V. The utility function can be learned from past user behavior, user and item similarity, item context, etc.
The most well known RecSys techniques are Collaborative Filtering (CF) and Content-Based, with the former relying on user similarity measures to recommend items to a user that users with similar profiles have liked, and the latter relying on item profiles (e.g. descriptions and other features) to recommend similar items to those that the user liked in the past.
The CF paradigm mainly consists of two methodologies, user-user and item-item. In user-user CF, for each user v ∈ V the algorithm finds a set N of other users who have similar ratings with user v in terms of a chosen similarity measure (e.g. Jaccard similarity, Cosine similarity, or Pearson correlation coefficient). Then, the ratings of user v are calculated based on the ratings of users belonging to set N (e.g. by averaging), and the items with the top derived ratings for v are recommended. In item-item CF, for each item i ∈ I the algorithm finds other similar items in terms of other user ratings, and calculates the rating of item i based on the ratings of the target user on these similar items.
In the Content-Based approach, a predictive model for each user's preferences is derived, based only on the past user behavior and actions (e.g. ratings, clicks, accepted suggestions, etc.), as well as on the content of the items that the user likes. Thus, similarity measures are used to find similar items to those that the user has liked in the past.
Matrix factorization or latent factor models [100] comprise a different category of CF algorithms, that utilize latent factors to describe user and item attributes and characteristics from item-rating patterns. Such models can include additional implicit user feedback and behavioral features (e.g. search history, past purchases, visited pages, etc.) when explicit user feedback, such as ratings, is not available. In a basic matrix factorization model that uses latent factors of dimensionality f , each item i ∈ I is represented by a vector q i ∈ R f , and each user v ∈ V is represented by a vector p v ∈ R f . The item-user utility function U or rating matrix is approximated by calculating the dot product: and captures the utility of item i to user v. The goal of matrix factorization is to find latent factor vectors q i and p v that lead to low error (e.g. Root Mean Squared Error -RMSE) between the real utility matrix part used for training, and the predicted utility values of the model. These latent factor vectors can be derived with algorithms such as Stochastic Gradient Descent (SGD), while regularization techniques can be used to avoid overfitting on the training segment of the utility matrix. To capture the effect of various external factors on the resulted user-item utilities, bias approximation approaches can be integrated into (7), which becomes: where µ is the average utility, b i is the item bias, and b v is the user bias. For instance, the item bias term b i might represent the fact that item i has a higher utility than average, while user bias b v might represent a situation where user v tends to experience lower utility compared to the average user. However, the utilization of RecSys in the smart grid sector is sparse, and only a few studies have tackled this area. RecSys can be utilized in smart grids for scenarios like energy-saving appliance recommendation, utility retail plan recommendation and load shift recommendation [101]. Smart meter consumption data along with household basic information and user preference data are processed by such systems to derive better recommendations.

2) APPLICATIONS OF RecSys IN SMART GRIDS
In [102], a system that makes recommendations to electricity consumers based on their profiles is presented. This system recommends other cheaper tariff plans for specific users, as well as how much energy can be saved by shifting specific appliance loads. In [103], a thorough description of an electricity retail plan recommender system is conducted. More specifically, this recommender system uses a Collaborative Filtering algorithm, which utilizes consumption data to offer similar retail plans to similar consumers. A clustering phase takes place, to identify which consumers are similar, and historical retail plan data are used to train the model. In [104] and [105], the authors use pattern mining techniques to extract energy-saving patterns from household smart meter (appliance level) data and create association rules. These rules are then used as part of a recommender system that matches the incoming real-time household data with the association rules pool, and if a pattern is matched, the relevant action of the rule is recommended to the user.

VI. COMPARISON OF EXISTING APPS
The mobile applications presented in section IV all have a common underlying objective, that of engaging and motivating electricity consumers to become more energy-efficient, i.e. reduce their consumption, or shift their loads. Some of them use similar approaches to achieve this goal, while others propose new and innovative concepts. A comprehensive comparison of the existing apps is conducted in this section, with Table 1 serving as a summary to guide the discussion.

A. DATA VISUALIZATION
One of the most common features among the applications presented in this study is data visualization. Such data are often generated by smart meters and IoT sensors installed at the user's premises, and have to pass through a pre-processing phase before being presented to the consumers in a meaningful way. This phase includes techniques like data cleansing, aggregation, and enrichment. A visualization module should follow specific design guidelines to raise consumption awareness and spark consumer behavioral change. According to [106] these guidelines include visualizing electricity consumption in a comprehensible manner, presenting particular aspects of consumption, and making comparisons to related references.

1) CONSUMPTION VISUALIZATION
Some of the surveyed mobile apps in this study, only visualize energy consumption, which is the most important aspect of electricity consumer behavior. Power Explorer [34] only visualizes the current total power level with a bar. The Green-Soul app [47] presents both total and device power consumption to the users, while ChArGED [44], [45] also provides historical data visualization. The Social Power App [60], except for total hourly consumption and history visualization, also presents a comparison with the baseline consumption of the user.

2) ADVANCED VISUALIZATION
Most of the surveyed apps present additional visualization services to end-users, in order to inform them in a richer way. EnergyLife [35], EnergyCoupon [36], EnergyWiz [37] and GreenPlay [64] visualize additional metrics like energy savings, costs, and CO 2 emissions. PEAKapp [41] incorporates all the visualizations mentioned above, as well as solar generation graphs, consumption forecasts, and comparison with other households. Similarly, the Neurio app [68] visualizes current and historic consumption, costs, savings, solar generation, and comparison with neighboring houses. GAIA [46] visualizes current total and appliance consumption, history data, as well as other sensor metrics related to climate, luminosity, noise levels, and occupant presence. Furthermore, it presents consumption anomaly detection events, building clustering, and statistics. The enCOMPASS [48] app presents the basic insights of total and device power consumption, and historical data, but it also visualizes personalized consumer impact (i.e. monetary, environmental, hedonic), and goal progress as a ''charging battery'' graph. ENTROPY [58] shows real-time total consumption data, household baselines, target/goal progression, and daily number of energy peaks. MyEarth [39] and JouleBug [69] only present CO 2 and water savings related to user activities, which are not derived from smart meter data but directly through the app interface. Furthermore, the Smappee [66] application visualizes current total and appliance consumption, historic data, solar generation, gas and water consumption, costs, aggregates/analytics, and comparison with other locations. Last but not least, the TED [67] app shows current power consumption, costs, history, and total location grid demand. VOLUME 8, 2020

B. GAMIFICATION
As we analyzed in section III, gamification can substantially enhance electricity consumer engagement and provide incentives for consumption reduction. For that reason, a great number of mobile applications targeted at energy efficiency incorporate gamification techniques like the ones we mentioned earlier in the survey.
Some mobile apps like Power Explorer [34], Ener-GAware [57], and Tribe [63] are essentially serious mobile games that aim at reducing user energy consumption through various graphic interfaces and gaming interactions. Others like PEAKapp [41], ChArGED [45], GreenPlay [64], and MyEarth [39] include simpler serious games, alongside the rest of their features, mainly related to the users' consumption and actions. However, as depicted in Table 2 the most common gamification features of the studied mobile apps are challenges, points, levels, badges, rewards, leaderboards, competitions, goals, and quizzes. In addition, Ener-gyCoupon [36] uses coupons, ENTROPY [58] shows user progression, and the Social Power App [60] has a competitive structure for competitive users, and a collaborative structure for users to reduce consumption collectively.

C. FLEXIBILITY
Flexibility refers to dynamic consumption adjustment from the consumer's side, most often at an appliance level, for energy efficiency and demand response purposes. Household occupants can provide flexibility either manually by shifting energy-consuming activities and switching on/off devices, or automatically by letting a third party (e.g. their utility or a mobile app) to directly control pre-specified appliances. Consumers providing flexibility can immensely help energy utilities and grid managers to evenly balance electricity demand, and thus avoid peaks that can cause blackouts and substantial emission increase.
Most of the studied mobile applications do not implement features that can help the user with flexibility, e.g. controlling devices directly from the mobile app like many existing smart home automation systems do, which means that despite the fact that most apps provide incentives for certain actions (e.g. to turn off the A/C), the user has to physically perform these actions. With apps like Smappee [66] and Constellation Connect [70], users can control/actuate their registered devices directly through a mobile app, as well as automate household energy flows. Constellation Connect also allows users to create triggers on certain events.

D. USER PROFILING
Constructing detailed user profiles based on electricity consumption patterns and behavioral characteristics can help utilities to better understand their consumers, and thus enact more targeted and personalized services to achieve greater impact. Data acquired through a mobile application, like the ones studied in our work, can be effectively utilized for the purpose of user profiling.
EnergyCoupon [36] analyzed the energy consumption profile of the users to validate the effects of the mobile app in terms of demand reduction and savings. Green-Soul [47] incorporates a profiling module, that not only collects socio-demographic data from an in-app questionnaire, but also captures behavioral insights from smart meters and user interaction. The user profiles extracted are then used as input for data analytics and forecasting. enCOMPASS enhances the user profiling procedure by detecting appliance states and thus recognizing user activity patterns [53]. ENTROPY [58] categorized users based on questionnaires into profile types (i.e. philanthropist, socializer, free spirit, achiever, player, and disruptor), while also extracting energy load profiles with clustering algorithms.

E. MACHINE LEARNING TECHNIQUES
As discussed in section V, integrating machine learning techniques into mobile applications for energy efficiency can substantially enhance end-user engagement with refined incentive mechanisms. However, only a few of the existing apps use such approaches.
EnergyCoupon [36] utilizes classification Decision Trees to predict if the future electricity price is going to be high. GAIA [46] uses the k-means algorithm to cluster buildings based on seasonal and yearly energy consumption, as well as on building characteristics from their knowledge base. It also performs anomaly detection with a Generalized Additive model. GreenSoul [47] and enCOMPASS [51] use machine learning techniques for occupancy prediction, while enCOMPASS also conducts user activity profiling through appliance state prediction with models like Support Vector Machines (SVM) and Neural Networks, and user clustering based on consumption behavior with k-means. ENTROPY [58] also applies the k-means algorithm for user clustering based on sociodemographic data, household characteristics, and smart meter measurements. Additionally, ENTROPY includes consumption forecasting using popular machine learning techniques like Support Vector Regression (SVR).

F. RECOMMENDER SYSTEMS INTEGRATION
Recommender System (RecSys) techniques can provide very important insights to utilities regarding user preferences and thus help them to develop incentive techniques. Despite that, most mobile apps providing incentives for energy efficiency do not take full advantage of the available RecSys approaches.
GAIA [46] and ENTROPY [58] use rule-based systems for their personalized recommendations. enCOM-PASS [48] also makes customized recommendations based on user clustering, while also utilizing collaborative filtering techniques to make similar energy-saving suggestions to similar users in terms of consumption profile, while also taking into account user feedback regarding these suggestions [50].

G. USER FEEDBACK AND ELICITATION
User feedback, either in the form of direct feedback regarding specific app features or in the form of in-app questionnaires, can help build better user profiles, targeting strategies, and more accurate models to achieve higher levels of energy efficiency. ecoGator [40] integrates feedback with user ratings for the energy efficiency tips it provides. Similarly, GreenSoul [47] gives its users the ability to express positive or negative feedback on the messages the mobile app sends. Furthermore, consumers can fill an in-app questionnaire regarding socio-economic characteristics. enCOMPASS [48] also uses a questionnaire to determine what appliances the user owns, while occupants can give feedback on the energy efficiency tips (i.e. ''Okay, will do,'' ''already doing this,'' ''not for me''). In ENTROPY [58] consumers can fill questionnaires that include demographic data. Implicit feedback can be derived from the ENTROPY app (i.e. a tip has been read by the user), while users can provide explicit feedback by accepting or declining a task. Smappee [66] includes an in-app survey where users declare parameters like building type, family structure, and appliances.

H. PASSING NOTIFICATIONS AND SUGGESTIONS TO USERS
The majority of mobile applications for consumer energy efficiency use tips, suggestions, and notifications to keep their users engaged and communicate their incentives in an effective and user-friendly manner. However, such mechanisms should be designed with great care, since app users can become irritated if they get overwhelmed with tips and notifications throughout a short period of time.
Power Explorer [34] alerts its users when a high consumption load is detected. Social Power App [60], Green-Play [64], and Neurio [68] send general energy-saving tips and advice to their users. In addition, EnergyCoupon [36], ChArGED [44], and enCOMPASS [48] also provide personalized energy efficiency tips, based on the conducted user profiling. EnergyLife [35] uses contextualized tips based on specific user actions and triggers, in order to change their behavior. ecoGator [40] also sends simple pieces of advice, hints, and shopping tips for energy-efficient products to the consumers, while PEAKapp [41] notifies them with saving tips, and discounts. GreenSoul [47] uses high-level recommendations/advice and context-aware notifications, i.e. different message formats are used for different user types (e.g. generic, energy, financial, and environmental message formats). The ENTROPY [58] app also utilizes general tips and personalized recommendations based on user types, and notifications with invitations for environmental awareness events. Furthermore, Tribe [63] educates consumers on energy efficiency measures for public buildings, while TED [67] sends alerts/messages for tariff changes, excessive demand load for the user's location, and surpassing power consumption thresholds. JouleBug [69] uses push-notifications for gamification, social activity, and reminders, while Constellation Connect [70] alerts occupants for events and triggers inside the house, mainly related to security aspects.

I. SOCIAL MEDIA INTEGRATION
Social media have a great impact on our lives in recent years, and are the main tool in the hands of advertisers and engineers to incentivize end-users of various products. This is also the case in the smart grid sector, where many existing mobile apps aimed at energy efficiency integrate social media as a central component of their consumer engagement mechanisms.
EnerGAware [57] allows players to communicate with each other and read related news. EnergyLife [35] developed an in-game community for users to interact with each other and share knowledge and experience related to consumption reduction. Moreover, PEAKapp [41], ecoGator [40], GreenSoul [47], ENTROPY [58], JouleBug [69], EnergyWiz [37], and GAIA [46] give their users the ability to share in-app accomplishments on popular social media platforms. In addition, EnergyWiz [37] includes one-to-one energy efficiency challenges and user comparison on Facebook, while JouleBug [69] integrates both sharing on social media platforms and on its own social activity section with a trending feed, likes, comments, and follows.

J. MEASURED IMPACT
Arguably, one of the most meaningful aspects of a mobile app aimed at consumer energy efficiency is its resulted impact. In other words, the essence of each app's objective is the amount of energy consumption reduction and energy efficiency its users accomplish. Thus, it is crucial to compare the studied mobile apps in terms of validation outcomes and results achieved, using appropriate Key Performance Indicators (KPIs).
However, this is possible only for some of the apps we present in this paper, which were developed and validated through research projects and pilots. Information for the measured impact of commercial products and standalone mobile apps is either partial or not existent. KPIs that reflect each app's impact include energy consumption (reduction in kWh or as a percentage), costs of energy consumption, greenhouse gas emissions, and various app interaction statistics. In this subsection, we focus on energy consumption since it is the most common KPI measured by most of the apps.
Nonetheless, a direct comparison of the energy efficiency impact achieved by the apps is not possible since the validation approaches and the pilots of the projects are very different in terms of user types, number of users participating, and duration. For example, some projects recruited residential users while others focused on public buildings and offices. Furthermore, the validation procedure carried out by some of the residential projects only included a small number of houses, meaning that their results have not the same value compared to larger validation phases, even if the energy savings seem greater.
More specifically regarding apps used by residential consumers, Power Explorer [34] achieved an average energy consumption reduction of 14% for a small sample of 15 users, during a 7-day trial. On the other hand, EnergyCoupon [36] focused on energy consumption shifting to off-peak hours instead of consumption reduction in general. The app's impact was measured through a 3-month validation period with 10 users, resulting in an average energy shift of 5% of the total consumption, while some users reached an average shift of up to 20%. Considerable residential impact was also reported by EnerGAware [57] and the Social Power App [60] with an average energy consumption reduction of about 5% (for 44 households during 2 years) and 8% (for 108 households during 4 months) respectively. PEAKapp [41] and GreenPlay [64] conducted larger validation procedures with 811 (during 17 months) and 157 (during about one year) users respectively. PEAKapp achieved average energy savings around 1%, while GreenPlay [64] did not show substantial energy savings in practice. Finally, the enCOMPASS [48] project conducted a validation phase with 223 households, that lasted 10 months and showed separate energy savings for the different pilot sites that averaged around 10%. In Fig. 10 we illustrate the measured impact for the apps that provide validation results regarding household users. Fig. 10 does not reflect a direct comparison between the impact of the apps since they were validated under very different circumstances in terms of number of users, location, and time frame, but it serves as a visual representation of the measured impact for the reader. As for the mobile apps that were deployed for building occupants (e.g. offices, schools, and public buildings), greater savings were achieved since such buildings had a considerable consumption footprint in the first place. ChArGED [45] reported an average consumption reduction of approximately 40% and GAIA [46] measured savings between 15%-20% for several school buildings. GreenSoul [47] reported average savings of about 10% for a realistic scenario, while Tribe [63] stated a consumption reduction between 15%-20%. Finally, ENTROPY [58] managed to reduce average occupant energy consumption by approximately 16%.
As it is evident both from Table 1 and Fig. 10, most of the studied apps achieved significant energy savings for diverse use cases, although there is still room for improvement regarding substantial long term energy savings, especially for residential consumers. In addition, one can argue that the integration of machine learning for residential consumer modeling can significantly improve the resulted impact of a smart grid mobile app in terms of household consumption reduction, as we observed with the enCOMPASS [48] project, which achieved greater energy savings compared to other residential projects (with a large number of recruited houses) that did not utilize machine learning approaches.

VII. OPEN ISSUES AND FUTURE WORK
After conducting a thorough comparison among existing mobile apps for smart grid consumer engagement, it is clear that most of them use data visualization, gamification, and energy saving tips as their main motivation and engagement mechanisms. However, as it is evident from Table 1, none of the existing mobile apps integrates all the features studied in this survey, and thus there is still room for improvement in order to achieve higher levels of electricity consumer engagement and consumption reduction.
Future directions should also focus on the integration and deployment of machine learning and recommender systems, as well as architecture interoperability, big data, and security. Furthermore, several of the studied mobile app features are interrelated, e.g. machine learning and RecSys integration can affect notifications and user profiling. Thus it is crucial to design these features having in mind potential dependencies that might affect them, in order to achieve a smoother user experience.
In the future, mobile apps should be a fundamental component of the smart energy grid ecosystem, constantly providing bidirectional real-time communication between end-consumers and the smart grid. Users should have the ability to monitor and control all the energy-related aspects of their lives in the palm of their hands, while constantly receiving crucial information about the current, past, and future state of their energy-related activities, consumption, generation (e.g. solar panels), and impact, through advanced and interactive visualization approaches.
At the same time, smart grid mobile apps should provide advanced consumer flexibility and feedback mechanisms to the users, which still remains an open issue to this day. More specifically, demand response mechanisms can be optimized and achieve a higher amount of demand shifting, if they utilize real-time flexibility schedules for multiple appliances and tasks, while user feedback regarding the quality and acceptance of the proposed demand response actions will help the system to make adjustments. The integration of machine learning and recommender system techniques in such approaches can further improve the system's performance and increase energy savings, but still remains an open issue. We envision to tackle such issues related to flexibility and machine learning utilization as part of our future work during the InterConnect project.

A. MACHINE LEARNING AND RECOMMENDER SYSTEMS
Smart grid mobile apps such as the ones presented in this survey, generate and consume a significant amount of electricity consumer data, which if processed appropriately can provide crucial insights regarding user behavior, consumption patterns, and the smart grid in general. However, few of the existing apps utilize advanced user profiling techniques and machine learning, and those that do are research projects, meaning that such approaches have not been adopted yet by utilities and the industry.
The same is the case with recommender systems, since just a few research projects take advantage of them to make more effective energy-related recommendations to consumers. Open issues regarding recommender systems in smart grid mobile apps include the design of specific recommendation formats, soliciting explicit and implicit feedback from consumers to continuously learn, and leveraging recommender system theory and algorithms while identifying differences and specifics to smart grid recommendations. For instance, detailed energy consumer profiles should be constructed based on various parameters, such as consumption features, socio-demographic characteristics, and past responses to recommendations. In addition, item profiles should also be derived based on their context, e.g. the text of the recommendation message, overall past user response, recommendation type, etc.
One more related aspect is that of feature engineering, i.e. how should the recommendation features/parameters be tuned, to maximize the probability of adherence by a specific user, since each user has different profile characteristics. Such parameters can include the timing of the recommendation, the incentive provided (e.g. monetary or ecological), and the wording used. Hence, an additional open issue is the optimal matching of the generated incentives and recommendations to the most appropriate consumers based on the advanced consumer profiling conducted, in order to increase the recommendation impact.
Furthermore, the integration of deep learning models in smart grid mobile app systems is still quite sparse, despite the immense success such algorithms have achieved in other domains. More complex models like deep learning and reinforcement learning could be tested and adopted by smart grid mobile apps, in order to derive high-level behavioral characteristics regarding electricity consumers, buildings, and the smart grid as a whole. More specifically, deep learning architectures like Convolutional Neural Networks (CNNs) and Recurrent Neural Networks (RNNs) can be used to extract highly non-linear relationships between energy consumption measurements and consumer characteristics, as well as to build better recommendation engines as in [107]. To achieve that, such models should be trained on large datasets consisting of complex consumer profiles and smart meter data of diverse nature and granularity, e.g. appliance, whole building, indoor/outdoor climate, occupancy, and other measurements. Consequently, more accurate clustering and classification can be achieved, meaning that the mobile app will be able to provide more targeted personalized feedback and recommendations, thus achieving greater engagement and energy efficiency.
Moreover, reinforcement learning agents can learn what recommendations are useful to propose to users through feedback, either explicit (e.g. user accepts/declines the recommendation) or implicit (e.g. after a load shift recommendation the smart meters record a drop in consumption). The agent will learn, from a set of possible fixed recommendations, the probability that a user will follow what the recommendation suggests in a short time horizon.

B. SYSTEM ARCHITECTURE AND BIG DATA
One area where smart grid mobile app systems could be improved is architecture interoperability, meaning that the various system software components should be easily replaced if needed so that more entities and services are involved. For instance, a new smart home device or a new electricity provider should not lead to major adjustments in the system architecture. This can be achieved by utilizing guidelines, standards, and ontologies like SAREF [108], and REST APIs. The Smart Application REFerence ontology (SAREF) constitutes a reference ontology specially designed for the IoT ecosystem. SAREF incorporates a variety of classes, objects, and properties to make the VOLUME 8, 2020 communication with different IoT devices seamless, even if they utilize different standards and protocols from different manufacturers. The mobile app we are developing as part of our ongoing work in the InterConnect project will take full advantage of the SAREF ontology to collect and process data from various sources while ensuring interoperability. Other technical IoT and energy standards that should be considered in the system architecture design of a smart grid mobile app include: the Universal Smart Energy Framework (USEF) [109] for communication with flexibility markets, the Open Charge Point Interface (OCPI) protocol [110] for smart electric vehicle charging, and the IEC 61970 standards [111] for energy management system APIs.
Despite the recent advancements in mobile device performance, apps might face operational problems when processing a large volume of smart grid measurement data with high variety and velocity. Hence, smart grid mobile apps must be supported by appropriate backend systems with big data processing capabilities that incorporate frameworks like HDFS [21], Kafka [22], or Spark [23]. The integration of such frameworks and approaches by smart grid mobile app systems has not been fully studied, thus it is important for future efforts to adopt such big data processing mechanisms in order to provide richer services to end-users. Such services could include more complex and faster data analytics pipelines for better energy insights, as well as visualization with higher granularity and overall greater system reliability and fault tolerance.

C. APP SUSTAINABILITY
It is critical for smart grid mobile apps to achieve long-term consumer engagement and sustainability in terms of energy efficient behavior, otherwise the app's impact on consumption reduction and load shaping will be short-term and insignificant. Only a few of the aforementioned studied mobile apps included a thorough sustainability plan in order to retain user engagement throughout time. This can be accomplished by continuous development of new content and features, in order to avoid user fatigue and eventual dropout. The gamification content should be updated over time and new rewards should be provided to consumers. Furthermore, new visual insights should be presented, so that the users always learn something new about their energy consumption patterns and characteristics. In addition, mobile apps should adapt to the behavior and characteristics of each user, in order to provide them with personalized content, thus keeping them engaged throughout time.

D. SECURITY AND PRIVACY
One more aspect that we think should be better addressed by such applications is security since household energy data are sensitive, and in the wrong hands can raise serious issues. For example intruders can derive the working hours of occupants from their energy data and break into their house. Advanced anonymization technologies, Distributed Identifiers (DIDs), Distributed Ledger Technologies (or blockchains), smart contracts, and Verifiable Credentials (VCs) can help improve privacy, by collecting household IoT measurement data in a secure, robust, and privacy-preserving manner [112], and provide access to it under specific and tight authorization rules [113].

E. FUTURE WORK
After identifying open issues in the area and highlighting future research directions, we present our envisioned mobile app for energy consumer engagement, and overall residential consumption reduction, which is part of our ongoing work during the InterConnect project. The mobile app will incorporate all the consumer engagement features identified in this survey, i.e. advanced visualization, gamification, flexibility, detailed consumer profiling, feedback mechanisms, sharing through social media, machine learning models, and tips/notifications with recommendations for energy efficiency utilizing recommender system methodologies.
More specifically, our new architecture will focus on the integration of machine learning and recommender system components to achieve higher levels of engagement and energy savings. As it is evident from our survey, this is an aspect that the majority of the previous apps for residential energy efficiency have not touched upon, and the ones that do so, do not take full advantage of the recent advancements in machine learning (e.g. deep learning) and recommender systems.
In our future work, we will construct detailed energy profiles for each user/household (as described in section V) utilizing energy consumption data, socio-demographic data from questionnaires, and other IoT measurements (e.g. climate conditions, occupancy, and illuminance). Then, supervised and unsupervised machine learning algorithms are going to be used to extract highly nonlinear correlations between consumer profile features and behavioral characteristics (such as the clustering solution depicted in Fig. 6). Such insights will be utilized to engage consumers based on their behavioral characteristics in a targeted manner using advanced RecSys approaches, thus achieving greater energy savings compared to the state-of-the-art. Furthermore, our mobile app will enable flexibility from the consumer perspective, providing appropriate incentives for users who are involved in the flexibility procedure, thus further decreasing the overall consumption. The app will be validated through a pilot with consumers from multiple companies (i.e. energy retailers and IoT providers), to verify its generality and interoperability capabilities.

VIII. CONCLUSION
A thorough survey of existing mobile applications for informing, educating, and incentivizing smart grid consumers was presented. Approaches for user engagement and motivation were briefly discussed, with a focus on gamification, as well as state-of-the-art mobile app system architecture approaches. Moreover, the role and importance of machine learning integration by such apps, for more effective user and building modeling was discussed, analyzing the application of techniques like classification and clustering. Furthermore, a presentation and comparison of existing mobile apps for energy efficiency was carried out, both for research projects and industrial products, regarding features like data visualization, gamification, flexibility, user profiling, feedback mechanisms, tips or notifications, social media, machine learning, and recommender systems integration. This paper highlights the positive impact that such mobile apps can have on electricity consumer engagement and overall smart grid efficiency through consumption reduction and demonstration of improved flexibility or load shifting, and points out the features that are missing from existing applications in order to achieve higher levels of energy savings, more ecological energy consumption profiles, and overall lowering environmental impact.