個人健康データ基盤

▶ 要約を聴く
AI合成音声・著者本人の声をクローン

10年分のApple HealthからAI駆動のクロス分析へ

10年前、私は意識的に健康管理を始めたわけではない。ただスマートフォンをポケットに入れ、時計を手首に巻いて、日々を過ごしていた。

つい最近、初めてiPhoneの「ヘルスケア」アプリのデータを完全にエクスポートした。解凍すると、1.3GBのXMLファイルが現れた。10年、300万件超の記録。歩数、心拍数、睡眠、運動軌跡、自律神経指標。起業、転換、コンフォートゾーンを離れ再び立ち上がるまでの時間を、身体とともに書き連ねた歴史だ。

その瞬間、気づいた。データがないのではない。基盤がないのだ。


なぜ独自の分析システムが必要なのか

主流のウェアラブルデバイスはそれぞれ閉じたシステムと独自アルゴリズムを持つ。これが二つの根本的な問題を生む。

一つ目はデータのサイロ化だ。 Apple Healthには独自の判読ロジックがあり、Fitbitには独自のアルゴリズムがある。私は両方のデバイスを同時に身につけていたが、同じ夜の総睡眠時間については両者の一致度が高く(差はわずか2分)、一方で深いノンレム睡眠の判定は21分、REMは15分ずれていた。どちらを信じるべきか。答えは、どちらも全面的には信じられない。クロス比較で趨勢を読むしかない。

二つ目は次元の欠如だ。 スマートフォンのアプリは「今日」や「今週」を見せることに特化しており、3年・5年にわたる長期趨勢の分析は苦手だ。まして運動量の低下、HRVの悪化、睡眠負債の蓄積を多面的にクロス比較する機能はない。それらの指標間の相関こそが、最も重要なシグナルであることが多い。

全体像を掴むために必要なのは、新たなウェアラブルではない。自前の分析基盤だ。


10年のデジタル足跡

2015年8月から、iPhoneは継続的に私の活動を記録してきた。2016年にApple Watchが加わり、心拍数と睡眠がより精細に計測されるようになった。2023年からはFitbitが2台目のウェアラブルとして加わり、独立した測定のベースラインを提供している。

10年間の蓄積:歩数の記録279,537件、歩行・ランニング距離231,300件、心拍数の記録113万件超、睡眠の記録29,532件。運動面では、ランニング1,420回、サイクリング435回、水泳19回、966本のGPS運動軌跡が残っている。

2023年9月からApple Watchはより深層の指標を記録するようになった。HRV(心拍変動)7,710件、安静時心拍数753件、血中酸素飽和度9,837件、手首体温439件、VO2Max 122件。これこそウェアラブルが持つ本当の価値あるデータだ。歩数ではなく、自律神経系の機能状態である。

数字だけを見ても感情は動かない。だが年度別の分布を並べると、多くのことが鮮明になる。


技術アーキテクチャ:3本のデータパイプライン

リアルタイムパイプライン:Fitbit → MCP → Claude

AnthropicのMCP(Model Context Protocol)を介して、Fitbit APIをClaude Desktopに直接接続している。

動作の仕組み: 「先週の疲労負荷を分析して」とClaudeに話しかけると、ClaudeはMCP経由でFitbit APIを呼び出し、睡眠(各ステージの時間を含む)、心拍数の時系列、活動サマリーなどの生のJSONを取得してリアルタイムで分析する。取得するのはAPIが返す生データであり、アプリが翻訳済みのサマリーではない。

技術的な要点: OAuth 2.0認証、トークンの自動更新。全処理はローカルで完結し、データはサードパーティのサーバーを経由しない。

深度パイプライン:Apple Health → XML → 構造化分析

AppleはパーソナルユースのHealth APIを提供していない。唯一の出口はiPhoneからの手動エクスポートだ。

処理フロー: Pythonで1.3GBのXMLをストリーミング解析する(一括ロードは試みない)。まずデータ型のインデックスを構築し、各指標を独立したJSONに分類・抽出する。睡眠、HRV、安静時心拍数、血中酸素飽和度などを、日次・月次の集計として整理する。

解決した課題: AppleはCore / Deep / REMの3段階で睡眠を分類し、FitbitはLight / Deep / REMで分類する。AppleのCoreはFitbitのLightにおおむね対応するが、アルゴリズムの判定基準が異なる。処理では趨勢の方向性のみを合わせ、絶対値は比較しない。

自動化パイプライン:CI/CDによる継続デプロイ

Mac上のcrontabが10分ごとに更新スクリプトを実行する。Fitbit OAuth APIからリアルタイムデータを取得し、git pushがGitHub Actionsの自動ビルドを起動し、Cloudflare Pagesにデプロイされる。健康ダッシュボードは常に最新の状態を保ち、データ生成からサイト更新まで人手の介入はゼロだ。

これは技術を見せびらかすためではない。たまにグラフを見るだけでは意味がない。長期的に機能し続ける基盤にしたかったのだ。


データが語ること

10年分の曲線を重ね合わせると、数字は感覚よりも正直だ。

運動量の消長:毎日の鉄人三種から完全停止へ

2018年、トライアスロン大会に出場し始め、年に少なくとも1本は完走した。同時に「日々トライアスロン」、つまり水泳・サイクリング・ランニングのどれかを毎日こなす自律コミュニティにも参加した。私が最も多く選んだのはランニングだ。敷居が最も低く、シューズを履けばすぐに出られる。

この習慣を始めた理由は二つある。一つは個人的なもの。息子に、父親が自分の身体と規律をどう管理しているかを見せたかった。もう一つは起業の経験から学んだこと。健康は、あらゆる意思決定と実行力を支えるハードウェアだ。私が知る優れたCEOのほぼ全員が規律ある運動習慣を持ち、エクストリームスポーツへの挑戦さえ楽しんでいる。「時間があるから」ではない。身体の回復サイクルは圧縮できないと理解しているからだ。

GPS軌跡の年度分布がこの経緯を記録している。2021年93本、2022年340本、2023年294本、2024年200本、2025年39本。2022年はほぼ毎日運動の記録があり、日々トライアスロンを最も徹底して実行した年だ。

その後、仕事の転換、責任の増大、生活構造の変化が重なった。自分が回復サイクルを手放していることに気づいていなかった。運動がスケジュールから押し出されると、データは身体が即座に「負債」を抱え始めたことを示している。

睡眠負債:33か月連続で推奨時間に届かず

Fitbit(2023年5月〜2026年2月、883夜)とApple Watch(2023年9月〜2025年12月、537夜)の記録を合わせると、33か月間、どの月の平均値も推奨される7時間に達していなかった。全期間の平均は約5時間50分だ。

毎日1時間足りなければ、3年で1,000時間を超える睡眠負債になる。

趨勢の方がより気になる。2023〜2024年は6時間前後だったのが、2025年には5時間41分まで下がり、第2四半期には5時間16分まで落ち込んだ。睡眠効率は83%から74%へと低下した。単に睡眠時間が短いだけではない。横になっている時間は長くなっているのに、実際に眠れている割合がどんどん下がっている。身体は休もうとしているのに、神経系はまだ動いている。

HRVと安静時心拍数:最も正直な指標

HRVは2023年の42msから2025年半ばの31msへと、25%超の低下を見せた。同時に安静時心拍数は60bpmから72bpmへと上昇した。二本の線が同時に同じことを指し示している。自律神経系が長期的な負荷状態にあるということだ。

これは感情的な判断ではなく、生理的なシグナルだ。しかもこれはApple Watch固有のデータであり、Fitbitだけを見ていたら永遠に気づかなかった。デバイスをまたいだクロス分析の価値はここにある。単一のアプリが自発的に発することのない警告が、多面的な照合の下で隠れ場所を失う。


教訓:データパイプラインの脆弱性

今回の分析で、2022年以降の体重データが完全に途絶えていることに気づいた。理由はあまりにも平凡だ。スマート体重計が壊れ、ずっと交換していなかっただけだ。

これは典型的なデータの教訓だ。ハードウェアの故障は、個人健康基盤にとって最大の脅威である。 データが途切れると、その期間の身体の変化は永遠のブラックホールになる。記録したくなかったわけではない。断絶したまま、つなぎ直さなかっただけだ。

同じ脆弱性はApple Healthのエクスポートにも存在する。これは手動でトリガーする必要があるプロセスだ。定期的にエクスポートしなければ、最新のデータはiPhoneの中にだけ存在し、外部からは分析できない。

こうした脆弱性を認識することが、持続可能な基盤を構築する第一歩だ。


デバイス選択の実践的な指針

26か月の二デバイス重複データから、一つの原則が導き出された。総睡眠時間はFitbitを主とする(カバー率が高く、月25〜31夜)。REM睡眠はApple Watchを参照する(加速度計が微細な動きの検出に優れている)。深いノンレム睡眠は趨勢だけを見て絶対値は比較しない(両デバイスでアルゴリズムの差が最も大きい指標だ)。HRV、安静時心拍数、血中酸素飽和度はApple Watch固有の先行指標だ。

Fitbitは日常的な追跡の主力であり、Apple Watchは深度の健康評価を補う。両者は互いを補完する関係であり、置き換えるものではない。


次のステップ:観察から介入へ

このシステムの次の段階はグラフを増やすことではない。三つのことに取り組む。AIによる異常検知(HRVが3日連続でベースラインを下回ると、Claudeが積極的に介入提案を出す)、ライフスタイルの注釈付け(介入前後の行動記録の比較)、そしてさらなるデータソースの統合だ(Oura Ringの体温、スマート血圧計、体脂肪計。パイプラインが一本増えるごとに、クロス分析の次元が一層深まる)。

「データを見る」から「データで行動変容を駆動する」へ。それこそが個人健康基盤(Personal Health Infrastructure)の真の価値だ。


おわりに

10年分のデータは、二つのことを証明した。

一つ目は、身体はずっとシグナルを発し続けていたということだ。HRVの低下、安静時心拍数の上昇、睡眠効率の崩壊、運動量の消滅。異なるデバイスに散らばったこれらのシグナルは、各アプリの中では「範囲内」に見えていた。自前の分析基盤があって初めて、それらが無視できない一つの趨勢として集約された。

二つ目は、かつてやり遂げていたということだ。1,420回のランニング、435回のサイクリング、毎年1本のトライアスロン。2022年の340本のGPS軌跡は、日々トライアスロンが実現可能だということを証明している。衰退は運命ではなく、構造の問題だ。

健康とは「今日何歩歩いたか」であってはならない。検証でき、修正でき、継続的に最適化できる個人システムであるべきだ。

10年分のデータは懐古のためにあるのではない。趨勢がはっきり見えた以上、見えなかったふりをする理由はもうない。そのことを自分に思い知らせるためにある。


本記事の健康データ分析ダッシュボードは paulkuo.tw/health で閲覧できる。

技術的な詳細(Fitbit MCPの設定、Apple Health XMLの解析フロー、Chart.jsによる可視化、CI/CDの自動化パイプラインなど)についてはお気軽にご連絡を。