(57)【特許請求の範囲】
【請求項１】
（ａ）配賦基準入力モジュールが、補助部門および製造部門から構成された各原価部門間の配賦割合を表現する配賦基準の入力を受ける段階と、
（ｂ）配賦行列構成モジュールが、前記配賦基準を用いて、前記各原価部門間の配賦関係を数式（１）で表すことが可能な配賦行列を構成する段階と、
（ｃ）収束判断モジュールが、前記補助部門間の配賦関係を表現する全成分が０に収束するまでに前記配賦行列の累乗を繰り返す段階と、
（ｄ）配賦原価計算モジュールが、前記（ｃ）段階で収束した配賦行列に、各原価部門の費用を成分とするベクトル行列を乗じて、前記製造部門にそれぞれ配賦された各原価部門の原価を計算する段階とを含んでなることを特徴とする、原価計算のための相互配賦計算方法。
【数１】
0006049911.tif 000011
【請求項２】
（ｅ）収束基準入力モジュールが、収束基準の入力を受ける段階をさらに含み、
前記（ｃ）段階は、前記収束判断モジュールが、前記（ｅ）段階の収束基準より小さい値であれば、０に収束したと判断することを特徴とする、請求項１に記載の原価計算のための相互配賦計算方法。
【請求項３】
前記（ｃ）段階は、前記収束判断モジュールが、
（ｃ−１）前記配賦行列のｉ番目の行の全成分を演算手段の記憶手段に割り当てる段階と、
（ｃ−２）前記配賦行列のｊ番目の列の全成分を前記演算手段の記憶手段に割り当てる段階と、
（ｃ−３）数式（２）によって前記配賦行列の累乗のｉ行ｊ列の成分を計算する段階とを含むことを特徴とする、請求項１に記載の原価計算のための相互配賦計算方法。
【数２】
0006049911.tif 000012
【請求項４】
前記（ｃ）段階は、前記収束判断モジュールが、
（ｃ−１）前記配賦行列のｉ番目の行の全成分を演算手段の記憶手段に割り当てる段階と、
（ｃ−２）前記配賦行列のｊ番目の列の全成分を前記演算手段の記憶手段に割り当てる段階と、
（ｃ−３）数式（２）によって前記配賦行列の累乗計算のi行ｊ列の成分を計算する段階とを含むことを特徴とする、請求項２に記載の原価計算のための相互配賦計算方法。
【数３】
0006049911.tif 000013
【請求項５】
前記（ａ）段階は、前記配賦基準入力モジュールが、前記補助部門と製造部門のそれぞれの活動を分離し、各活動ごとに別個の原価部門として設定して前記配賦基準の入力を受け、
前記（ｂ）段階は、前記配賦行列構成モジュールが、前記（ａ）段階の活動基準原価に基づいて前記配賦行列を構成することを特徴とする、請求項１に記載の原価計算のための相互配賦計算方法。
【請求項６】
前記（ａ）段階は、前記配賦基準入力モジュールが、前記補助部門と製造部門のそれぞれの活動を分離し、各活動ごとに別個の原価部門として設定して前記配賦基準の入力を受け、
前記（ｂ）段階は、前記配賦行列構成モジュールが、前記（ａ）段階の活動基準原価に基づいて前記配賦行列を構成することを特徴とする、請求項２に記載の原価計算のための相互配賦計算方法。
【請求項７】
補助部門および製造部門から構成された各原価部門間の配賦割合を表現する配賦基準の入力を受ける配賦基準入力モジュールと、
前記配賦基準を用いて前記各原価部門間の配賦関係を数式（１）で表すことが可能な配賦行列を構成する配賦行列構成モジュールと、
前記配賦行列の累乗を計算する配賦行列演算モジュールと、
前記配賦行列演算モジュールで累乗計算された配賦行列の前記補助部門間の配賦関係を表現する全成分が０に収束したか否かを判断する収束判断モジュールと、
前記収束判断モジュールで収束したと判断した前記配賦行列に、前記各原価部門の費用を成分とするベクトル行列を乗じて、前記製造部門にそれぞれ配賦された各原価部門の原価を計算する配賦原価計算モジュールとを含んでなることを特徴とする、原価計算のための相互配賦計算システム。
【数４】
0006049911.tif 000014
【請求項８】
収束基準の入力を受ける収束基準入力モジュールをさらに含み、
前記収束判断モジュールは、前記収束基準より小さい値であれば、０に収束したと判断することを特徴とする、請求項７に記載の原価計算のための相互配賦計算システム。
【請求項９】
前記配賦行列演算モジュールは、前記配賦行列の全成分が保存された補助記憶部と、前記補助記憶部から前記配賦行列のｉ行目の全成分とｊ番目の列の全成分を照会（ａｃｃｅｓｓ）して保存する主記憶部と、前記主記憶部に保存されたデータを用いて、数式（２）によって前記配賦行列の累乗のｉ行ｊ列の成分を計算する演算部とを含むことを特徴とする、請求項７に記載の原価計算のための相互配賦計算システム。
【数５】
0006049911.tif 000015
【請求項１０】
前記配賦行列演算モジュールは、前記配賦行列の全成分が保存された補助記憶部と、前記補助記憶部で前記配賦行列のｉ行目の全成分とｊ番目の列の全成分を照会（ａｃｃｅｓｓ）して保存する主記憶部と、前記主記憶部に保存されたデータを用いて、数式（２）によって前記配賦行列の累乗のｉ行ｊ列の成分を計算する演算部とを含むことを特徴とする、請求項８に記載の原価計算のための相互配賦計算システム。
【数６】
0006049911.tif 000016
【請求項１１】
前記配賦基準入力モジュールは、前記補助部門と製造部門のそれぞれの活動を分離し、各活動ごとに別個の原価部門として設定して前記配賦基準の入力を受け、
前記配賦行列構成モジュールは、前記配賦基準入力モジュールで入力された活動基準原価に基づいて前記配賦行列を構成し、
前記配賦原価計算モジュールは、前記各原価部門の活動ごとに前記製造部門に配賦された配賦原価を計算することを特徴とする、請求項７に記載の原価計算のための相互配賦計算システム。
【請求項１２】
前記配賦基準入力モジュールは、前記補助部門と製造部門のそれぞれの活動を分離し、各活動ごとに別個の原価部門として設定して前記配賦基準の入力を受け、
前記配賦行列構成モジュールは、前記配賦基準入力モジュールで入力された活動基準原価に基づいて前記配賦行列を構成し、
前記配賦原価計算モジュールは、前記各原価部門の活動ごとに前記製造部門に配賦された配賦原価を計算することを特徴とする、請求項８に記載の原価計算のための相互配賦計算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原価計算のための相互配賦計算方法および相互配賦計算システムに係り、さらに詳しくは、コンピュータを利用して原価計算を行う際に、相互配賦方法を用いて部署別の原価計算を効率よく行うことができる、原価計算のための相互配賦計算方法および相互配賦計算システムに関する。
【背景技術】
【０００２】
企業の原価を計算するには、各原価部門（補助部門および製造部門）で発生した原価を部署間で配賦する原価配賦過程が重要である。このような原価配賦方法としては、直接配賦法、段階配賦法、相互配賦法などが知られている。
各部署間でやり取りした用役を考慮して原価を配賦する相互配賦法は、原価配賦および原価計算の正確性を高めることができ、用役提供部門の支援費用に関する情報を提供するため、企業経営の意思決定に重要な情報を提供することができるという長所がある。
【０００３】
このような相互配賦法による原価配賦計算は、原価部門間で互いに用役をやり取りし続けるから、原価を計算することが複雑であるという問題点がある。特に部署の数が多い会社の原価を相互配賦法によってコンピュータを利用して計算すると、非常に大きな容量の演算用メモリを必要とし、最終原価の計算に非常に長い時間を要するという問題点があった。これにより、相互配賦法による原価計算システムは、非常に高価な高性能のコンピュータを使用しなければならないという問題点があった。
【０００４】
かかる問題点により、相互配賦法による原価計算は企業経営に関する重要かつ様々な情報を提供することができるにも拘わらず、市販の多くのＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅ  Ｐｌａｎｎｉｎｇ：企業資源管理）システムで該当モジュールの機能が限られている。また、相互配賦法による原価計算には高性能のコンピュータシステムが必要なので、相互配賦法による原価計算には非常に多くの費用がかかるという問題点があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上述したような問題点を解決するために案出されたもので、その目的は、相互配賦原価計算を簡単かつ迅速に行うことができる、原価計算のための相互配賦計算方法および相互配賦計算システムを提供することにある。
【課題を解決するための手段】
【０００６】
上述したような問題点を解決するために案出された本発明の原価計算のための相互配賦計算方法および相互配賦計算システムは、推移確率行列の極限性および収束性を用いて相互配賦原価計算を行う原価計算のための相互配賦計算方法および相互配賦計算システムであることにその特徴がある。
【発明の効果】
【０００７】
本発明の原価計算のための相互配賦計算方法および相互配賦計算システムは、過去数十年間にわたって知られている相互配賦計算方法とは全く異なる効果的な方法によって相互配賦計算を行うことにより、従来に比べて非常に速い速度で相互配賦原価計算を行うことができるという利点がある。
また、本発明の原価計算のための相互配賦計算方法および相互配賦計算システムは、従来に比べて非常に簡単な方法で相互配賦原価を計算することができるので、比較的低スペックのコンピュータを使用しながらも、より迅速かつ効果的に相互配賦原価計算を行うことができるという利点がある。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る原価計算のための相互配賦計算方法の一例を示すフローチャート。
【図２】本発明の一実施例に係る原価計算のための相互配賦計算システムのブロック図。
【発明を実施するための形態】
【０００９】
以下、本発明に係る原価計算のための相互配賦計算方法を詳細に説明する。
まず、補助部門および製造部門から構成された各原価部門間の配賦割合を表現する配賦基準の入力を受ける段階を行う（（ａ）段階；Ｓ１００）。
製造部門は、商品やサービスなどの最終財貨を生産する部署を意味する。製造業の製造分野のみを意味するのではなく、サービス業の最終サービス提供部署が製造部門に該当する。病院の場合を例として挙げると、直接患者を診療する内科や外科などの診療部署が製造部門に該当する。補助部門は、製造部門にサービスを提供する支援部署に該当する。補助部門は補助部門間でもサービスを提供することができ、製造部門の各部署にもサービスを提供することができる。人事チーム、法務チーム、社会貢献チーム、公務チームなどが補助部門に該当する。このような補助部門と製造部門をひっくるめて以下で「原価部門」と称して説明する。原価部門は、原価計算の基礎となる単位部門を意味する。
【００１０】
次に、３つの補助部門（ｓ１、ｓ２、ｓ３）と２つの製造部門（ａ１、ａ２）から構成された会社の場合を例として説明する。実際企業の場合には、数十個〜数百個の原価部門から構成されることが一般的である。
このような原価部門間の原価の配賦基準を、配賦基準入力モジュール１００を介して入力される（（ａ）段階；Ｓ１００）。配賦基準入力モジュール１００としてはコンピュータの入力装置が使用できる。
【００１１】
本実施例の配賦基準を式で表すと、次のとおりである。
s1=         0.4×s2＋0.2×s3＋0.2×a1＋0.2×a2
s2=0.1×s1         ＋0.3×s3＋0.2×a1＋0.4×a2
s3=0.2×s1＋0.2×s2         ＋0.2×a1＋0.4×a2
a1=                           1.0×a1
a2=                                    1.0×a2
【００１２】
上記の式を参照すると、ｓ１部署のサービスのうち、４０％はｓ２部署に、２０％はｓ３部署に、２０％はａ１部署に、２０％はａ２部署にそれぞれ提供されることが分かる。
このように（ａ）段階で入力された配賦基準を用いて、各原価部門間の配賦関係を下記数式（１）で表すことが可能な配賦行列を構成する（（ｂ）段階；Ｓ２００）。
配賦基準入力モジュール１００から配賦基準の伝達を受けた配賦行列構成モジュール２００では、配賦行列を構成する。
【００１３】
【数１】
0006049911.tif 000002
上記の数式（１）において、原価部門のベクトル行列ｘは、本実施例の場合には次のとおり構成される。
【００１４】
【数２】
0006049911.tif 000003
【００１５】
（ａ）段階で入力された配賦基準に基づく配賦行列は、本実施例の場合には次のとおりである。
【００１６】
【数３】
0006049911.tif 000004
【００１７】
このような配賦行列は、配賦行列構成モジュール２００において構成される。
配賦行列によって、ｋ段階の各部署の資源は、数式（１）によって配賦行列に乗じられると、ｋ＋１段階の各部門の資源として配賦される。相互配賦の特性上、部署間で互いにサービスをやり取りすることが発生するので、数回の配賦過程を繰返し行っても、補助部門の原価がすべて製造部門に配賦されずに他の補助部門に残っているか或いは他の補助部門から原価金額の配賦を受けることになる。
【００１８】
まず、数式（１）を用いて従来の方法で相互配賦原価を計算する方法を説明する。
例えば、補助部門ｓ１、ｓ２、ｓ３の発生費用をそれぞれ＄２００，０００、＄３００，０００、＄４００，０００とし、この金額を初期値ｘ［０］として、数式（１）によって、１番目の配賦段階に配賦された金額を計算すると、次のとおりである。
【００１９】
【数４】
0006049911.tif 000005
【００２０】
補助部門の原価がすべて製造部門に配賦されるまで上記の計算を繰返し行うと、２３番目の配賦段階で次のような値を得ることができる。補助部分の原価が０．０１より小さい値を持つまで配賦計算を繰り返し行った結果、配賦計算を２３回行うことになった。
【００２１】
【数５】
0006049911.tif 000006
【００２２】
上記の計算結果より、ａ１製造部門に配賦された原価は＄３２５，９６１．５４であり、ａ２製造部門に配賦された原価は＄５７４，０３８．４６であることが分かる。従来は、このように補助部門の原価がすべて配賦されるまで（補助部門の原価が０に収束するまで） 配賦式の計算を多数回繰り返し行った。原価部門の個数が増えるほど、配賦式の計算回数は幾何級数的に増加する。これにより、高性能のコンピュータを必要とし、計算時間も非常に多く必要とする。このような計算に４〜５時間以上かかる場合もよくある。
【００２３】
次に、上述したような従来の相互配賦計算方法に比べて非常に効率的な本発明に係る相互配賦計算方法を説明する。
先立って例として挙げた配賦基準を参照して配賦行列の構造を考察すると、配賦行列は、各列の成分の和が１となる確率ベクトルで構成された正方行列の形態であることが分かる。相互配賦の計算は、確率の計算とは関係ないが、相互配賦の特性上、これを配賦行列で表現すると、結果的に状態遷移行列と同じ形態を持つ。数式（１）は、結果的に、変数相互間の変化の推移を確率で表現した状態式（ｓｔａｔｅ ｅｑｕａｔｉｏｎ）の形態になる。
【００２４】
このような行列Ａは、状態遷移行列の再帰的性質により累乗を繰り返し行うと収束する性質がある。状態遷移行列の再帰的性質は、確率に関連する分野では既に知られている概念であるが、相互配賦に関連してこのような概念を適用した事例は全くなかった。相互配賦方式で原価を計算する機能のある数多くのプログラムも、過去数十年間にわたって状態遷移行列の概念を利用した場合は全くなかった。すなわち、相互配賦による原価計算の技術分野で相互配賦原価を効果的に計算することは、長期間解決していない課題であった。
【００２５】
本発明は、このような状態遷移行列の性質を利用して、従来の方法とは異なる方法で相互配賦原価を計算する。すなわち、前述した従来の方法のように補助部門の原価が０に収束するまでに配賦過程を繰り返す計算を行うのではなく、補助部門間の配賦関係を表現する全成分が０に収束するまでに配賦行列の累乗を繰り返す段階を行う（（ｃ）段階；Ｓ３００）。すなわち、Ａ２を計算し、その値を用いてＡ４を計算し、これを用いてさらにＡ８を計算する過程を行う。配賦行列が収束するまで累乗を繰り返すと、補助部門間の配賦関係を表現する全成分は０に収束し、製造部門に対する配賦関係を表現する成分のみ残ることになる。
【００２６】
配賦行列の成分は、確率ベクトルの成分であるから、絶対値が１以下である。従来の相互配賦計算方式を用いる場合と比較すると、配賦行列の累乗を繰り返す場合、計算量も少なく、簡単で、さらに速く収束することになる。
配賦行列の累乗を計算する段階は配賦行列演算モジュール３００で行われる。配賦行列演算モジュール３００は、コンピュータの中央処理装置（ＣＰＵ）を用いて配賦行列の累乗を計算する。
【００２７】
補助部門間の配賦関係を表現する配賦行列の成分が０に収束したか否かを判断するための基準を設定するために、収束基準を使用する。収束基準入力モジュール５００を介してユーザから収束基準の入力を受ける（（ｅ）段階）。このとき、実質的に０と見られる収束基準の入力をコンピュータのキーボードなどの入力装置を介してユーザから受けるか、或いは予め定められた収束基準を記憶装置から読み取られる。
【００２８】
本実施例では、収束基準を０．００００１に設定して、０．００００１より小さい値は０に収束したと判断する。収束基準は状況に応じて多様に変更できる。
収束判断モジュール６００で、補助部門間の配賦関係を表現する全成分が収束基準よりも小さい値を持つか否かを判断する（Ｓ４００）。収束判断モジュール６００が収束したと判断するまでに、配賦行列演算モジュール３００は配賦行列の累乗を繰り返して計算する。
配賦行列で補助部門間の相互配賦を意味する成分が０．００００１より小さい値を持つまで累乗を繰り返した結果、５番目の累乗によってＡ３２の値が下記表１のとおりであった。便宜上、Ａ３２の各行と列の値を下記表１の各行と列で記載した。
【００２９】
【表１】
0006049911.tif 000007
【００３０】
他の様々な事例に対して配賦行列を構成して（ｃ）段階を行った結果、ほとんどの場合、７回以内の回数で累乗を繰り返すと、補助部門間の相互配賦を意味する成分が０に収束することを確認することができた。状態遷移行列の性質を利用することにより、相互配賦原価を計算する時間を従来に比べて飛躍的に減らすことができるのである。
【００３１】
次に、（ｃ）段階で収束した配賦行列に、各原価部門の費用を成分とするベクトル行列を乗じて、製造部門にそれぞれ配賦された各原価部門の原価を計算する段階を、配賦原価計算モジュール４００で行う（（ｄ）段階；Ｓ５００）。
各補助部門の原価を、次のベクトル行列の形式で収束した配賦行列（Ａ３２）に乗じる（前述したように、便宜上、行列は下記表２の形式で記載した）。
【００３２】
【表２】
0006049911.tif 000008
【００３３】
計算結果として得られた各製造部門に配賦された額は、下記表３のとおりである。各補助部門の原価が各製造部門に配賦された金額を確認することができる。
【００３４】
【表３】
0006049911.tif 000009
【００３５】
上記表３のａ１行の値とａ２行の値をそれぞれ合算すると、＄３２５，９６１．５４と＄５７４，０３８．４６であって、先立って従来の方法で計算した配賦金額と同じであることを確認することができる。
実際企業の相互配賦原価を計算する場合、配賦行列の行と列の数が数百個以上である場合が多い。たとえば、２００個の行と列からなる配賦行列の場合、４０，０００個の成分を持つ配賦行列に対して累乗計算を繰り返し行わなければならない。通常の場合、４０，０００個の数値を全てコンピュータの記憶装置（ｍｅｍｏｒｙ）に割り当てて計算を行う。このような配賦行列のメモリ割り当てと累乗計算を効果的に行うために、（ｃ）段階を次の順序に従って処理することもできる。
【００３６】
配賦行列の累乗は、下記数式（２）によって計算することができる。
【００３７】
【数６】
0006049911.tif 000010
【００３８】
このような数式（２）の原理を利用するために、次の順序で（ｃ）段階を行う。まず、配賦行列の全成分を配賦行列演算モジュール３００の補助記憶部３１０に保存する。
このような状態で配賦行列のｉ番目の行の全成分を補助記憶部３１０から照会して配賦行列演算モジュール３００（演算手段）の主記憶部３２０（記憶手段）に割り当てる（（ｃ−１)段階）。
【００３９】
その後、配賦行列のｊ番目の列の全成分を補助記憶部３１０から照会して配賦行列演算モジュール３００（演算手段）の主記憶部３２０（記憶手段）に割り当てる（（ｃ−２）段階）。
このような状態で、配賦行列演算モジュール３００の演算部３３０は、数式（２）によって配賦行列の累乗計算のｉ行ｊ列の成分を計算する（（ｃ−３）段階）。コンピュータの中央処理装置（ＣＰＵ）に該当する演算部３３０は、主記憶部３２０に直接接続され、速やかにデータを照会および計算する。
【００４０】
上述した過程を繰り返して各成分ごとに行うと、配賦行列累乗の全成分を順次計算し、それらの値をそれぞれ補助記憶部３１０に保存することができる。配賦行列の全データが補助記憶部３１０に保存された状態で、各成分の計算に必要な配賦行列の行と列の値を補助記憶部３１０が順次主記憶部３２０へ伝達する。演算部３３０は、主記憶部３２０から直接データを照会して配賦行列の累乗成分を計算する。
このような        方法によってコンピュータのメモリを効果的に活用しながら計算速度を向上させることができるという利点がある。
【００４１】
各補助部門と製造部門の部署別原価を相互配賦法によって計算する場合を例として挙げて説明したが、場合に応じては、各部署の活動をそれぞれ独立した原価部門に分離して相互配賦法による原価を計算することも可能である。
この場合には、（ａ）段階で配賦基準の入力を受けるとき、各活動別に配賦基準の入力を受け、（ｂ）段階でも活動基準原価に基づいて配賦行列を構成する。
【図１】
0006049911.tif 000017
【図２】
0006049911.tif 000018