A computer-implemented method for characterizing a target vehicle's speed on a road network, the method comprising: collecting and storing data, the data including segment speed from one or more vehicles traversing a plurality of road segments of a road network, along with one or more covariate measures selected from driver, time of day, day of week, weather, construction, darkness, sun glare, traffic, driver experience, driver exhaustion, driver distraction, road type, road geometry or road conditions; for each road segment of the plurality of road segments, processing (402,403) the data collected associated with the road segment to determine a speed characterization for said road segment including determining a distribution of speed of vehicles on said road segment using segment speeds collected for vehicles traversing said road segment and using segment speeds collected for vehicles traversing other road segments that are similar to said road segment; wherein the other road segments that are similar to said road segment are selected from road segments of similar road type, road geometry, or road conditions; collecting data from the target vehicle for each road segment in a sequence of road segments; for one or more road segments in the sequence of road segments, combining the speed characterization for said road segment and the data collected from the target vehicle on said road segment to compute a segment-specific score for the target vehicle's speed on said road segment by combining the distribution of speed of said road segment and a speed determined from the data collected from the target vehicle, wherein the combining comprises determining a percentile of the speed for the target vehicle in the distribution of speed of the road segment; aggregating the segment-specific scores for each road segment in the sequence of road segments to compute a driving score for the target vehicle; and providing the driving score to a driver of the target vehicle or a third party. collecting and storing data, the data including segment speed from one or more vehicles traversing a plurality of road segments of a road network, along with one or more covariate measures selected from driver, time of day, day of week, weather, construction, darkness, sun glare, traffic, driver experience, driver exhaustion, driver distraction, road type, road geometry or road conditions; for each road segment of the plurality of road segments, processing (402,403) the data collected associated with the road segment to determine a speed characterization for said road segment including determining a distribution of speed of vehicles on said road segment using segment speeds collected for vehicles traversing said road segment and using segment speeds collected for vehicles traversing other road segments that are similar to said road segment; wherein the other road segments that are similar to said road segment are selected from road segments of similar road type, road geometry, or road conditions; collecting data from the target vehicle for each road segment in a sequence of road segments; for one or more road segments in the sequence of road segments, combining the speed characterization for said road segment and the data collected from the target vehicle on said road segment to compute a segment-specific score for the target vehicle's speed on said road segment by combining the distribution of speed of said road segment and a speed determined from the data collected from the target vehicle, wherein the combining comprises determining a percentile of the speed for the target vehicle in the distribution of speed of the road segment; aggregating the segment-specific scores for each road segment in the sequence of road segments to compute a driving score for the target vehicle; and providing the driving score to a driver of the target vehicle or a third party.