財務モデルは、すべての企業の財務ツールキットに不可欠な部分です。これらは、特定のビジネスの過去の財務データを詳述し、その将来の財務実績を予測し、そのリスクとリターンのプロファイルを評価するスプレッドシートです。財務モデルは通常、損益計算書、貸借対照表、およびキャッシュフロー計算書の3つの会計計算書を中心に構成されています。ほとんどの企業の経営陣は、少なくとも部分的には、財務モデルの詳細、仮定、および成果に依存しています。これらはすべて、当該企業の戦略的および資本的意思決定プロセスにとって重要です。
この記事は、財務モデルを構築する際に専門家のベストプラクティスに従うことを検討している初心者および中級金融の専門家向けのステップバイステップガイドとして役立ちます。高度な財務モデラーのために、この記事では、時間、出力、およびモデリングの有効性を最適化するための専門家レベルのヒントとハックの選択も紹介します。始めましょう。
複雑なすべてのものと同様に、財務モデル(「モデル」)を構築するための最初のステップは、青写真を注意深くレイアウトすることです。モデリング演習の途中での計画外の予期しない構造変更は、特にモデルのアダプターが作成者と同じでない場合、時間がかかり、混乱を招き、エラーが発生しやすくなります。このような課題は、演習の開始時に少しの献身的な計画時間で簡単に覆されます。計画段階は次のようにすることをお勧めします:
モデルの目的を明確に定義することは、モデルの最適なレイアウト、構造、および最終出力を決定するための鍵です。このプロセスの一環として、構築を開始する前に、モデルの主要な利害関係者が設計図とプロセス設計を承認するように時間をかけてください。これにより、最終的な好みや意図を表明する機会が与えられ、「スコープクリープ」(業界用語)や将来の苦痛なリダイレクトを回避できます。
モデルの最終目標の二次的なものですが、モデルを構築するためのタイムラインとモデルが使用される期間を理解することも、モデリング演習へのアプローチを決定するための重要な入力です。長期間および長期間(耐用年数)のモデルは、通常、ゼロからカスタムビルドされ、膨大な量の操作の詳細、柔軟性、および感度機能を備えています。より迅速で短期間の運用モデルまたは資本プロジェクトモデルの場合、モデラーは多くの場合、プレハブテンプレートを使用して、エラーを最小限に抑えながら建設の速度を最大化します。さらに、モデルテンプレートはより馴染みがあり、組織内のさまざまな利害関係者が使いやすく、操作しやすい傾向があります。
必要な詳細レベル間の最適なトレードオフを決定する場合 およびモデルの再利用性 (つまり、モデルが複数のトランザクションタイプ/目的のために再加工されることを意図しているか、代わりにこの1回限りの演習のために設計されているかどうか)、私が従ったモデルの選択/アプローチを決定するための便利なフレームワーク私のキャリアのほとんどを通して、次のとおりです。
ブループリント/計画フェーズが完了し、重要な決定が確定したので、モデリングの次のフェーズに進むことができます。
この時点で、Excelを開いて、構造化について考え始める準備ができています。可能な限り最高のレベルでは、すべてのモデルを3つのセクションに分割できます/分割する必要があります:(a)入力/ドライバー、(b)計算(予測財務諸表)、および(c)出力。これらのセクションを分離するのが優れているほど、エラーを最小限に抑え、時間どおりに最適化しながら、モデルの監査と修正が容易になります。
私は、作成したほぼすべてのモデルに対して同じ構造的アプローチに従いました。私のそれぞれの利害関係者と私が常に実用的で消化しやすく、最終的には有用であると感じているアプローチ。そのセクションは次のとおりです。
これらの各セクションを一度に1つずつ説明します。次のように:
表紙 あなたの作品との最初の接点です。構築するのが最も簡単ですが、うまくいくと、素晴らしい第一印象を残し、これから何が起こるかを明確に説明します。シンプルで説明的な表紙が一般的に最良のアプローチであり、通常は次のセクションが含まれます。
注:表紙は、作成者の外部で、変更を加える明示的な権限を持たないすべての人に常にロックすることをお勧めします。
モデルのカバーページの直後に、ドライバー(入力)タブが表示される必要があります 。このタブは、金融以外のオペレーターが最も頻繁に操作する可能性が高いタブであるため、このタブが明確で、簡潔で、理解しやすいものであることを確認する必要があります。通常、[入力]タブ内に2つの入力セクションを実装することをお勧めします。1つは静的用です。 動的の入力とその他 。 静的入力 つまり、仮想の「発電所のサイズ」や「企業の開始時の債務残高」など、時間の経過とともに変化しない入力を意味します。および動的入力 、「インフレ」の仮定、「債務のコスト」、「収益の伸び」の仮定など、時間の経過とともに変化する入力(たとえば、月ごと、年ごと)を意味します。
サンプルのドライバーと前提条件タブの例上記の静的の両方の範囲内 対動的 入力セクションでは、データを2種類に明確に分けることをお勧めします。(1)仮定のシナリオに関係なく変化しないハードコードされた数値、および(b)異なる仮定のシナリオと最終的には感度テーブルを駆動する感度パラメーター。ただし、どのパラメーターが感度パラメーターを構成するのか、プロジェクトの最終段階までどのパラメーターを構成するのかを完全に把握することはできないことに注意してください。感度モデリングの詳細については、次の記事を参照してください。
このタブはモデルの中心を表しており、すべての入力、仮定、およびシナリオが連携して、企業の財務実績をその外部の年に予測します。また、このタブから、さまざまな仮定に基づくシナリオが実行され、最終的な戦略的決定の前に実行される演習の評価部分も実行されます。
サンプルモデルタブの例認可されたサードパーティのモデルオペレーターは、シナリオと感度を使用します 事前にプログラムされたシナリオの選択肢を選択するだけの場合でも、かなり頻繁にタブを押します。このため、シナリオを直感的に作成し、実際のシナリオを外部の編集から保護し、十分に多様な感度を作成して、事前にプログラムされた少数のシナリオで、感度テーブル(以下のサンプル)で起こりうる結果の広い視野を得ることができるようにする必要があります。も構築されています。
ご参考までに、私のキャリアを通じて信頼してきたシナリオのフォーマット構造は、ほんの一例として次のとおりです。
出力 タブは、モデルのオペレーターが最も頻繁に使用するタブです。何年にもわたって、中規模から複雑なモデルの場合、少なくとも3つの出力タブに傾倒していることに気づきました。
この時点で、モデルの構築フェーズは正式に完了しています。記事の冒頭で言及した専門家レベルのモデリングのベストプラクティスのいくつかに注意を向けることができます。フォーマットから始めましょう。
まず、各企業/グループが独自の好みや社内慣行を持っている可能性があることに注意することが重要です。そのため、構築中は、それぞれの会社が規定する形式に最初にチェックインし、それを順守することが重要です。ただし、企業固有の慣行がない場合、以下のコンテンツでは、モデルをフォーマットするためのウォール街の普遍的な言語について詳しく説明しています。
財務モデリングの最初で最も簡単なフォーマット方法は、一貫性のある識別可能な配色を使用して、さまざまなタイプのセルとデータを示すことです。次のように:
青=入力、または履歴値、仮定、ドライバーなどのハードコードされたデータ。
黒=同じシートから派生した数式、計算、または参照。
緑=数式、計算、および他のシートへの参照(ただし、一部のモデルはこの手順を完全にスキップし、これらのセルに黒を使用していることに注意してください)。
紫=他のExcelファイルへのリンク、入力、数式、参照、または計算(ここでも、一部のモデルはこの手順を完全にスキップし、これらのセルにも黒を使用することに注意してください)。
赤=修正するエラー。
適切にフォーマットされた(色分けされた)財務サマリーの例上記のユニバーサルカラーコーディング標準に従ってExcelスプレッドシートをカラーコーディングするための自動化機能は組み込まれていないことに注意してください。代わりに、これらの結果を達成するために独自のマクロを設計し、その後、ショートカットの組み合わせを作成して、作業を自動的に色分けすることができます。
最近、同僚(今日は感謝しています)から次のマクロ(詳細な手順を含む)を受け取ったので、数時間の手作業を節約できました。可能であれば、共有したいと思います。
マクロ作成手順(Mac版とPC版の両方のExcel用):
他のワークブックやワークシートへのリンクを見つけるのは難しいので、これを正しく機能させるにはVBAを使用する必要があります。基本的な考え方は次のとおりです。記号「!」の存在を検索します。ブック全体の数式を含む各セルで、フォントの色を緑に変更します。これをVBAエディターで変更し、for each
にする必要があります。 「!」のすべてのインスタンスをループします見つけたら、それぞれのフォントの色を変更します。
一部の数式は他のワークシートのセルに直接リンクせずにセルを参照するため、このショートカットは100%の時間は機能しないことに注意してください。幸いなことに、緑色のセルは黒色または青色のセルよりもまれであるため、上記の方法はほとんどのモデルでかなりうまく機能します(また、他のワークシートへの残りのリンクは、表示されたとき、またはそれらに遭遇したときに手動で有機的にフォーマットできます)。
モデリングするときは、常にこの1つの質問に頭を悩ませることをお勧めします。「このモデルを簡単に監査できるようにしていますか?」実行され、式が作成され、リンクが構築されるすべてのタスクに対して、その仕事を行うためのより高速な「より汚い」(業界用語では)方法が常に存在するためです。そのようなハックやトリックは、その時点で、特に時間間隔の後に巧妙に見えるかもしれませんが、常に忘れられ、追跡が困難なエラーにつながります。第三者のレビュー担当者を念頭に置いておくと、プロセスをガイドし、重要な時点で正しい決定を下すのに役立ちます。
以下は、監査人の考え方で構築する方法に関する一連のベストプラクティスです。次のように:
行ごとに1つの数式のみを使用する必要があります。つまり、任意の行の最初のセルで使用される数式は、行全体に均一に適用される同じ数式である必要があります。ユーザーは、モデルを垂直に下に進むときに、各行の最初のセルを見て、モデルの構造を理解する必要があります。
これは原則として単純ですが、さらに強調するのに十分な頻度で違反されます。一般的な例は、スプレッドシートが「過去の財務」列のグループと「年度外の予測」に分割されている場合によく発生します(上記の「適切にフォーマットされた(色分けされた)財務概要の例」というタイトルの画像を参照してください)。 。
これらのインスタンスに対処する簡単な方法の1つは、フラグ(1/0、TRUE
など)を使用することです。 / FALSE
)スプレッドシートの上部に配置され、IF
を使用して参照されます モデルの本体を介したステートメント。動作中のこれの簡単な図は次のとおりです:
数式に埋め込まれたハードコードされた数値は、ユーザーがモデルに慣れていない場合に見つけるのが非常に難しいため、絶対に使用しないでください。代わりに、入力/ハードコードを数式から明確に強調表示して分離します。さらに良いことに、すべての入力/ハードコードを(必要に応じて)収集し、それらを同じタブに集約します。続いて、必要なセルと適切なタブから、必要に応じて数式をプル/参照します。
複雑な数式は避けたほうがよいでしょう。代わりに、数式を簡単に消化できるステップに分割します。一見きれいに見える1つの行の代わりに、このアプローチでは多くの場合、より多くの行が作成され、スプレッドシートが大きくなります。ただし、サードパーティによる追跡と監査がはるかに簡単なものです。
符号の規約/キーをゼロにするタイミングを決定する必要があります。例として、モデルの設計段階で、「コスト、費用、控除、減価償却、設備投資などは負の数または正の数として表示されますか?」と自問してください。私の個人的な好みは、2つの理由から、常にコストを負の数で表すことです。(a)合計は常に直線の合計になり、ユーザーエラーを最小限に抑えることができます。また、(b)記号だけを使用して間違いを見つけやすくなります。
可能であれば、セルに名前を付けることは避けてください。名前の付いたセルのソース入力(「インフレーション」など)を見つけるのが難しくなります。代わりに、数式内でExcelのグリッド規則に依存することをお勧めします(たとえば、セルC4または場所にリンクするだけです。[Tab Name]l'!G21
、参照が別のタブまたはワークブックにある場合)。
入力をシンプルかつ透過的に整理します。すべての入力をいくつかのドライバータブに統合し、スプレッドシート全体でそれらの特異点からそれらを参照することをお勧めします。
他のファイルへのリンクは避けてください。別のファイルから必要な関連データをハードコードされた入力として入力し、必要に応じて手動で更新することをお勧めします。クロスリンクは、より大きなExcelモデルをクラッシュさせたり、一貫性のない更新を行ったりすることが知られており、それによって追跡が困難なエラーが発生します。
長いスプレッドシート内では、行/列を「非表示」にするのではなく「グループ化」します。
この実践は100%経験に基づいています。複数のタブや、さらに悪いことに、クロスリンクされた複数のスプレッドシートにまたがるよりも、1つの大きな連続したスプレッドシートにまたがるデータの連続配列を追跡および監査する方が簡単です。
チェックは、モデルの整合性をすばやく確認するための最も簡単な方法です。 「チェック」には、タイにする必要のある合計が実際に行われることを確認することから、バランスシートが実際にバランスをとることを確認することまで、すべてが含まれます。私は通常、各スプレッドシートの上部または下部にいくつかのチェックを作成し、それらを個別の「チェックタブ」に統合します。これにより、モデル内のエラーを簡単に見つけて、そのエラーの発生場所を追跡することが容易になります。
貸借対照表「チェック」のサンプルチェックは通常非常に高レベルであるため、モデルの整合性を検証するためにチェックのみに依存することは決して良い考えではないことに注意してください。しかし、それは良い出発点です。
このセクションでは、上級ユーザー向けの非常に効果的なExcelのベストプラクティスをいくつか取り上げます。これらは少し調整が必要な場合がありますが、後で数時間の作業を節約し、実装が比較的簡単になるはずです。それらは次のとおりです。要するに、簡潔で、的を射た箇条書きです。
XNPV
を使用する およびXIRR
custom__日付の適用を可能にするため キャッシュフローへ、リターン分析への途中。これは、ExcelのNPV
とは対照的です。 およびIRR
計算のために等距離の時間間隔を暗黙的に想定する関数。INDEX MATCH
を使用します VLOOKUP
で機能する 大きなスプレッドシート全体で情報を検索するための機能。VLOOKUP
ほとんどの場合、IF
よりも優れています ステートメント;快適になりましょう。IFERROR
を含める習慣を身につける 数式の構文で。EOMONTH
を組み合わせて使用します 、およびIF
日付を動的にするステートメント。好きでも嫌いでも、Excelは、企業の財務、分析、およびデータ主導の意思決定に関して、全知であり、遍在し、全能です。信じられないかもしれませんが、初心者や初心者であっても、威圧的または苦痛である必要はありません。人生のほとんどのことと同じように、練習、一貫性、細部への注意(Excelの場合はショートカット)で、ほとんどの方法でそこにたどり着くことができます。
アプリケーションに慣れると、それが強力な生産性と数値のストーリーテリングツールであることがわかります。これは、個人的な生活の中でも、機能しなくてもまばらに機能することができます。 Excelの流暢さのさまざまな段階を進むにつれ、この記事を頻繁に参照する実用的なガイドとして維持することをお勧めします。