【データ検証】飛島・定期船とびしまの出航率を月旬別に徹底分析!
2025-07-19 プログラム
先日の記事では、定期船とびしまの運航予報についてデータ検証を行ってみました。
そして、今回は運行状況のみに注目し、各月の出航率を算出してみようと思います。
飛島への旅行を計画されている方は是非!
出航予報の取り扱いルール

- データは異なる年を含め、月ごとに「上旬」「中旬」「下旬」の3つの期間に分類し、全月分(12か月 × 3期間)で計36グループを作成して分析します。
- 各日の航海状況を次の基準でスコア化します:
・1航海の日は「出航」=1点、「着発」「延発」=0.5点、「欠航」=0点
・2航海以上の日は、すべて「出航」=1点、すべて「欠航」=0点、それ以外(出航・欠航混在)=0.5点 - 各グループ内の合計スコアをそのグループ内の日数(母数)で割り、確率値(出航率)として算出します。
- 2023年1月1日から2025年7月19日(うち、2023年4月1日から2023年8月11日を除く)までのデータを対象とします。
使用データ

table: 実際の出航状況(便ごとに1行)
比較用ビューの作成
まずは、集計する前に日ごとに集計します。
各日ごとに点数づけし、period_id(6月上旬とか)のカラムを持つビューを作成します。
SELECT
date,
MONTH(date) AS month_num,
CONCAT(MONTH(date), '月',
CASE
WHEN DAY(date) BETWEEN 1 AND 10 THEN '上旬'
WHEN DAY(date) BETWEEN 11 AND 20 THEN '中旬'
ELSE '下旬'
END) AS period_id,
CASE
WHEN MAX(departure_total) = 1 THEN
-- 1便の日 → その便のポイント(statusを変換)
CASE
WHEN MAX(status) IN (2, 3) THEN 0.5
ELSE MAX(status)
END
ELSE
-- 2便以上の日 → 全便出航/全便欠航/混在 判定
CASE
WHEN SUM(CASE WHEN status IN (1,2,3) THEN 1 ELSE 0 END) = COUNT(*) THEN 1
WHEN SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) = COUNT(*) THEN 0
ELSE 0.5
END
END AS departure_point
FROM ferry_departure
GROUP BY date
ORDER BY date
出航率の算出コード
上で作成したビューを元にperiod_id(7月上旬や12月下旬などの36グループ)で集計を行い、出航率を求めます。
SELECT
period_id,
COUNT(*) AS day_count,
SUM(departure_point) AS total_point,
ROUND(SUM(departure_point) / COUNT(*), 3) AS probability
FROM view
GROUP BY period_id
ORDER BY period_id;
実行すると…

結果
定期船とびしまの出航率からみる best of season は『6月下旬』でした~
他の出力したデータをPowerBI上で加工してみると、、、

グラフから見ると、春夏秋、特に初夏は出航率がよく、冬は出航率が低いことがわかります。
また、夏から秋にかけて出航率に波があるのは台風の影響が考えられます。
昨年の7月上旬は10回中通常運航が3回、早出1回でした。
一方、今年は10回中通常運航が9回と年によって、台風の有無で出航率に大きな差がうまれています。
最後に
ここまで飛島の運航状況について色々とお伝えしてきましたが、実は──船が出なくても、飛島は思いっきり楽しめるんです!
定期船とびしまの待合室には、鳥の図鑑や漫画本、島の魅力がぎっしり詰まった写真やグッズがずらり!まるで、島に一歩足を踏み入れたような気分にさせてくれます。
すぐ隣の施設では、海を眺めながら新鮮な海鮮丼やあら汁を味わえるほか、サザエをはじめとする新鮮な魚介や飛島の岩海苔など加工品も目白押し!
ぜひ、飛島や定期船とびしまの発着所まで足を運んでみてください!
思わぬ発見や感動が、きっとあなたを待っています!