Financial Statements: Modeling and Analytics


Bio Overview Help Prerequisites Materials Assignments Grading Topics

Spring 2019: Finance and Risk Engineering Program at NYU Tandon Engineering School

Fridays: 9 AM to 11:40 AM


Understanding and modeling financial statements is vital to corporate finance, valuation and investments, both fundamental and quant, and is foundational to anyone considering a career in asset management, investment banking or corporate finance. The course teaches two sets of skills: modeling financial statements and financial statement analytics. The first part establishes the framework needed to link financial statements to valuation including identifying key metrics. The second part show how to use modern tools (Python) to extract these metrics from historical financial statement data. These parts are summarized below and described in detail in the course outline below.

Modeling financial statements

1. Revenues and operating expenses

2. Revenue-related accruals and deferrals

3. Operating expense-related accruals and deferrals

4. Productive capacity, capex, and depreciation, and taxes

5. Unlevered free cash flows and financing needs

6. Borrowing capacity, liquidity, debt financing, and interest

7. Equity financing and linking to valuation

Financial statement analytics

8. Working with XBRL (Extensible Business Reporting Language)

9. Analyzing historical sales

10. Analyzing historical expenses

11. Identifying abnormal accruals and divergence of earnings and cash flows
12. Understanding credit rating changes and defaults [We are not going to try the almost impossible task of predicting future stock and bond returns.]

13. Identifying peer companies

14. Identifying LBO and acquisition targets


Knowledge of financial accounting and Python will be a big plus. However, they are not required per se. Students without this background will need to work hard to keep up with the course. I will provide extensive materials on Financial Accounting including prework before the course starts. If you have the aptitude for it, you can pick it up quickly. My undergraduate is in Electronics Engineering. I picked up accounting on my own, so can you. The course will not teach Python per se. Most people can pick it up on their own.


You will be building models using Excel. I am assuming you know basic Excel and can pick up the rest as the course moves along.

Target audience

If you expect to build valuation/credit risk models using financial statement data or write code to manipulate or analyze financial data, you will benefit from this course. This course will teach you how to code in Python to process accounting and financial markets data based on financial analysis and statistical concepts. This course is not suitable for those who want a managerial overview of data analytics techniques without the hands-on coding.

Help and Office



Exams and Grading


Topic 1: Modeling sales and operating expenses other than depreciation

Sales and sales growth

Potential market size

Market share and pricing power

Operating expenses

Cost structure and competitive advantage

Fixed costs versus variable costs

General model of accruals and deferrals

A generalized model of the timing differences between income flows and cash flows

Accruals: When income flows precede cash flows

Deferrals: When income flows follow cash flows

Understanding lead/lag functions as an efficient and powerful way to model accruals/deferrals

Topic 2: Modeling revenue-related accruals and deferrals

Receivables: Accrued revenues or deferred receipts

When revenues precede receipts

Collection period

Long-term receivables and interest earned

Allowance for returns and bad debts

Accruing contra-revenues in anticipation of returns

Accruing bad debt expenses in anticipation of write-offs

Contra-assets: Allowance for returns and bad debts

Advance received or deferred revenues

Deliverables: When revenues follow receipts

Subscription-based models: Receipts drive future revenues

Event-based models: Future expected revenues drive current receipts

Topic 3: Modeling operating expense-related accruals and deferrals

Payables: Accrued expenses or deferred payments

When expenses precede payments

Days payable

Periodic payments and lumpy payments for bonus plans

Long-term accruals and judgments

Prepayments or deferred expenses

When expenses follow payments

Days of prepayments, prepaid rent, insurance, advertising

When future expected expenses drive current payments

Inventories: Future expected cost of goods sold drive current purchases, days of inventory

Distinguishing between costs, expenses, and payments

Topic 4: Modeling productive capacity, capex, and depreciation, taxes

Property, plant, and equipment: Capex leads future depreciation

Long-term prepayments

Future expected sales drive demand for current capacity, which drives capex

Useful lives, salvage values, and depreciation patterns


Taxes payable: Current tax expense or tax bill versus tax paid

Deferred taxes: Total tax expense versus current tax expense

Topic 5: Modeling unlevered free cash flows and financing needs

Unlevered free cash flows

Net operating profit after tax

Growth in net operating assets

Financing needs

Operating working capital

Invested capital

Topic 6: Modeling liquidity, borrowing capacity, debt financing, and interest


Sources of liquidity

Common mistakes in modeling liquidity: Why current ratio, quick ratio, and working capital are often useless measures of liquidity

Metrics of borrowing capacity

Repayment ability and debt/EBITDA multiples

Interest coverage ratio

Debt to value ratio

Topic 7: Modeling equity financing and linking models to valuation

Challenges in forecasting terminal value

Growth beyond the forecast horizon

Challenges in modeling equity linked compensation

Share-based compensation

Topic 8: Working with XBRL (Extensible Business Reporting Language)

Understanding XBRL

What is structured data? What is the XBRL taxonomy? Current financial reporting landscape and the limits of XBRL

Python skills

Language syntax: Dictionaries and Tuples

Interfaces: Understanding application programming interfaces [API]

Interacting with web-based data

Topic 9: Analyzing historical sales

Analytical skills

Understanding growth drivers

Business cycles: Opex versus capex commodities

Seasonal growth: Identifying seasonal patterns

Python skills

Using Pandas for time series analysis

Challenges of time series analysis vis-à-vis cross sectional analysis

Topic 10: Analyzing historical expenses

Analytical skills

Operating leverage, financial leverage, and variances

Using the difference between sales variance and the variance of various earnings measures to infer the extent of fixed costs

Macroeconomic effects: Quantifying systematic business risk; Behavior of sales and earnings in recessions

Python skills

Using numpy: Numpy and scientific computing

Using Statmodels: Using basic statistical functions in Statmodels

Using Sci-Kit Learn: Running regressions with Sci-Kit Learn

Topic 11: Identifying abnormal accruals and deferrals

Accruals and deferrals relating to revenues

Unexplained increase in receivables

Unexplained decrease in deferred revenues

Accruals and deferrals relating to expenses

Unexplained increase in prepayments and deferred expenses

Unexplained decrease in payables and accrued expenses

Understanding the divergence of earnings and cash flows

The “good” and “bad” causes of divergence of earnings and cash flows

Python skills: Regression analysis and outliers

Identifying outliers using Sci-Kit learn

Dimensionality reduction

Reducing the number of independent variables using Sci-Kit learn

Topic 12: Credit ratings and distress

Leading indicators of distress

Understanding the causes of distress

Understanding which financial metrics could be leading indicators of distress

Understanding the determinants of credit ratings

Python skills

Logit regression: Using Sci-Kit Learn for logit regressions

Cluster analysis: Using Sci-Kit Learn for cluster analysis

Topic 13: Identifying peer companies

Analytical tasks

Unsupervised learning and cluster analysis

What is unsupervised learning? SIC codes versus FAMA-FRENCH Classification versus machine learning

Comparing the traditional methods of clustering that are based on intuition with the modern machine learning based methods Making sense of clustering based on machine learning

Python skills

Using Sci-Kit Learn for cluster analysis

Topic 14: Acquisitions and leveraged buyouts

Identifying potential acquisition and LBO targets

Which financial metrics distinguish companies that are the target of acquisitions from those that are not acquired?

Which financial metrics distinguish companies that are the target of LBOs from those that are not taken private?

Relative valuation of targets

What is the typical premium paid for targets?

What are the determinants of premium paid?

Python skills

Using Sci-Kit Learn for logit regressions

Using Sci-Kit Learn for cluster analysis

Using Sci-Kit Learn for regression analysis