タクシー会社は、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
一般的な統計
クエリと分析の前に、インデックス機能を有効にして設定する必要があります。 詳細については、「インデックスの作成」をご参照ください。
次のステートメントを実行して、日中にタクシーに搭乗する乗客の数を数え、ピーク時間を決定します。
*| 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
前の図に示すように、ピーク時間は一般に、人々が仕事に行く朝の時間と人々が仕事を降りる夕方の時間です。 このデータに基づいて、タクシー会社はそれに応じてより多くの車両を派遣できます。
次のステートメントを実行して、さまざまな期間の平均移動距離に関する統計を収集します。
*| 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
乗客は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
*| 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
ピーク時には、より多くの車両を派遣する必要があります。
次のステートメントを実行して、さまざまな期間の平均タクシー運賃を計算し、より多くの収入がある時間を決定します。
*| 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
顧客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
による注文
前の図に示すように、ほとんどのトランザクションの支払い額はUSD 1からUSD 20の範囲です。