A system, method, and computer program for dynamically assessing driver performance, including that of an autonomous driving system, with the aim of improving driver performance. Based on received electronic driver performance messages, the system may determine whether an instant feedback message is required to dynamically adjust driving behaviour of a subject driver or autonomous driving system. If yes, then the system provides an instant feedback message. Otherwise the system may provide an aggregate feedback message, calibration message, and/or coaching recommendation as appropriate. An aggregate feedback message may be provided based on the driver performance score calculated and based on the driver performance messages received over a predetermined time period. Otherwise a driver profile can be generated from driver performance messages. The subject driver, or their vehicle, can be identified by a sensor. The system may be adapted to: calculate an insurance premium or coverage, calculate cost of hiring a vehicle, monitor driving quality of drivers, recruit drivers, provide incentives, and provide driver performance reports. The driver performance messages may be generated automatically by an observer user device or through human interaction with an observer user device, allowing a proximate driver to report poor or good driving by a fellow driver.
Dynamic learning driving system and method