このページ内のセクションへ素早く飛べます(クリックで該当箇所へジャンプ):
このページで扱う主なキーワードです。
🍰 まずはやさしく
データ利活用は、情報の宝探しのようなものです。
正しい判断や新しい価値を作るために使います。
スマホの利用時間を分析して生活を変えることです。
ここでは、データの使い方の結論を学びます。
🍰 まずはやさしく
データ利活用は、社会を動かす合言葉です。
地域の格差をなくし、競争力を高めるために使います。
自治体が街づくりにデータを使う例があります。
ここでは、この言葉が使われる場面を学びます。
政府のデジタル田園都市国家構想、 経産省の DX 推進、 自治体の RESAS — いずれもデータ利活用がスローガン。 利活用度合いが地域格差・企業競争力を決める。
🍰 まずはやさしく
データ利活用は、数字の裏側を読む力です。
なぜ必要でどう役立つかを実感するために使います。
部活の記録を分析して、練習メニューを決めることです。
ここでは、直感的に使い道を理解しましょう。
データ利活用は、倉庫にある材料を料理にすることに似ています。SSDSE-B-2026 の CSV には 564 行 × 112 列の数字が入っていますが、それだけでは誰の判断も変わりません。「どの判断を変えたいか」を決め、そのために材料を切り分け(年度と列を選ぶ)、下ごしらえし(人口あたりにそろえる)、皿に盛る(順位や図にする)ところまでが利活用です。
| 段階 | 小学校の例(2023 年度、SSDSE-B-2026) | この段階で起きやすい失敗 |
|---|---|---|
| データを持つ | 小学校数 E2101:東京都 1,323 校、鳥取県 114 校 | 「東京都は学校が多い」で止まる(人口の違いを無視) |
| 指標にする | 人口 1 万人あたり:高知県 3.33 校(最多)、東京都 0.94 校(最少) | 人数どうしの比較を率の比較と取り違える |
| 基準と比べる | 全国の合計どうしの比 1.53 校、47 県の単純平均 1.92 校 | どちらの「平均」かを書かない |
| 判断につなぐ | 多い県は統廃合と通学支援、少ない県は 1 校あたりの児童数の過密を検討 | 指標の大小だけで「多すぎる・少なすぎる」と決める |
同じ E2101 の列から、「東京都は学校が最も多い」とも「最も少ない」とも言えます。利活用の良し悪しは、分析の技術より先に「どの判断のために、どの指標を、何と比べて作るか」の設計で決まります。
🍰 まずはやさしく
データ利活用は、分析の基本となる考え方です。
レポートなどで根拠をはっきりさせるために使います。
買い物の傾向を計算して、おすすめ商品を選ぶことです。
ここでは、言葉の意味や数式での定義を学びます。
データを意思決定や価値創造に活用すること
英語名 Data Utilization。
データ利活用プロジェクトの経済価値は、 古典的な ROI (Return on Investment) を拡張した Data ROI で測ります。
$$\text{Data ROI} = \frac{V_{\text{outcome}} - C_{\text{data}} - C_{\text{infra}} - C_{\text{labor}}}{C_{\text{data}} + C_{\text{infra}} + C_{\text{labor}}} \times 100\%$$
ここで $V_{\text{outcome}}$ はデータ活用で得られた経済価値(売上増、 コスト削減、 政策効果の金銭換算)、 $C_{\text{data}}$ はデータ取得費、 $C_{\text{infra}}$ はインフラ費、 $C_{\text{labor}}$ は人件費。 数式を言葉で読み解くと、 「データ活用から得た価値が、 投じた総コストの何倍に化けたか」を百分率で表現する。
$$\text{Social ROI} = \frac{\sum_{i=1}^{N} (B_i - C_i) \times W_i}{\sum_{i=1}^{N} C_i}$$
$B_i$ は受益者 $i$ の便益、 $C_i$ は供給者 $i$ のコスト、 $W_i$ は社会的重み(高齢者・低所得層を優先する係数)。 単純な金銭収益ではなく、 社会的公平性を含めた価値を測る数式。
$$\text{DQS} = w_1 \cdot \text{Completeness} + w_2 \cdot \text{Accuracy} + w_3 \cdot \text{Timeliness} + w_4 \cdot \text{Consistency} + w_5 \cdot \text{Validity}$$
SSDSE-B-2026 のスコア: Completeness = 100%(欠損 0)、 Timeliness = 中(2026 年版でも最新は 2023 年度の値)、 Consistency = 高(12 年度で同じ項目コード)、 Validity = 高(公的統計)。 ただし重み $w_1$〜$w_5$ は目的によって決めるもので決まった値は無いため、 総合点は重みを明記して初めて比べられる。 Completeness が 100% でも、 国勢調査の年と推計の年で総人口の作り方が違うなど(データのメタ化で実データを使って確認)、 欠損以外の品質の問題は残る。
📐 の Data ROI の式は、分子が「得た価値 − 使った費用」、分母が「使った費用」で、「1 円使って何円の純益が出たか」を表します。$V_{\text{outcome}}$ はデータを使ったことで初めて生じた価値でなければならず、使わなくても起きた売上増や政策効果まで入れると ROI は過大になります(因果の問題。データ駆動型社会の平均への回帰・差の差の節を参照)。Social ROI の $W_i$ は「誰の便益を重く数えるか」という価値判断で、統計からは決まりません。重みを変えれば順位が変わるので、報告では重みを必ず明記します。DQS も同じで、5 つの品質の重み $w_1$〜$w_5$ を決めて初めて 1 つの数になります。次の節の KPI の式 $\text{KPI}_i = X_i / P_i \times 10{,}000$ は、この 3 つの式の中で唯一、SSDSE-B-2026 の値だけで計算できる式です。
EBPM (Evidence-Based Policy Making, 証拠に基づく政策立案) では、 政策効果を数値で測る KPI を必ず定義する。 例えば「人口 1 万人あたりの小学校数」は教育資源の地域配分を測る代表的 KPI。 SSDSE-B-2026 で都道府県別に算出し、 全国平均と比較することで「データに基づく自治体評価」が可能になる。
数式:
$$\text{KPI}_i = \frac{X_i}{P_i} \times 10{,}000$$
ここで $X_i$ は県 $i$ の小学校数、 $P_i$ は人口。 1 万人あたりに正規化することで人口規模の影響を取り除き、 純粋な学校配置の密度を比較できる。
このコードでやること: SSDSE-B-2026 から小学校数 (E2101) と総人口 (A1101) を取得し、 人口 1 万人あたりの小学校数 KPI を都道府県別に算出。 上位 5 県と下位 5 県を表示し、 EBPM の出発点とする。
📥 入力データ (SSDSE-B-2026 抜粋, 2023 年):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023].copy() # 2023 年・47 都道府県 # KPI: 人口 1 万人あたりの小学校数 (E2101=小学校数, A1101=総人口) df['KPI_小学校数/人口1万'] = df['E2101'] / df['A1101'] * 10000 ranked = df[['Prefecture', 'KPI_小学校数/人口1万']].sort_values('KPI_小学校数/人口1万', ascending=False) print('=== 上位 5 県 (小規模校が多い過疎地) ===') print(ranked.head(5).round(2).to_string(index=False)) print('\n=== 下位 5 県 (大都市圏) ===') print(ranked.tail(5).round(2).to_string(index=False)) print(f'\n47 県平均 KPI (県ごとの値の単純平均) = {ranked["KPI_小学校数/人口1万"].mean():.2f}') print(f'全国 KPI (小学校数合計 / 総人口合計) = {df["E2101"].sum() / df["A1101"].sum() * 10000:.2f}') |
📤 実行すると次の出力が得られる:
💬 高知・鹿児島・島根など地方県は人口 1 万人あたり 3 校前後と小規模校が点在し、 過疎地に学校網を維持する構造が見える。 一方で首都圏 (東京・神奈川・埼玉) は 1 校前後で、 少数の大規模校に児童が集中する。 47 県の値を単純平均した 1.92 は高知県のような人口の少ない県も 1 票ずつ数えるので、 全国の小学校 18,980 校を総人口で割った全国 KPI 1.53 より高く出る。 「全国平均と比べる」ときはどちらを基準にしたかを明記する。 「人口密度が学校配置密度を規定する」というデータが、 統廃合・通学支援を検討する EBPM の出発点になる。
データを利活用する最初の一歩は、数字をそろえて並べることです。SSDSE-B-2026 の 2023 年度から、人口規模も年齢構成も違う 4 都府県を並べます。高齢化率は 65 歳以上人口 A1303 ÷ 総人口 A1101、有効求人倍率は月間有効求人数 F3103 ÷ 月間有効求職者数 F3102(いずれも一般)で自分で計算した値です。
| 都道府県 | 総人口(千人) | 高齢化率(%) | TFR | 有効求人倍率 |
|---|---|---|---|---|
| 東京都 | 14,086 | 22.8 | 0.99 | 1.56 |
| 大阪府 | 8,763 | 27.7 | 1.19 | 1.23 |
| 沖縄県 | 1,468 | 23.8 | 1.60 | 1.12 |
| 秋田県 | 914 | 39.1 | 1.10 | 1.40 |
| 47 都道府県計 | 124,353 | 29.1 | 1.29(47 県の単純平均) | 1.30 |
東京都は高齢化率 22.8% で若いのに合計特殊出生率は 0.99 で 47 県の最低、沖縄県は 23.8% で出生率 1.60 と最高です。秋田県は高齢化率 39.1% で最も高い一方、有効求人倍率は 1.40 と全国の 1.30 を上回ります(求職者が少ないことの裏返しでもある)。1 つの指標で県を順位づけず、複数の指標をそろえて並べることが、利活用の判断材料を作る最初の作業です。合計特殊出生率は県ごとの値しかないので、最終行は 47 県の単純平均で、国全体の値とは一致しません。
合成データで部門別データ活用案件の費用対効果を計算する。
| 案件 | 投資 [万円] | 収益 [万円] | ROI |
|---|---|---|---|
| 営業 BI | 300 | 500 | 0.667 |
| マーケ DM | 200 | 700 | 2.500 |
| SCM 在庫 | 500 | 800 | 0.600 |
| 採用 AI | 100 | 250 | 1.500 |
| 保守 IoT | 400 | 600 | 0.500 |
1 2 3 4 5 6 7 | import numpy as np inv = np.array([300, 200, 500, 100, 400]) rev = np.array([500, 700, 800, 250, 600]) roi = (rev - inv) / inv print(f"案件 ROI: {roi.round(3)}") print(f"全体 ROI: {(rev.sum()-inv.sum())/inv.sum():.3f}") print(f"平均 ROI: {roi.mean():.3f}") |
💬 手計算 (Step 2) と Python 出力が完全一致。
以下は データ利活用 を SSDSE-B-2026 で扱うときの典型コード。 encoding='cp932' は政府統計の Shift-JIS 対応。 skiprows=1 は 1 行目の英語コード行(A1101 など)を飛ばし、2 行目の日本語見出しを列名にする定石。
1 2 3 4 5 6 7 8 9 10 11 12 | import pandas as pd # データ利活用 に関連する SSDSE-B-2026 分析の基本パターン df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023].copy() # 2023 年の 47 都道府県 print(df.shape) # (47, 112) # 主要列を分かりやすい名前に (A1101=総人口, A1303=65歳以上人口) df['総人口'] = df['A1101'] df['65歳以上'] = df['A1303'] df['高齢化率'] = df['65歳以上'] / df['総人口'] * 100 print(df[['Prefecture', '総人口', '高齢化率']].head()) |
💬 2023 年度に絞って (47, 112)。先頭 5 県の高齢化率は宮城県 29.24% から秋田県 39.06% まで 10 ポイント近く開き、東北の中でも仙台を抱える宮城だけが低い。行番号が 0, 12, 24… と 12 刻みなのは、元の 564 行から各県の 2023 年度行だけを抜いたためで、後で iloc で位置を指定するなら reset_index しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # データ利活用 の探索的データ分析 (EDA) df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023].copy() # 主要変数を派生 (A1303=65歳以上, A4101=出生数, A1101=総人口) df['高齢化率'] = df['A1303'] / df['A1101'] * 100 df['出生率'] = df['A4101'] / df['A1101'] * 1000 # 人口千人あたり # ヒストグラム fig, axes = plt.subplots(1, 2, figsize=(12, 4)) sns.histplot(df['高齢化率'], kde=True, ax=axes[0]) axes[0].set_title('高齢化率の分布 (47都道府県)') sns.histplot(df['出生率'], kde=True, ax=axes[1]) axes[1].set_title('出生率の分布') plt.tight_layout() plt.savefig('eda_distribution.png', dpi=120) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import pandas as pd import numpy as np # データ利活用 に関わる前処理の典型パターン df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) # ① 欠損値の確認 print('欠損数:') print(df.isna().sum().sort_values(ascending=False).head(10)) # ② 数値変換(カンマ・%除去 など) def to_num(s): if isinstance(s, str): return float(s.replace(',', '').replace('%', '')) return s _num_cols = [c for c in df.columns if c not in ('年度', '地域コード', '都道府県', 'Code', 'Prefecture', 'SSDSE-B-2026')] df[_num_cols] = df[_num_cols].apply(lambda col: col.map(to_num)) # ③ 外れ値検出(IQR) # 地域コードや都道府県名は大小比較できないので、数値の列だけで判定する _num = df.select_dtypes(include='number') q1 = _num.quantile(0.25) q3 = _num.quantile(0.75) iqr = q3 - q1 outlier_mask = ((_num < q1 - 1.5*iqr) | (_num > q3 + 1.5*iqr)).any(axis=1) print('外れ値を含む行数:', outlier_mask.sum()) |
💬 こちらは年度で絞っていないので、欠損 0 件・外れ値を含む行 239 件は 564 行(47 県 × 12 年度)に対する数字。同じ県が 12 回数えられるので、東京都のように毎年外れる県は 12 行ぶん効いてくる。「何県が外れ値か」を利活用の報告に書くなら、2023 年度に絞るか、県単位に集約してから数え直す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import pandas as pd from scipy import stats # データ利活用 文脈での基本的な仮説検定 (東日本 vs 西日本の高齢化率) df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023].copy() df['aging'] = df['A1303'] / df['A1101'] * 100 east = ['北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県','新潟県','富山県','石川県','福井県','山梨県','長野県','岐阜県','静岡県','愛知県'] df['region'] = df['Prefecture'].apply(lambda p: '東日本' if p in east else '西日本') e = df.loc[df['region']=='東日本', 'aging'] w = df.loc[df['region']=='西日本', 'aging'] t, p = stats.ttest_ind(e, w, equal_var=False) print(f'東日本 平均高齢化率: {e.mean():.2f}%') print(f'西日本 平均高齢化率: {w.mean():.2f}%') print(f't = {t:.3f}, p = {p:.4f}') print('判定:', '有意差あり' if p < 0.05 else '有意差なし') |
💬 2023 年度の 47 都道府県で、東日本 31.18%・西日本 31.97%、t = −0.804、p = 0.4259 で有意差なし。東西の平均差 0.79 ポイントは、県ごとの高齢化率の幅(東京都の約 22.8% から秋田県の 39.1%)に比べてずっと小さい。「東日本は高齢化が進んでいる」という印象で施策を割り振る前に、こうした検定で差が統計的に支えられるかを確かめることがデータ利活用の基本になる。
※ より高度な例(クロス集計、 機械学習、 ベイズ推定)は data-driven-society のグループ教材を参照。
SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:
1 2 3 4 5 6 7 8 9 10 11 12 | import pandas as pd import numpy as np # データ読み込み (政府統計は cp932、コードの下の日本語見出し行を skiprows=[1] で除去) df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) print(df.shape) print(df.dtypes.head()) print(df.describe().T.head()) # 「データ利活用」の文脈で扱う場合の例: # 分野: リテラシー # 関連手法は同カテゴリの他用語を参照してください。 |
💬 年度で絞らずに読んだので (564, 112)。A1101 の平均 269.1 万人・最大 1,408.6 万人(2023 年度の東京都)は 12 年度分を一緒にした要約で、年ごとの変化は describe からは見えない。データを使う前に、1 行が何を表す単位(ここでは県 × 年度)なのかを押さえておかないと、「平均的な県」の人口を取り違える。
具体的なコードは データリテラシー を参照してください。
🎯 このコードでやること: SSDSE-B-2026 から高齢化率と出生率を都道府県別に算出し、 散布図で「高齢化率 35% 超」の県を強調表示して少子高齢化が深刻な地域を特定する。 地域包括ケアや子育て支援の重点配分に直結する利活用シナリオ。
📥 入力データ: SSDSE-B-2026 2023 年データ 47 行 (A1101=総人口、 A1303=65歳以上人口、 A4101=出生数)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df2023 = df[df['SSDSE-B-2026'] == 2023].copy() df2023['aging_rate'] = df2023['A1303'] / df2023['A1101'] * 100 # 高齢化率 df2023['birth_rate'] = df2023['A4101'] / df2023['A1101'] * 1000 # 出生率 (千人あたり) # 政策ターゲット: 高齢化率 35% 超 (少子高齢化が最も深刻な県) targets = df2023[df2023['aging_rate'] > 35] plt.figure(figsize=(10, 6)) plt.scatter(df2023['aging_rate'], df2023['birth_rate'], c='steelblue', s=40, alpha=0.7, label='Other') plt.scatter(targets['aging_rate'], targets['birth_rate'], c='crimson', s=80, label='Policy target') plt.axvline(35, ls='--', c='gray', alpha=0.5) plt.xlabel('Aging rate (%)') plt.ylabel('Birth rate (per 1000)') plt.title('Policy targeting: severe aging prefectures') plt.legend() plt.tight_layout() plt.savefig('du_targeting.png', dpi=100) print(f'Policy target prefectures: {len(targets)}') print(targets[['Prefecture', 'aging_rate', 'birth_rate']].round(2).to_string(index=False)) |
📤 実行結果:
💬 結果の読み方: 高齢化率 35% 超の「政策ターゲット」は 青森県・秋田県・山形県・山口県・徳島県・高知県 の 6 県。 出生率(千人あたり)は秋田県 3.95・青森県 4.81・山形県 5.02・高知県 5.08 が 47 県中の下位 6 位以内に入る一方、 山口県 5.54(22 位)と徳島県 5.62(24 位)は中位で、 高齢化率だけで選ぶと少子の度合いが違う県が混ざる。 これらの地域に地域包括ケアや子育て支援を優先配置する政策的根拠になる。 これがデータ利活用の 「政策立案支援」フェーズ。
🎯 このコードでやること: SSDSE-B-2026 の総人口 (A1101, 市場規模) と消費支出 (L3221, 購買力) を使い、 「市場規模 × 購買力」の 4 象限マトリクスを作成。 新規出店・市場展開の意思決定に直結。
📥 入力データ: 2023 年 47 都道府県の A1101(総人口)、 L3221(消費支出・二人以上世帯)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | df2023['cons'] = df2023['L3221'] # 消費支出 (二人以上世帯, 円/月) # 4 象限分類: 人口 (市場規模) × 消費支出 (購買力) median_pop = df2023['A1101'].median() median_cons = df2023['L3221'].median() def classify(row): if row['A1101'] >= median_pop and row['L3221'] >= median_cons: return '①大規模×高支出 (中核ターゲット)' elif row['A1101'] >= median_pop and row['L3221'] < median_cons: return '②大規模×低支出 (量で稼ぐ)' elif row['A1101'] < median_pop and row['L3221'] >= median_cons: return '③小規模×高支出 (プレミアム)' else: return '④小規模×低支出 (慎重判断)' df2023['segment'] = df2023.apply(classify, axis=1) print(df2023.groupby('segment').agg( n=('Prefecture', 'count'), avg_pop=('A1101', 'mean'), avg_cons=('L3221', 'mean') ).round(0)) |
📤 実行結果:
💬 結果の読み方: 「大規模×高支出」17 県が最重要ターゲット、 「小規模×低支出」16 県は慎重判断の対象。 消費支出は都市圏で必ずしも高くない点(例: 大阪府は人口 3 位なのに消費支出 271,246 円は 47 県中 41 位で、 「②大規模×低支出」に入る)に注意し、 人口だけで市場を測らないのがコツ。 これがデータ利活用の 「ビジネス意思決定支援」フェーズ。
🎯 このコードでやること: SSDSE-B-2026 の 12 年間データで、 国レベルの主要 KPI(高齢化率、 出生率、 消費支出平均)の推移を 3 系列ダッシュボードで一望。
📥 入力データ: SSDSE-B-2026 の全年次データを groupby(年) で全国集約
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | annual = df.groupby('SSDSE-B-2026').agg( pop=('A1101', 'sum'), age65=('A1303', 'sum'), births=('A4101', 'sum'), cons=('L3221', 'mean'), ).reset_index() annual['aging_rate'] = annual['age65'] / annual['pop'] * 100 annual['birth_rate'] = annual['births'] / annual['pop'] * 1000 fig, axes = plt.subplots(1, 3, figsize=(15, 4)) axes[0].plot(annual['SSDSE-B-2026'], annual['aging_rate'], marker='o', color='crimson') axes[0].set_title('Aging rate (%)'); axes[0].set_xlabel('Year') axes[1].plot(annual['SSDSE-B-2026'], annual['birth_rate'], marker='s', color='steelblue') axes[1].set_title('Birth rate (per 1000)'); axes[1].set_xlabel('Year') axes[2].plot(annual['SSDSE-B-2026'], annual['cons'], marker='D', color='darkgreen') axes[2].set_title('Avg consumption (JPY/month)'); axes[2].set_xlabel('Year') plt.tight_layout() plt.savefig('du_dashboard.png', dpi=100) print(annual[['SSDSE-B-2026', 'aging_rate', 'birth_rate', 'cons']].round(2)) |
📤 実行結果:
💬 結果の読み方: 2012→2023 年で高齢化率は 24.1→29.1%(+5.0 ポイント)、 出生率は 8.13→5.85(約 -28%)、 消費支出は 286,665→295,856 円とほぼ横ばい。 「人口減少が着実に進む一方、 家計消費は停滞」という構造が 1 画面で明白に。 この KPI 監視は 長期戦略立案の基礎。
🎯 このコードでやること: SSDSE-B-2026 の 2023 年データで 5 変量を使い、 K-means で都道府県を 4 タイプに自動分類。 「同じ政策パッケージを適用できるグループ」を発見する。
📥 入力データ: 47 行 × 5 列(総人口、 高齢化率、 出生率、 消費支出、 年平均気温)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler df2023['birth_rate'] = df2023['A4101'] / df2023['A1101'] * 1000 features = df2023[['A1101', 'aging_rate', 'birth_rate', 'L3221', 'B4101']].copy() X = StandardScaler().fit_transform(features) km = KMeans(n_clusters=4, random_state=42, n_init=10) df2023['cluster'] = km.fit_predict(X) summary = df2023.groupby('cluster').agg( n=('Prefecture', 'count'), pop=('A1101', 'mean'), aging=('aging_rate', 'mean'), cons=('L3221', 'mean'), ).round(0) print(summary) print() for c in sorted(df2023['cluster'].unique()): members = df2023[df2023['cluster']==c]['Prefecture'].tolist() print(f'Cluster {c}: {members}') |
📤 実行結果:
💬 結果の読み方: 47 都道府県が 5 指標に基づき 4 タイプへ自動分類される。 大都市圏(7 県: 東京・大阪ほか)、 北・東北の高齢先進地域(5 県)、 中間タイプの 2 群に分かれ、 各クラスタに別個の政策パッケージを設計する根拠になる。 これがデータ利活用の 「セグメント別介入設計」の典型。
| 事例 | 主体 | 利活用データ | 成果 |
|---|---|---|---|
| RESAS | 内閣官房・経済産業省 | 地域経済・人口・産業 | 自治体の総合戦略策定支援 |
| SSDSE | 独立行政法人統計センター | 47 都道府県横断指標 | 大学・高校での DS 教育 |
| マイナポータル | デジタル庁 | 行政データ統合 | 行政手続きオンライン化 |
データ利活用の失敗は、分析の計算ミスより「何と比べたか」「データを使ってよいか」「結果を誰が使うか」の設計の段階で起きます。この章では、まず SSDSE-B-2026 の実データで基準の選び方の落とし穴を確かめ、その後に利活用特有の落とし穴、倫理・法令、組織とプロジェクトの失敗パターンを順に扱います。
🔬 の KPI(人口 1 万人あたり小学校数)で「全国平均より学校が多い県を統廃合の検討対象にする」と決めたとします。ところが「全国平均」には、47 県の値の単純平均・全国の合計どうしの比・中央値の少なくとも 3 通りがあります。
🎯 このコードでやること:2023 年度の 47 都道府県について人口 1 万人あたり小学校数を計算し、単純平均・全国の合計どうしの比・中央値の 3 つの基準それぞれで「基準より多い県」を数える。基準によって対象に入ったり外れたりする県と、全国の比より少ない県に住む人の割合を出す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) d = df[df['SSDSE-B-2026'] == 2023].set_index('Prefecture') kpi = d['E2101'] / d['A1101'] * 10000 # 人口 1 万人あたり小学校数 simple = kpi.mean() # 47 県の値の単純平均 pooled = d['E2101'].sum() / d['A1101'].sum() * 10000 # 全国の合計どうしの比 median = kpi.median() print(f'基準 単純平均 {simple:.2f} 全国の比 {pooled:.2f} 中央値 {median:.2f}') for name, base in [('単純平均', simple), ('全国の比', pooled), ('中央値', median)]: print(f'「{name}より多い県」 {int((kpi > base).sum())} 県') mid = kpi[(kpi > pooled) & (kpi <= simple)].sort_values() print('全国の比より多いが単純平均以下の県:', len(mid), '県 →', '・'.join(mid.index[:6]), '…') # その県が住んでいる人口の割合 print(f'「全国の比より少ない県」に住む人の割合 {d.loc[kpi <= pooled, "A1101"].sum() / d["A1101"].sum():.3f}') |
💬 基準は単純平均 1.92・全国の比 1.53・中央値 1.87 で、「基準より多い県」は単純平均なら 22 県、中央値なら 23 県、全国の比なら 36 県です。滋賀県・茨城県・群馬県・宮城県・広島県・香川県など 14 県は、全国の比で見れば「多い」側、単純平均で見れば「少ない」側に入り、どちらを「全国平均」と呼ぶかだけで統廃合の検討対象に入ったり外れたりします。全国の比が単純平均より低いのは、人口の多い都市部ほど 1 万人あたりの学校が少ないからで、全国の比より少ない 11 県に日本の人口の 57.1% が住んでいます。利活用の報告では、基準の名前(「47 県の単純平均」「全国の合計どうしの比」)を必ず書き、判断の境目にいる県は、どちらの基準でも結論が変わらないかを確かめます。
データ利活用 は、 隣接概念と混同されやすい用語の代表でもあります。 ここで違いを明確にしておきましょう:
| 混同される概念 | データ利活用 との違い |
|---|---|
| データ駆動社会 | データ駆動社会は社会全体の姿を表すマクロ概念。 データ利活用は具体的な業務・施策で実際にデータを使うアクションを指すミクロ概念。 |
| データリテラシー | リテラシーは人間側の能力(読み解く・批判する力)。 利活用は組織が実際に活用した成果。 リテラシーが普及して初めて利活用が広まる。 |
| データサイエンス | データサイエンスは方法論・学問。 データ利活用はその応用によって得られた価値で、 サイエンスの実践フェーズ。 |
データ利活用は 「やってよいことだけ、 透明性を持って」行う必要があります。 関連する主要な法令・指針を整理します。
| 法令・指針 | 対象 | 主要条文 |
|---|---|---|
| 個人情報保護法 | 個人情報全般 | 利用目的の特定、 第三者提供制限、 開示請求権 |
| 統計法 | 公的統計 | 調査票情報の管理、 二次利用の手続 |
| 官民データ活用推進基本法 | 公共データ | オープンデータ化推進、 標準化 |
| デジタル庁ガイドライン | 行政システム | 設計時のプライバシー、 セキュリティ要件 |
| AI 利用ガイドライン (G7 広島 AI プロセス) | AI 開発・利用 | 透明性、 説明可能性、 公平性 |
| GDPR (EU) | EU 居住者データ | 忘れられる権利、 データポータビリティ |
⚠️ 「データ利活用 ≠ 何でも使ってよい」。 法令遵守と倫理確認は、 プロジェクトの第 1 ゲート。 違反は組織信用の失墜と莫大な賠償リスクに直結する。
Gartner や DAMA-DMBOK が提示する データ成熟度モデル (Data Maturity Model) は、 組織のデータ利活用レベルを 5 段階で評価します。
| レベル | 名称 | 特徴 | 代表的な指標 |
|---|---|---|---|
| L1 | 初期 (Ad-hoc) | 場当たり的に Excel 集計 | データ統合 0%、 BI ツール未導入 |
| L2 | 反復 (Repeatable) | 定型レポートが整備 | 月次・週次定型 KPI、 DWH 部分導入 |
| L3 | 定義 (Defined) | 標準プロセスとデータガバナンス | データ辞書整備、 CDO 任命 |
| L4 | 管理 (Managed) | 予測分析が経営判断に組込 | ML モデルが本番運用、 A/B テスト |
| L5 | 最適化 (Optimized) | データドリブン文化の浸透 | 全社員がダッシュボードを参照し、定型の判断が自動化されている |
データ利活用は単発の分析で終わらせず、 PDCA を高速で回すのがコツです。 SSDSE-B-2026 を題材に 30 分で 1 サイクル回す手順を示します。
💡 30 分 × 週 5 回 = 月 100 分析。 半年で 600 分析の知見が蓄積。 これが「データドリブン組織」の正体。
2024-2030 年に予想されるデータ利活用の主要トレンドを 5 つ整理します。
💡 これらの潮流の根底にあるのは 「データ利活用の民主化」。 専門家でなくても、 ドメイン担当者が直接データを扱えるようになる。 ただし倫理判断はこれまで以上に重要。
これらの動向の中で、 SSDSE-B-2026 のような 公的統計データの役割はますます重要になります。 政府は「EBPM (Evidence-Based Policy Making) 推進」を 2018 年から本格化させており、 行政各部門が政策効果をデータで検証する文化が定着しつつあります。 学習者・研究者・実務者にとって SSDSE は「教材」であり「実務ツール」であり、 同時に「市民監視ツール」でもあるのです。
これら 8 パターンの共通点は「技術ではなくプロセスの問題」という点。 つまり、 個人の Python スキルを上げるだけでは解決せず、 組織として「データ活用の標準プロセス」を整備する必要がある。 ISO 23053 (機械学習プロジェクトの標準) や CRISP-DM フレームワークが参考になる。
データ活用プロジェクトは、 1 人で完結することはほとんどない。 複数の専門職が連携することで初めて成果が出る。 ここでは典型的な 5 つの役割を整理する。
| 職種 | 主な仕事 | 必要スキル |
|---|---|---|
| データサイエンティスト | 統計分析・機械学習モデル開発 | Python, 統計学, ML |
| データエンジニア | データ基盤・パイプライン構築 | SQL, クラウド, ETL |
| データアナリスト | 記述統計・ダッシュボード作成 | SQL, BI ツール, Excel |
| ML エンジニア | 本番運用 ML システム開発 | MLOps, Docker, API |
| データプロダクトマネージャー | プロジェクト推進・ROI 設計 | ビジネス理解, 統計基礎 |
学生は最初「データアナリスト」を目指すのが現実的。 SQL と Python の基礎、 BI ツール 1 つ (Tableau か Power BI) を使えれば新卒採用枠が広い。 そこから経験を積んで「データサイエンティスト」「ML エンジニア」へ進むキャリアパスが王道。 「データプロダクトマネージャー」は MBA や事業経験を経て移行するケースが多い。
本サイトの SSDSE-B-2026 を使った演習は、 「データアナリスト」入門スキルそのものを鍛える内容。 散布図・相関・回帰の基礎を、 公的統計という「実在データ」で身につけられる点で、 教科書を読むだけより圧倒的に実践的な学習となる。
この用語ページで扱った内容を、 3 つの実践指針に集約する。
これら 3 指針を意識しながら SSDSE-B-2026 を触り続ければ、 6 ヶ月後には「データを見て政策提言ができる人材」へ成長できる。 統計・データ解析コンペティションは、 その実践の場となる絶好の機会である。
データ活用は教科書の中の話ではなく、 自治体・企業・研究機関のあらゆる現場で日常的に行われている。 ここでは SSDSE-B-2026 にも登場する都道府県データを切り口に、 それぞれの組織がどのようにデータを活用しているかを掘り下げる。 「活用」の定義は組織によって異なり、 同じ人口データでも自治体は「待機児童の予測」、 企業は「店舗出店の判断」、 研究機関は「人口構造の長期予測」と読み方が大きく変わる。 この違いを理解することは、 自分自身がデータを扱うときに「誰の視点で読むか」を選ぶ訓練につながる。
自治体は住民サービスの最適化と税収配分の効率化を目的に、 人口・出生数・高齢化率・財政力指数などを継続的にモニタリングしている。 SSDSE-B-2026 にある A1101(総人口)、 A4101(出生数)、 A4200(死亡数)、 A1303(65歳以上人口)といった指標は、 まさに自治体が予算編成の根拠として用いる典型的なデータである。 たとえば「総人口 1 万人当たりの小学校数」を算出して、 学校の統廃合や通学支援の必要性を推定する作業は、 多くの自治体で実際に行われている。 こうした分析は単なる集計ではなく、 「翌年度の予算配分をどこに厚くするか」という具体的な意思決定に直結する点が特徴である。
| 分析テーマ | 使用データ(SSDSE-B-2026 該当列) | 意思決定の例 | 典型的な分析手法 |
|---|---|---|---|
| 学校配置の最適化 | A1101(総人口), A4101(出生数), E2101(小学校数) | 小学校の統廃合・通学支援の判断 | 線形回帰、時系列予測 |
| 高齢化対策の優先地域抽出 | A1101(総人口), A1303(65歳以上人口) | 地域包括ケアセンター配置の決定 | クラスタリング、地図可視化 |
| 家計消費の地域差把握 | A1101(総人口), L3221(消費支出) | 生活支援・物価対策の優先順位付け | 感度分析、シナリオ分析 |
| 寒冷地の高齢者見守り | B4101(年平均気温), A1303(65歳以上人口) | 見守り・除雪支援の重点配分 | 相関分析、地図可視化 |
| 人口動態モニタリング | A4101(出生数), A4200(死亡数), A1101(総人口) | 将来人口推計・予算編成 | 時系列予測、自然増減分析 |
これらのテーマで重要なのは、 単一指標の数値ではなく「複数指標の組み合わせから物語を作る力」である。 たとえば「人口が減っているのに消費支出は高い県」は、 一世帯あたりの生活水準が保たれている可能性があり、 単純に「人口減 = 衰退」と決めつけてはいけない。 SSDSE-B-2026 のような多次元データセットを使う最大の意義は、 こうした多角的な視点を一度に検証できる点にある。
企業のデータ活用は「業務効率化」「マーケティング最適化」「新規事業創出」の三層に分けて整理できる。 第一層は経理・人事・在庫管理など既存業務のコスト削減であり、 BI ツールによる定型レポートの自動化が中心である。 第二層は顧客分析・需要予測・広告配信最適化など、 売上を伸ばすための活用である。 第三層は AI を活用した新規サービス開発であり、 画像認識による検品自動化や自然言語処理による問い合わせ対応などが該当する。 多くの企業は第一層から始めて、 段階的に上の層へ進む。 SSDSE-B-2026 のような公開データを使った勉強は、 主に第二層と第三層への足掛かりになる。
| 活用層 | 主な目的 | 使われるデータ | 典型的なツール | 導入難易度 |
|---|---|---|---|---|
| 第一層: 業務効率化 | コスト削減・工数削減 | 社内基幹システムのデータ | Excel, Tableau, Power BI | 低 |
| 第二層: マーケティング最適化 | 売上向上・顧客満足度向上 | POS, Web アクセスログ, CRM | Python, R, GA4 | 中 |
| 第三層: 新規事業創出 | 新規収益源の確立 | センサー, 画像, テキスト, 公開データ | TensorFlow, PyTorch, Cloud AI | 高 |
第一層は「データを見ることに慣れる」段階であり、 第二層は「データから意思決定を変える」段階、 第三層は「データそのものを製品にする」段階と言い換えてもよい。 多くの新人データサイエンティストが配属直後に苦労するのは、 第一層から飛び級で第三層に挑戦してしまうパターンである。 まずは社内の既存業務に染み込ませる第一層から始めて、 組織のデータリテラシーを底上げするほうが、 結果として長期的な ROI が高くなることが多い。
研究機関でのデータ活用は、 自治体や企業と比べて「再現可能性」を最優先する点が大きく異なる。 同じデータ・同じコード・同じ環境で誰がやっても同じ結果が出ることが、 研究としての価値の前提条件となる。 そのため Jupyter Notebook の公開、 Git によるコード管理、 DOI 付きのデータセット公開(Zenodo・figshare 等)が標準的な作法として求められる。 SSDSE-B-2026 はそもそも教育・研究用に標準化されたデータセットであり、 「同じ csv を全員が共有する」という前提が崩れない点で、 再現可能性の練習に非常に向いている。
再現可能性を担保するための実践として、 (1) 環境固定 (requirements.txt, conda environment.yml), (2) コードのバージョン管理 (Git tag), (3) データのハッシュ値記録 (sha256sum) の三点セットが推奨される。 これらは研究機関の流儀だが、 企業でも本番運用のモデルでは同等の管理が必要となる。 「研究 = 厳密」「企業 = ゆるい」という二分法ではなく、 むしろ「企業も研究機関の作法を取り入れるべき」というのが近年の流れである。
データ活用プロジェクトが「期待した効果が出なかった」「途中で頓挫した」ときの理由の多くは技術的な失敗ではなく、 企画・組織・期待値管理の失敗である。 ここでは現場で頻出する 10 のパターンを整理し、 それぞれに対する具体的な回避策を提示する。 SSDSE-B-2026 を使った演習や、 統計・データ解析コンペティションの参加でも、 これらのパターンを意識しておくと、 単なる「コードが動いた」を超えた、 説得力のある分析へと進化できる。
| # | 失敗パターン | 典型的な症状 | 回避策 |
|---|---|---|---|
| 1 | 目的曖昧症候群 | 「とりあえずデータを集める」が続き、何を予測するか決まらないまま半年が過ぎる | プロジェクト開始時に「予測対象の変数名と KPI」を A4 一枚に書く |
| 2 | データ無し見切り発車 | 本当に必要なデータが存在しないことに気付かず、企画書だけ作って予算化してしまう | 企画段階で実データのサンプル 100 行を実際に入手し、可否を確認 |
| 3 | KPI 不一致 | 分析チームの KPI(精度)と現場の KPI(売上)が異なり、成果評価で揉める | キックオフで KPI ツリーを作成し、関係者全員で署名 |
| 4 | 万能 AI 期待 | 「AI を使えば何でもできる」という期待値で予算が降りるが、実際には限界がある | 類似事例のベンチマーク数値を提示し、現実的な期待値に着地 |
| 5 | 過剰スコープ | 「全社のデータを統合して全部 AI 化する」など、初手で大きすぎる目標を設定 | 3 ヶ月で完結する PoC(概念実証)に分解 |
これら 5 パターンは、 いずれも「データを触る前」の段階で起きる失敗である。 つまり、 どんなに優秀なデータサイエンティストがいても、 企画段階で潰されたプロジェクトは挽回できない。 SSDSE-B-2026 を使った学習でも、 「どの列を予測対象にするか」を最初に決めるだけで、 分析の質が劇的に上がる。 これは「目的駆動分析」と呼ばれ、 探索的分析と並んで、 データ活用の二本柱とされる。
| # | 失敗パターン | 典型的な症状 | 回避策 |
|---|---|---|---|
| 6 | データ品質問題 | 分析開始後に欠損・重複・誤入力が大量に判明し、データクリーニングだけで予算が尽きる | プロジェクト工数の 40-60% をクリーニングに割り当てる前提で計画 |
| 7 | 過学習見過ごし | 訓練データでは精度 99% だが、本番投入したら精度 60% に低下 | 交差検証・ホールドアウトテストを必須化、本番データで検証 |
| 8 | ブラックボックス問題 | モデルの精度は高いが、現場の人が「なぜそう判断したか」を説明できず、運用拒否 | SHAP・LIME 等の説明手法を最初から組み込む |
| 9 | 運用引き渡し失敗 | 分析チームが作ったモデルを情報システム部が運用できず、塩漬けになる | 運用引き渡しのドキュメント・運用テストを成果物に明示 |
| 10 | モデル劣化放置 | 運用開始後、データ分布が変化したのに再学習されず、徐々に精度が低下 | モニタリング指標・再学習トリガーを SLA に明記 |
パターン 6-10 は実行・運用段階の失敗である。 興味深いのは、 これら 5 つはいずれも「データサイエンティストの仕事ではない」と思われがちな領域だが、 実際にはデータサイエンティストが主導しないと対処できないことが多い。 「モデルを作るのが私の仕事、 運用は別の人」という分業意識が、 そのままパターン 9・10 の温床になる。 良いデータサイエンティストは、 自分の作ったモデルがどう運用され、 どう劣化するかまで見通して設計する。
失敗パターンを一度経験すると、 次回以降の意思決定が大きく変わる。 しかし、 多くの組織は「失敗を隠す」文化があり、 同じ失敗を別チームが繰り返してしまう。 これを防ぐには、 プロジェクト終了時に必ず Postmortem(事後検証)を実施し、 (1) 何を期待していたか、 (2) 何が起きたか、 (3) なぜ起きたか、 (4) 次回どうするか、 の四項目を文書化することが推奨される。 Google や Netflix などの IT 企業では、 Blameless Postmortem(責任追及なしの事後検証)が標準化されており、 「個人の責任を問わずに、 仕組みの問題を抽出する」ことで、 心理的安全性を保ちながら学習サイクルを回している。
データ利活用は業界によって、 利用する変量・分析手法・期待される成果が大きく異なります。 SSDSE-B-2026 を含む公開データを軸に、 8 つの主要セクターのシナリオを整理します。
| セクター | 主要変量 | 手法 | 期待成果 |
|---|---|---|---|
| 小売・流通 | POS、 天候、 イベント | 需要予測 (Prophet、 XGBoost) | 在庫適正化、 廃棄削減 |
| 製造業 | センサー、 稼働ログ | 異常検知 (Autoencoder) | 設備故障の事前予知 |
| 金融 | 取引履歴、 信用情報 | 信用スコア (Logistic, GBDT) | 不良債権率の低減 |
| 医療・介護 | 電子カルテ、 SSDSE-B 高齢化 | 資源配分最適化 | 医療資源の少ない地域の特定 |
| 教育 | 出席、 成績、 学習履歴 | 学習分析 (Learning Analytics) | 中退率予測、 個別最適化 |
| 行政 | SSDSE 全変量、 GIS | 政策シミュレーション | EBPM (証拠に基づく政策立案) |
| 交通・物流 | GPS、 通行量、 気象 | 経路最適化、 動的価格 | 配送効率 +20%、 渋滞緩和 |
| エネルギー | スマートメーター、 気象 | 需要予測、 需給制御 | 再エネ統合、 ピークカット |
💡 どのセクターでも共通するのは 「ドメイン知識 × データスキル × 倫理判断」の 3 点セット。 ツールや手法は移植可能だが、 業界文化や規制への理解は固有スキル。
「データサイエンティスト」一人で何でもやろうとするのは無理筋。 ここでは、データ利活用に関わる役割を 6 種類に分けて整理します(IPA の「DX 推進スキル標準」は人材類型を 5 つに分けており、分け方は資料によって違う)。
| ロール | 主要スキル | 担当領域 |
|---|---|---|
| データエンジニア | SQL、 ETL、 クラウド (AWS/GCP) | データ基盤構築・パイプライン運用 |
| データアナリスト | BI ツール、 SQL、 統計 | レポート作成・KPI 監視 |
| データサイエンティスト | Python、 ML、 統計、 数学 | 予測モデル・高度分析 |
| ML エンジニア | MLOps、 Docker、 推論最適化 | モデルの本番運用・監視 |
| データガバナンス担当 (CDO) | 法令、 倫理、 経営戦略 | 全社的データ戦略・コンプライアンス |
| ドメインエキスパート | 業界知識、 意思決定 | 問いの設定・結果解釈・実装判断 |
💡 中小組織で全 6 ロールを揃えるのは現実的でないため、 「ドメインエキスパート + データアナリスト + 外部委託」の組合せが現実解。 SSDSE-B のような公開データセットを活用すれば、 データエンジニア工数を大幅に削減できる。
「データ利活用」は単独で完結する手法ではなく、 隣接領域と連携することで真価を発揮する。 具体的には次の 3 方向と密接につながる:
データ利活用は組織のリテラシーが社会的インパクトに変換される実践フェーズ。
「データ利活用」を実際に使うとき、 何をどう選ぶかを順に判断する。 上から順に答えていくと、 使うべき手法と評価の仕方が決まる。
データ利活用でつまずくのは技術より前段のことが多い。 「何の判断を変えたいのか」が決まっていれば、 使う手法は自然に絞られる。