すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:車両トラックログの分析

最終更新日:Aug 27, 2024

タクシー会社は、Alibaba Cloud Simple Log Serviceに旅行ログを保存し、信頼性の高いストレージと迅速な統計計算に基づいて有用な情報をマイニングします。 このトピックでは、タクシー会社がAlibaba Cloud Simple Log Serviceに保存されているデータから有用な情報をマイニングする方法について説明します。

タクシー会社は、乗客が出入りする時間、緯度と経度、旅行の距離、支払い方法、支払い金額、税額など、各旅行の詳細を記録します。 詳細なデータは、タクシー会社の運営を非常に容易にします。 たとえば、企業はピーク時の走行間隔を決定し、より多くのタクシーが必要な地域にさらに多くの車両を派遣できます。 データの助けを借りて、乗客の要件をタイムリーに満たすことができ、ドライバーはより高い収入を得ることができます。 これにより、社会全体の効率が向上します。

Sample data:

RatecodeID:  1VendorID:  2__source__:  192.0.2.1    __topic__:  dropoff_latitude:  40.743995666503906    dropoff_longitude:  -73.983505249023437extra:  0    fare_amount:  9    improvement_surcharge:  0.3    mta_tax:  0.5    passenger_count:  2    payment_type:  1    pickup_latitude:  40.761466979980469    pickup_longitude:  -73.96246337890625    store_and_fwd_flag:  N    tip_amount:  1.96    tolls_amount:  0    total_amount:  11.76    tpep_dropoff_datetime:  2016-02-14 11:03:13    tpep_dropoff_time:  1455418993    tpep_pickup_datetime:  2016-02-14 10:53:57    tpep_pickup_time:  1455418437    trip_distance:  2.02

Sample data

一般的な統計

クエリと分析の前に、インデックス機能を有効にして設定する必要があります。 詳細については、「インデックスの作成」をご参照ください。

  • 次のステートメントを実行して、日中にタクシーに搭乗する乗客の数を数え、ピーク時間を決定します。

     *| select count(1) as deals, sum(passenger_count) as passengers,    
     (tpep_pickup_time %(24*3600)/3600+8)%24 as time        
     group by (tpep_pickup_time %(24*3600)/3600+8)%24 order by time limit 24

    Passenger number per hour

    前の図に示すように、ピーク時間は一般に、人々が仕事に行く朝の時間と人々が仕事を降りる夕方の時間です。 このデータに基づいて、タクシー会社はそれに応じてより多くの車両を派遣できます。

  • 次のステートメントを実行して、さまざまな期間の平均移動距離に関する統計を収集します。

    *| select  avg(trip_distance)  as trip_distance, 
    (tpep_pickup_time %(24*3600)/3600+8)%24 as time         
    group by (tpep_pickup_time %(24*3600)/3600+8)%24 order by time limit 24

    Average trip distance

    乗客は1日の特定の時間帯に長い旅行をする傾向があるため、タクシー会社はより多くの車両を派遣する必要があります。

  • 次のステートメントを実行して、平均旅行時間 (分) と走行距離の単位あたりに必要な時間 (秒) を計算し、タクシーがより多くのトラフィックを経験する1日の期間を決定します。

    *| select  avg(tpep_dropoff_time-tpep_pickup_time)/60  as driving_minutes, 
    (tpep_pickup_time %(24*3600)/3600+8)%24 as time  
    group by (tpep_pickup_time %(24*3600)/3600+8)%24 order by time limit 24   

    Rush hours

    *| select  sum(tpep_dropoff_time-tpep_pickup_time)/sum(trip_distance)  as driving_minutes, 
    (tpep_pickup_time %(24*3600)/3600+8)%24 as time        
    group by (tpep_pickup_time %(24*3600)/3600+8)%24 order by time limit 24

    Rush hours 2ピーク時には、より多くの車両を派遣する必要があります。

  • 次のステートメントを実行して、さまざまな期間の平均タクシー運賃を計算し、より多くの収入がある時間を決定します。

    *| select  avg(total_amount)  as dollars, 
    (tpep_pickup_time %(24*3600)/3600+8)%24 as time 
    group by (tpep_pickup_time %(24*3600)/3600+8)%24 order by time limit 24

    Average taxi fares

    顧客1人あたりの平均タクシー運賃は午前4時頃に高くなるため、財政的に困難なドライバーはこの期間中にサービスの提供を検討できます。

  • 次のステートメントを実行して、支払い金額の分布を表示します。

    *| select case when total_amount < 1 then 'bill_0_1'  
    when total_amount < 10 then 'bill_1_10' 
    when total_amount < 20 then 'bill_10_20' 
    when total_amount < 30 then 'bill_20_30' 
    when total_amount < 40 then 'bill_30_40' 
    when total_amount < 50 then 'bill_10_50' 
    when total_amount < 100 then 'bill_50_100' 
    when total_amount < 1000 then 'bill_100_1000' 
    else 'bill_1000_'  end 
    as bill_level , count(1) as count group by 
    case when total_amount < 1 then 'bill_0_1'
    when total_amount < 10 then 'bill_1_10' 
    when total_amount < 20 then 'bill_10_20' 
    when total_amount < 30 then 'bill_20_30' 
    when total_amount < 40 then 'bill_30_40' 
    when total_amount < 50 then 'bill_10_50' 
    when total_amount < 100 then 'bill_50_100' 
    when total_amount < 1000 then 'bill_100_1000' 
    else 'bill_1000_'  end 
    order by count desc 

    による注文

    Distribution of the payment amount前の図に示すように、ほとんどのトランザクションの支払い額はUSD 1からUSD 20の範囲です。