10 管理会計で用いるデータとその分析

Author

佐久間智広

Published

2024/06/14

Modified

2024/06/27

1 管理会計って何だった?

管理会計は一言で言うと,

企業の構想実現のために会社で使われる仕組み

谷 (2022)

  • 組織の構想実現のために企業内で整備される仕組み

  • 企業のデータを構想実現に役立てる仕組み

  • 会計データをはじめとしたデータを経営管理のために使う


1.1 企業のデータを経営管理に使う

企業のデータ?

企業はさまざまな情報源からさまざまなデータを集めている


財務データ

  • 売上原価原価
  • 人件費
  • 研究開発費
  • 広告宣伝費
  • 売上高

非財務データ

  • 人事評価データ
  • 良品率(不良品率)
  • 顧客満足度
  • 従業員満足度
  • 研修参加率


経営管理に使う?

大きく分けて2種類の使い方があるとされる(Luft 2009; Grafton, Lillis, and Widener 2010; 伊丹 and 青木 2016)

従業員の行動に影響を与える


業績評価アプローチ
(意思決定影響機能)

企業目標に向かって自発的に働いてくれるよう仕向ける

  • 目標数値を設定
  • 目標を達成したかどうかで評価
  • 評価に応じて昇給やボーナス,昇進を決める

意思決定に役立てる


意思決定アプローチ
(意思決定支援機能)

  • 新規事業AとBどちらに参入する?
  • 新しい工場・設備を導入する?
  • 自社で作る?外注する?
  • 撤退する?継続する?
  • 広告宣伝費にいくらかける?
経営管理

組織のさまざまな階層における経営管理者が組織目標達成のために遂行する仕事。

Note

これらの使い方は,それぞれ別の仕組みがあるとは限らず,1つの仕組みの中で2つの役割が求められることがほとんど。


1.2 会計の中の管理会計(再掲)

会計データは,企業の活動を金銭的価値として測定したもの

大きく分けて財務会計と管理会計がある

それぞれ(時に別のデータと組み合わせながら)様々な目的のために分析される

2 管理会計に使われるデータ

2.1 役立てられるデータの種類が増えている

企業が経営管理のために役立てられるデータの幅は増えてきています。

  • 昔は原価計算・予算管理など財務的な指標を使うことに注目していました。
  • 財務指標(だけ)を使った管理会計システムの不具合,限界が指摘され (Johnson, Kaplan, and 鳥居 1992),より多くの社内のデータを組み合わせた経営管理が提唱されるように (例えば,Balanced Scorecard Kaplan and Norton 1992, 2001, 2004)

より多くのデータを使うことで,データの収集・集計,分析の難易度は増しています。


2.2 データは企業内に散在

一方で,財務指標データ(会計データ)とその他データは多くの場合,バラバラの部署でバラバラに蓄積されています。

  • フォーマットも会社によってバラバラです。
  • 使われている用語や分類方法もバラバラです。
  • 場合によっては単位も違います(社内通貨など)


例: アメーバ経営

京セラで生まれ,関連企業だけでなく,KCCSマネジメントコンサルティングを通して多くの企業に導入されている経営の仕組み

  • 小集団(例えば5人とか10人とか)
  • それぞれが社内外と取引する形にする
  • 社内外での売り買いがあるので利益計算が可能

結果として,それぞれの小集団が小さい会社のように利益追求できるように


アメーバ経営において,小集団がそれぞれ利益管理ができるよう,簡単な利益計算のフォーマットが作成される

  • 収益は社外出荷と社内売
  • そこから社内買を差し引いて総生産
  • 総生産から経費(部門共通費や本社経費等を含むけれど人件費は含まない)を差し引いて差引収益
  • 差引収益を総労働時間で割って時間当り採算

一般的(簿記の仕組みで出てくる)費目の分け方や,利益の計算方法とは違う


2.3 「一般的な方法」?

(言い訳じみていますが)管理会計の分析方法は千差万別で,こんな分析ができますよ,というのを体系立てて説明することは結構難しいです。

  • そもそもどんなデータをどんなふうに蓄積しているかがバラバラです。
  • データの役立て方も産業や企業によってバラバラです。

そこで…

  • データを分析できる形に整形すること
  • 教科書的な知識になっているような分析を実装すること
  • 企業が本当はやりたい(けど難しい)いくつかの分析

といったことを扱います。

3 企業に蓄積されているデータとその形状

  • 企業内のデータは様々なフォーマットで様々な部署に点在しています。
  • 前半の授業では,分析に向いた形に整形されたものが使われていました。
  • しかし,管理会計データは大抵,分析に不向きな形で集計されています。
  • そこでまずデータの代表的な形について考えます。

3.1 データセットの並び方

データを集計して,表にまとめるときには,いくつかの方法があります。

データ分析上望ましいのは,変数が列,測定単位が行の形です。

例:田中兄弟の身長

ある兄弟は,毎月身長を測っています。年齢データとともに表にまとめました。


(分析するにあたって)よくない形

  • 時系列の身長データが月ごとに別の列になっている
    • m1からm12は,全て身長の数値
Code
pacman::p_load(tidyverse, magrittr, readxl, kableExtra,rmarkdown,tinytable, here)

case_wide <- here("data","case_wide.xlsx") |> read_excel()
kable(case_wide)
name age m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12
田中一郎 25 171 173 174 175 177 178 179 181 182 183 185 185
田中次郎 24 170 171 172 173 174 176 177 179 180 181 183 184
田中三郎 23 166 167 169 170 172 172 173 174 175 176 177 178
田中四郎 22 161 162 164 165 167 168 169 171 172 173 174 176
田中五郎 21 190 192 193 194 195 197 198 200 201 203 205 206
田中六郎 20 155 156 158 159 160 161 162 163 164 166 167 168
田中七郎 19 180 182 183 185 186 188 189 191 193 194 195 196

望ましい形

分析に使うために望ましいのは

  • 列が変数,行が測定単位になっている

状態。これを目指す!

Code
case_widel <- case_wide |>
  pivot_longer(starts_with("m"),
               names_to = "month",
               names_prefix = "m",
               values_to = "height") |>
  mutate(month = as.numeric(month))
kable(case_widel)
name age month height
田中一郎 25 1 171
田中一郎 25 2 173
田中一郎 25 3 174
田中一郎 25 4 175
田中一郎 25 5 177
田中一郎 25 6 178
田中一郎 25 7 179
田中一郎 25 8 181
田中一郎 25 9 182
田中一郎 25 10 183
田中一郎 25 11 185
田中一郎 25 12 185
田中次郎 24 1 170
田中次郎 24 2 171
田中次郎 24 3 172
田中次郎 24 4 173
田中次郎 24 5 174
田中次郎 24 6 176
田中次郎 24 7 177
田中次郎 24 8 179
田中次郎 24 9 180
田中次郎 24 10 181
田中次郎 24 11 183
田中次郎 24 12 184
田中三郎 23 1 166
田中三郎 23 2 167
田中三郎 23 3 169
田中三郎 23 4 170
田中三郎 23 5 172
田中三郎 23 6 172
田中三郎 23 7 173
田中三郎 23 8 174
田中三郎 23 9 175
田中三郎 23 10 176
田中三郎 23 11 177
田中三郎 23 12 178
田中四郎 22 1 161
田中四郎 22 2 162
田中四郎 22 3 164
田中四郎 22 4 165
田中四郎 22 5 167
田中四郎 22 6 168
田中四郎 22 7 169
田中四郎 22 8 171
田中四郎 22 9 172
田中四郎 22 10 173
田中四郎 22 11 174
田中四郎 22 12 176
田中五郎 21 1 190
田中五郎 21 2 192
田中五郎 21 3 193
田中五郎 21 4 194
田中五郎 21 5 195
田中五郎 21 6 197
田中五郎 21 7 198
田中五郎 21 8 200
田中五郎 21 9 201
田中五郎 21 10 203
田中五郎 21 11 205
田中五郎 21 12 206
田中六郎 20 1 155
田中六郎 20 2 156
田中六郎 20 3 158
田中六郎 20 4 159
田中六郎 20 5 160
田中六郎 20 6 161
田中六郎 20 7 162
田中六郎 20 8 163
田中六郎 20 9 164
田中六郎 20 10 166
田中六郎 20 11 167
田中六郎 20 12 168
田中七郎 19 1 180
田中七郎 19 2 182
田中七郎 19 3 183
田中七郎 19 4 185
田中七郎 19 5 186
田中七郎 19 6 188
田中七郎 19 7 189
田中七郎 19 8 191
田中七郎 19 9 193
田中七郎 19 10 194
田中七郎 19 11 195
田中七郎 19 12 196

4 データセットの種類


データセットには,集計された種類で大きく3種類に分けられます。


4.1 クロスセクションデータ

測定単位がそれぞれ独立しているデータ。

  • 例えば,
    • 1回だけとったアンケート
    • 1回だけやった学力テスト

1時点の傾向がわかる

1回だけ行った学力テスト

1回だけ行った学力テスト

4.2 時系列データ

1つの測定対象に対して複数時点でとったデータ

  • 時系列変化がわかる

[ユニクロの2018年から2022年までの業績データ](https://www.fastretailing.com/jp/ir/financial/past_5yrs.html)

[ユニクロの2018年から2022年までの業績データ](https://www.fastretailing.com/jp/ir/financial/past_5yrs.html)

4.3 パネルデータ

複数の測定対象に対して,複数時点でとったデータ

  • クロスセクション × 時系列

いろんなことがわかる

複数回行った学力テストの結果

複数回行った学力テストの結果

4.4 まとめ(データセットの種類)

  • データは列が変数名,行が個々のサンプルになるように並んでて欲しい
  • データの種類によってクロスセクション・時系列・パネルデータがある

5 データの整形

5.1 Case 1 : 財務諸表的並び

ある企業の店舗レベルデータ

  • 店舗ごとにエクセルに分かれている
  • 1年度の業績が費目が縦,年月が横に並んでいる
  • 分析可能な形に加工したい
Code
case1a <- here("data","case1_a.xlsx") |> read_excel() 
case1b <- here("data","case1_b.xlsx") |> read_excel()
case1c <- here("data","case1_c.xlsx") |> read_excel()

case1a

理想的な形は月次のパネルデータ

  • 列が変数(店舗名や費目)
  • 行が各月の業績数値
  • それが3店舗分下につながっている状態
shop shop_id 売上高 売上原価
A 20 6600 3684 2016 4
A 20 7100 3928 2016 5
A 20 6300 3529 2016 6

現在の形はワイド形式,long形式に直したい


Code
case1al <- case1a |>
  select(-合計) |>
  pivot_longer(cols = c(-shop_id, -shop, -himoku), 
               names_to = "yearmonth") |>
  pivot_wider(id_cols = c(shop_id, shop, yearmonth),
              names_from = himoku, 
              values_from = value)

case1al
1
データを縦に伸ばす
2
データを横に開く

元々のデータ

Code
case1a

データを縦に伸ばす

指定した範囲の列を一つの列に結合して縦に伸ばす

  • 1604から1703までの部分を結合して伸ばす

pivot_longer()関数を使う

  • ()の中でcols = として,結合したい列を指定する。今回は結合”したくない”列を取り除く形で指定してる
Code
case1al <- case1a |>
  select(-合計) |>
  pivot_longer(cols = c(-shop_id, -shop, -himoku), 
               names_to = "yearmonth")
case1al

データを横に開く

費目単位で横に伸ばす

pivot_wider()関数を使う

  • id_colsはそのまま残したい列
  • names_from列名にしたい(引き伸ばしたい)情報が入った列
  • values_fromは,列に入れたい情報が入った列
Code
case1al <- case1al |>
  pivot_wider(id_cols = c(shop_id, shop, yearmonth),
              names_from = himoku, 
              values_from = value)
case1al

これを年数分繰り返す

  • ここでは,forループを使って繰り返しを自動化します
Code
file_list <- c("data/case1_a.xlsx", 
               "data/case1_b.xlsx", 
               "data/case1_c.xlsx")
data_list <- list()

for (file in file_list) {
  data <- here(file) |> read_excel()
  data_list[[file]] <- data |>
    select(-合計) |>
    pivot_longer(cols = c(-shop_id, -shop, -himoku), 
                 names_to = "yearmonth") |>
    pivot_wider(id_cols = c(shop_id, shop, yearmonth),
                names_from = himoku,
                values_from = value)
  }
combined_data <- bind_rows(data_list)
combined_data
1
データを読み込む
2
繰り返したい作業
3
ファイルごとに作ったものを,縦方向に繋げる(bind_rows()関数)

5.2 Case2: 財務データと人事データの結合

  • 大抵の場合,店舗や支店の業績は月次で管理されるけれど,業績評価は半年単位とかで決まる
  • 業績評価は年度単位で期間が区切られる
    • 2016/4-2016/9までが前半
    • 2016/10-2017/3までが後半

次のような順番で作業してみる

  1. 人事データを結合
  2. 財務データの年度と前半・後半を作成
  3. 財務データに人事データを結合

findata.csvと,case3_p1.xlsx, case3_p2.xlsxという三つのデータを使います

Code
findata <- here("data/findata.csv") |> read.csv()
case3_p1 <- here("data/case3_p1.xlsx") |> read_excel()
case3_p2 <- here("data/case3_p2.xlsx") |> read_excel()
case3_p1

人事データを結合

  • 人事データ2期分は別のファイルになっている。
  • データを縦方向に結合する
    • bind_rows()関数は,変数名が同じ2つのデータセットを縦方向に結合してくれる。

変数名が揃ってるか要確認

  • (企業のデータだと,ある年から名前が変わってたり,全角と半角が変わってたりする)
Code
person <- bind_rows(case3_p1,case3_p2)
person <- person |> 
  rename(fiscalyear = year)
person
1
財務データ側は暦年をyearとしているので,年度だとわかるように名前を変える

財務データに年度と半期識別データを作成

  • case_when() 関数は,条件分岐させて処理を変えるための関数。

    • 1, 2, 3月は前年度なので,暦年から1を差し引く
  • ifelse()関数も条件分岐。

    • 2条件ならこっちでも良い
Code
findata <- findata |>
  mutate(fiscalyear = case_when(month %in% c(1, 2, 3) ~ year - 1,
                                TRUE ~ year),
         half = ifelse(month >= 4 & month < 10, 1,2))
findata

データを結合

財務データの列に店長と業績評価の列をくっつける

  • left_join()関数はExcelのvlookupみたいな挙動。
  • by =で指定した変数をキーにして,2つのデータを横向きに結合
Code
data_full <- left_join(findata, person ,
                       by = c('fiscalyear','half','shop'))
data_full

6 課題: 半パネルデータ

  • case2.xlsxは企業の財務データです。
  • データ分析に適した形(パネルデータ)に加工してください
  • コードのみ記載してください
完成イメージ
shop 売上高 売上原価 yearmonth
A 1604
A 1605
B 1604
C 1604
Code
kadai <- here("data/case2.xlsx") |> read_excel()
tt(kadai)
tinytable_fdh40nqkbpblsxdgout5
shop_id shop himoku 1604 1605 1606 1607 1608 1609 1610 1611 1612 1701 1702 1703 合計
20 A 売上高 6600 7100 6300 6900 8000 6600 6800 6400 9300 9000 6400 6800 86200
20 A 売上原価 3711 3924 3541 3880 4462 3727 3770 3552 5155 5020 3582 3782 48105
20 A 人件費合計 1550 1650 1421 1584 1832 1460 1526 1454 2109 2014 1486 1574 19660
20 A 水道光熱費計 33 36 32 35 41 34 35 32 47 45 33 34 437
20 A その他営業経費 14 14 14 14 17 14 14 13 20 18 13 14 178
20 A 本部・本社費計 594 640 567 622 720 594 613 576 838 811 576 612 7764
20 A 経費合計 5902 6264 5574 6135 7072 5829 5958 5627 8169 7908 5690 6016 76144
20 A 店舗営業利益高 698 836 726 765 928 771 842 773 1131 1092 710 784 10056
70 B 売上高 5400 6200 5800 6000 7400 5400 5800 5300 8500 8000 5400 5800 75000
70 B 売上原価 3068 3433 3195 3400 4127 3064 3215 3000 4762 4499 3010 3267 42040
70 B 人件費合計 1236 1409 1303 1330 1728 1211 1318 1185 1926 1763 1219 1361 16988
70 B 水道光熱費計 28 32 29 31 37 28 29 27 43 41 28 30 382
70 B その他営業経費 12 13 12 13 16 11 12 11 17 17 11 12 156
70 B 本部・本社費計 487 558 523 540 666 486 522 478 766 720 486 523 6756
70 B 経費合計 4831 5446 5062 5314 6574 4799 5096 4701 7514 7040 4754 5192 66322
70 B 店舗営業利益高 569 754 738 686 826 601 704 599 986 960 646 608 8678
100 C 売上高 4109 4441 4958 4183 5548 5918 4927 4370 6033 6897 4437 5942 61763
100 C 売上原価 2265 2478 2750 2340 3056 3261 2808 2405 3393 3872 2444 3270 34342
100 C 人件費合計 954 1034 1152 999 1289 1363 1166 1051 1348 1569 1008 1382 14315
100 C 水道光熱費計 22 23 26 22 29 30 25 23 30 35 23 30 316
100 C その他営業経費 9 9 10 9 11 12 10 9 13 14 9 12 130
100 C 本部・本社費計 370 400 446 377 499 533 444 394 544 621 400 535 5564
100 C 経費合計 3620 3944 4384 3747 4884 5200 4454 3882 5328 6111 3883 5230 54667
100 C 店舗営業利益高 489 496 575 436 664 719 473 488 706 786 554 712 7096
111 D 売上高 4659 4011 4426 4059 5036 5065 4333 4560 6859 6993 4067 5880 59949
111 D 売上原価 2608 2226 2443 2267 2832 2880 2424 2592 3851 3863 2327 3315 33627
111 D 人件費合計 1072 912 986 978 1161 1135 1021 1052 1586 1622 933 1317 13774
111 D 水道光熱費計 24 21 23 21 26 26 22 24 35 36 21 30 306
111 D その他営業経費 10 9 10 8 10 10 9 10 15 15 9 12 126
111 D 本部・本社費計 420 361 399 365 454 456 391 411 618 630 366 530 5401
111 D 経費合計 4134 3529 3860 3639 4483 4507 3867 4088 6105 6164 3656 5204 53235
111 D 店舗営業利益高 525 482 565 419 553 558 466 472 754 829 412 676 6713
200 E 売上高 6831 6394 5546 4954 5145 5869 4272 4090 7557 7720 5890 6781 71047
200 E 売上原価 3759 3523 3091 2743 2831 3313 2352 2335 4230 4339 3317 3794 39627
200 E 人件費合計 1508 1496 1260 1151 1170 1367 972 980 1741 1714 1380 1542 16281
200 E 水道光熱費計 35 33 28 26 26 30 22 21 39 39 30 34 362
200 E その他営業経費 14 13 12 10 11 13 9 9 15 16 12 14 149
200 E 本部・本社費計 616 576 500 446 464 529 385 368 681 695 530 610 6400
200 E 経費合計 5931 5641 4890 4376 4502 5252 3740 3713 6706 6803 5270 5996 62821
200 E 店舗営業利益高 899 752 656 578 642 617 531 377 851 917 620 786 8227

6.1 答え

Code
kadai <- kadai |>
  select(-合計) |>
  pivot_longer(cols = c(-shop_id, -shop, -himoku),
               names_to = "yearmonth")|>
  pivot_wider(id_cols = c(shop_id, shop, yearmonth),
              names_from = himoku,
              values_from = value)
kadai

参考文献

Grafton, J., A. M. Lillis, and S. K. Widener. 2010. The role of performance measurement and evaluation in building organizational capabilities and performance. Accounting, Organizations and Society 35: 689706.
Johnson, H. T., R. S. Kaplan, and 鳥居宏史. 1992. レレバンス・ロスト : 管理会計の盛衰. 東京: 白桃書房.
Kaplan, R. S., and D. P. Norton. 1992. The balanced scorecard: Measures that drive performance. Harvard Business Review 70: 7179.
Kaplan, R. S., and D. P. Norton. 2001. The strategy-focused organization : How balanced scorecard companies thrive in the new business environment. Boulder, Colo.: NetLibrary.
Kaplan, R. S., and D. P. Norton. 2004. Strategy maps: Converting intangible assets into tangible outcomes. Boston: Harvard Business School Press.
Luft, J. 2009. Nonfinancial information and accounting: A reconsideration of benefits and challenges. Accounting Horizons 23: 307325.
伊丹敬之., and 青木康晴. 2016. 現場が動き出す会計 : 人はなぜ測定されると行動を変えるのか. 日本経済新聞出版社.
谷武幸. 2022. エッセンシャル管理会計. 第4版 ed. 東京: 中央経済社.

Footnotes

  1. 分野によっては横断データと呼ぶこともあるようです↩︎

  2. 分野によっては縦断データと呼ぶこともあるようです。↩︎