# Profile

Each driver has a signature that depends on the way they use their vehicle. This service provides an accurate picture of the driver's profile based on an analysis of driving data.

The driver profile reflects the driver's habits: frequency of trips, regularity, distance travelled per year and mobility area.

The reliability and accuracy of the results improves with the amount of historical data analyzed. A minimum of *2 active weeks* and *500 km travelled* are required to get a response.

{% hint style="info" %}
If you have your **admin API key**, you can try the API via this [**link**](https://drivequant.stoplight.io/docs/drivequant-public/8747f5b4a4f7d-get-driver-profile-and-driving-habits).
{% endhint %}

{% openapi src="<https://2525923625-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LXYIG5U3AO65YYFWJRK%2Fuploads%2FkkHLfoCCzJpWNJaZ0ZYC%2Fdriver-profile%20(1).yaml?alt=media&token=21cab9ce-d151-4c5a-82b9-1f365384b92c>" path="/drivekit/admin/drivers/{userId}/profile" method="get" %}
[driver-profile (1).yaml](https://2525923625-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LXYIG5U3AO65YYFWJRK%2Fuploads%2FkkHLfoCCzJpWNJaZ0ZYC%2Fdriver-profile%20\(1\).yaml?alt=media\&token=21cab9ce-d151-4c5a-82b9-1f365384b92c)
{% endopenapi %}

## Path parameters

<table><thead><tr><th width="134.33333333333331">Field</th><th width="109">Type</th><th>Description</th></tr></thead><tbody><tr><td>userId</td><td><code>string</code></td><td>Driver's unique identifier</td></tr></tbody></table>

## Response

The table below summarizes the list of a driver profile's data.

<table><thead><tr><th width="250">Field</th><th width="187.33333333333331">Type</th><th></th></tr></thead><tbody><tr><td>userInfo</td><td><a href="#userinfo">UserInfo</a></td><td>Generic information about the user</td></tr><tr><td>statistics</td><td><a href="#statistics">Statistics</a></td><td>Synthesis of the user's data since his first recorded trip</td></tr><tr><td>regularity</td><td><a href="#regularity">Regularity</a></td><td>Regularity of the user</td></tr><tr><td>distanceEstimation</td><td><a href="#distanceestimation">DistanceEstimation</a></td><td>Estimated driving distances per week, month and year</td></tr><tr><td>profile</td><td><a href="#profile">Profile</a></td><td>User's driving habits</td></tr><tr><td>percentageRoadContext</td><td><code>array[object]</code></td><td>Distribution of the user's trip by road context <em>(see</em> <a href="#percentageroadcontext"><em>PercentageRoadContext</em></a><em>)</em></td></tr><tr><td>commonTrips</td><td><code>array[object]</code></td><td>Typology of usual user trips <em>(see</em> <a href="#commontrips"><em>CommonTrips</em></a><em>)</em></td></tr><tr><td>mobilityArea</td><td><code>array[object]</code></td><td>User mobility area <em>(see</em> <a href="#mobilityarea"><em>MobilityArea</em></a><em>)</em></td></tr></tbody></table>

### UserInfo

The table below summarizes the content of the `userInfo` object.

<table><thead><tr><th width="201.33333333333331">Field</th><th width="158">Type</th><th>Description</th></tr></thead><tbody><tr><td>userId</td><td><code>string</code></td><td>User unique identifier</td></tr><tr><td>firstname</td><td><code>string</code></td><td>User firstname</td></tr><tr><td>lastname</td><td><code>string</code></td><td>User lastname</td></tr><tr><td>companyName</td><td><code>string</code></td><td>Company name</td></tr><tr><td>registerDate</td><td><code>string</code></td><td>User registration date<br><em>Date format: <code>YYYY-MM-dd’T’HH:mm:ss.SSSZ</code></em></td></tr><tr><td>firstTrip</td><td><code>string</code></td><td>Date of the first trip<br><em>Date format: <code>YYYY-MM-dd’T’HH:mm:ss.SSSZ</code></em></td></tr><tr><td>lastTrip</td><td><code>string</code></td><td>Date of the last trip<br><em>Date format: <code>YYYY-MM-dd’T’HH:mm:ss.SSSZ</code></em></td></tr></tbody></table>

### Statistics

The table below summarizes the content of the `statistics` object.

<table><thead><tr><th width="173.33333333333331">Field</th><th width="130">Type</th><th>Description</th></tr></thead><tbody><tr><td>tripsNumber</td><td><code>int</code></td><td>Total number of trips</td></tr><tr><td>totalDistance</td><td><code>int</code></td><td>Total distance (in km)</td></tr><tr><td>totalDuration</td><td><code>int</code></td><td>Total driving duration (in min)</td></tr><tr><td>week</td><td><code>int</code></td><td>Number of weeks since user registration</td></tr><tr><td>activeWeek</td><td><code>int</code></td><td>Number of active weeks since user registration</td></tr><tr><td>month</td><td><code>int</code></td><td>Number of months since user registration</td></tr><tr><td>activeMonth</td><td><code>int</code></td><td>Number of active months since user registration</td></tr><tr><td>peakHour</td><td><code>string</code></td><td>Peak hour trip start<br><em>Format: <code>hh:mm</code></em></td></tr><tr><td>peakDay</td><td><code>string</code></td><td>Weekday with most trips completed.<br><em>Allowed values: <code>MONDAY</code>, <code>TUESDAY</code>, <code>WEDNESDAY</code>, <code>THURSDAY</code>, <code>FRIDAY</code>, <code>SATURDAY</code>, <code>SUNDAY</code></em></td></tr></tbody></table>

### Regularity

The table below summarizes the content of the `regularity` object.

<table><thead><tr><th width="115.33333333333331">Field</th><th width="110">Type</th><th>Description</th></tr></thead><tbody><tr><td>week</td><td><code>object</code></td><td>User's regularity on a weekly basis</td></tr><tr><td>month</td><td><code>object</code></td><td>User's regularity on a monthly basis</td></tr></tbody></table>

The structure of week an month object is very similar, as described in the tables below:

{% tabs %}
{% tab title="week" %}

<table><thead><tr><th width="192.66666666666666">Field</th><th width="134">Type</th><th>Description</th></tr></thead><tbody><tr><td>numberWeek</td><td><code>int</code></td><td>Number of weeks used to compute the regularity</td></tr><tr><td>numberTripMean</td><td><code>int</code></td><td>Average number of trips per week</td></tr><tr><td>numberTripStd</td><td><code>int</code></td><td>Standard deviation of the number of trips per week</td></tr><tr><td>distanceMean</td><td><code>int</code></td><td>Average weekly distance (in km)</td></tr><tr><td>distanceStd</td><td><code>int</code></td><td>Standard deviation for the weekly distance (in km)</td></tr><tr><td>durationMean</td><td><code>int</code></td><td>Average weekly driving duration (in min)</td></tr><tr><td>durationStd</td><td><code>int</code></td><td>Standard deviation of the weekly driving duration (in min)</td></tr></tbody></table>
{% endtab %}

{% tab title="month" %}

<table><thead><tr><th width="191.66666666666666">Field</th><th width="142">Type</th><th>Description</th></tr></thead><tbody><tr><td>numberMonth</td><td><code>int</code></td><td>Number of months used to compute the regularity</td></tr><tr><td>numberTripMean</td><td><code>int</code></td><td>Average number of trips per month</td></tr><tr><td>numberTripStd</td><td><code>int</code></td><td>Standard deviation of the number of trips per month</td></tr><tr><td>distanceMean</td><td><code>int</code></td><td>Average monthly distance (in km)</td></tr><tr><td>distanceStd</td><td><code>int</code></td><td>Standard deviation for the monthly distance (in km)</td></tr><tr><td>durationMean</td><td><code>int</code></td><td>Average monthly driving duration (in min)</td></tr><tr><td>durationStd</td><td><code>int</code></td><td>Standard deviation of the monthly driving duration (in min)</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

### DistanceEstimation

The table below summarizes the content of the `distanceEstimation` object.

<table><thead><tr><th width="136.33333333333331">Field</th><th width="141">Type</th><th>Description</th></tr></thead><tbody><tr><td>week</td><td><code>int</code></td><td>Estimated weekly distance (in km)</td></tr><tr><td>month</td><td><code>int</code></td><td>Estimated monthly distance (in km)</td></tr><tr><td>year</td><td><code>int</code></td><td>Estimated annual distance (in km)</td></tr><tr><td>confidence</td><td><code>string</code></td><td>Confidence level indicator<br><em>Allowed values: <code>LOW</code>, <code>MEDIUM</code>, <code>HIGH</code></em></td></tr></tbody></table>

{% hint style="info" %}
The confidence level indicator in based on the available data: LOW if less than 8 weeks, MEDIUM if less than 16 weeks, HIGH otherwise.
{% endhint %}

### Profile

The table below summarizes the content of the `profile` object.

<table><thead><tr><th width="154.33333333333331">Field</th><th width="121">Type</th><th>Description</th></tr></thead><tbody><tr><td>distance</td><td><code>string</code></td><td>User's distance class<br><em>Allowed values: <code>VERY_SHORT</code>, <code>SHORT</code>, <code>MEDIUM</code>, <code>LONG</code>, <code>VERY_LONG</code></em></td></tr><tr><td>activity</td><td><code>string</code></td><td>User's activity class<br><em>Allowed values: <code>LOW</code>, <code>MEDIUM</code>, <code>HIGH</code></em></td></tr><tr><td>regularity</td><td><code>string</code></td><td>User's regularity class<br><em>Allowed values: <code>REGULAR</code>, <code>INTERMITTENT</code></em></td></tr><tr><td>roadContext</td><td><code>string</code></td><td>User's major road context (distance based)<br><em>Allowed values: <code>TRAFFIC_JAM</code>, <code>HEAVY_URBAN_TRAFFIC</code>, <code>CITY</code>, <code>SUBURBAN</code>, <code>EXPRESSWAYS</code></em></td></tr><tr><td>mobility</td><td><code>string</code></td><td>User's mobility class<br><em>Allowed values: <code>NARROW</code>, <code>SMALL</code>, <code>MEDIUM</code>, <code>LARGE</code>, <code>WIDE</code>, <code>VAST</code></em></td></tr><tr><td>comment</td><td><code>string</code></td><td>Short description of the user's profile in plain english</td></tr></tbody></table>

{% hint style="info" %}
The comment is a summary of the driver's driving habits.&#x20;

**Example:**

*This user is a <mark style="color:blue;">professional driver</mark> who travels about <mark style="color:blue;">51000</mark> km/year. He has a <mark style="color:blue;">high</mark> activity corresponding to <mark style="color:blue;">100</mark>% of active weeks. He has fairly <mark style="color:blue;">regular</mark> habits. The majority of his trips are in an <mark style="color:blue;">expressways</mark> environment. His mobility area is <mark style="color:blue;">vast</mark> and 90% of his trips are within a <mark style="color:blue;">30</mark> km radius.*
{% endhint %}

#### Definition of distance field values

<table><thead><tr><th width="152.33333333333331">Value</th><th width="236">Description</th><th>Estimated yearly distance (in km)</th></tr></thead><tbody><tr><td><code>VERY_SHORT</code></td><td>Very short distance driver</td><td>less than 5 000</td></tr><tr><td><code>SHORT</code></td><td>Short distance driver</td><td>5 000 to 10 000</td></tr><tr><td><code>MEDIUM</code></td><td>Medium distance driver</td><td>10 000 to 20 000</td></tr><tr><td><code>LONG</code></td><td>Long distance driver</td><td>20 000 to 40 000</td></tr><tr><td><code>VERY_LONG</code></td><td>Professional driver</td><td>more than 40 000</td></tr></tbody></table>

#### Definition of activity field values

<table><thead><tr><th width="130.33333333333331">Value</th><th width="236">Description</th><th>Percentage of active weeks</th></tr></thead><tbody><tr><td><code>LOW</code></td><td>Low activity driver</td><td>less than 30 %</td></tr><tr><td><code>MEDIUM</code></td><td>Medium activity driver</td><td>30 to 60 %</td></tr><tr><td><code>HIGH</code></td><td>High activity driver</td><td>more than 60 %</td></tr></tbody></table>

#### Definition of mobility field values

<table><thead><tr><th width="134">Value</th><th>Definition</th><th data-hidden></th></tr></thead><tbody><tr><td><code>NARROW</code></td><td>90% of trips are within a radius of less than 10 km</td><td>90% of trips are within a radius of less than 10 km</td></tr><tr><td><code>SMALL</code></td><td>90% of trips are within a radius of less than 20 km</td><td></td></tr><tr><td><code>MEDIUM</code></td><td>90% of trips are within a radius of less than 30 km</td><td></td></tr><tr><td><code>LARGE</code></td><td>90% of trips are within a radius of less than 50 km</td><td></td></tr><tr><td><code>WIDE</code></td><td>90% of trips are within a radius of less than 100 km</td><td></td></tr><tr><td><code>VAST</code></td><td>90% of trips are within a radius of 100 km or more</td><td></td></tr></tbody></table>

### PercentageRoadContext

The `percentageRoadContext` array contains a data object for each allowed `context` value:

<table><thead><tr><th width="139.33333333333331">Field</th><th width="115">Type</th><th>Description</th></tr></thead><tbody><tr><td>context</td><td><code>string</code></td><td>Road context<br><em>Allowed values: <code>TRAFFIC_JAM</code>, <code>HEAVY_URBAN_TRAFFIC</code>, <code>CITY</code>, <code>SUBURBAN</code>, <code>EXPRESSWAYS</code></em></td></tr><tr><td>distance</td><td><code>double</code></td><td>Percentage of total distance spent in this context</td></tr><tr><td>duration</td><td><code>double</code></td><td>Percentage of total duration spent in this context</td></tr><tr><td>energy</td><td><code>double</code></td><td>Percentage of total energy spent in this context</td></tr></tbody></table>

### CommonTrips

The `commonTrips`  array contains a data object for each allowed `type` value:

<table><thead><tr><th width="162">Field</th><th width="145.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td><code>string</code></td><td>Typology of the most common trip.<br><em>Allowed values: <code>MOST_FREQUENT</code></em></td></tr><tr><td>count</td><td><code>int</code></td><td>Number of trips</td></tr><tr><td>distance</td><td><code>int</code></td><td>Average trip distance (in km)</td></tr><tr><td>duration</td><td><code>int</code></td><td>Average trip duration (in min)</td></tr><tr><td>roadContext</td><td><code>string</code></td><td>Road context<br><em>Allowed values: <code>TRAFFIC_JAM</code>, <code>HEAVY_URBAN_TRAFFIC</code>, <code>CITY</code>, <code>SUBURBAN</code>, <code>EXPRESSWAYS</code></em></td></tr></tbody></table>

### MobilityArea

The `mobilityArea`  array contains a data object for each allowed `type` value:

<table><thead><tr><th width="126">Field</th><th width="130.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td><code>string</code></td><td>Percentile of trips<br><em>Allowed values:</em><br><em><code>PERCENTILE_50TH</code>, <code>PERCENTILE_90TH</code></em></td></tr><tr><td>radius</td><td><code>int</code></td><td>Radius (in km) of the circle containing the trips</td></tr></tbody></table>
