Complete Learning Courses

Your Personal Academy

5 comprehensive courses with interactive exercises, visualizations & quizzes โ€” learn at your own pace.

Lesson 1 ยท SQL
What is SQL?
Understand databases, tables, and why SQL is the #1 skill for data work.

SQL stands for Structured Query Language. It is the standard language used to communicate with relational databases. Think of a database as a collection of Excel sheets โ€” each sheet is a table, each column is a field, and each row is a record.

๐Ÿ—„๏ธ
Database
A structured collection of related tables (like a folder)
๐Ÿ“‹
Table
Rows & columns of data โ€” like a spreadsheet
๐Ÿ“
Row / Record
A single entry โ€” one employee, one sale
๐Ÿ“Œ
Column / Field
An attribute โ€” name, age, salary
๐Ÿ”‘
Primary Key
A unique ID for each row (no duplicates)
๐Ÿ”—
Foreign Key
Links one table to another
Real-world use: Every company uses SQL โ€” from querying sales data at Morningstar to finding customer trends at Amazon.

Throughout this course we'll use a simple company database with these tables:

TableColumnsDescription
employeesid, name, dept, salary, hire_date, cityCompany staff
departmentsid, name, budget, manager_idCompany departments
salesid, emp_id, amount, sale_date, productSales records
Quick Check: What does SQL stand for?
Lesson 2 ยท SQL
SELECT & FROM
The bread and butter of SQL โ€” retrieving data from tables.

The SELECT statement retrieves data. FROM tells SQL which table to look in. Together they form the foundation of every query.

SQL
SELECT * FROM employees; -- * means all columns SELECT name, salary FROM employees; -- specific columns SELECT name AS employee_name, -- AS renames the column salary AS monthly_pay FROM employees;
Tip: Always specify columns instead of SELECT * in production โ€” it's faster and clearer.
โšก SQL Playground โ€” employees table
Click โ–ถ Run to see results
Which query selects ONLY the name and city columns from employees?
Lesson 3 ยท SQL
WHERE & Filters
Filter rows using conditions โ€” the most powerful concept in SQL.

The WHERE clause filters rows based on conditions. You can use comparison operators, logical operators, and pattern matching.

SQL
-- Comparison operators SELECT * FROM employees WHERE salary > 50000; SELECT * FROM employees WHERE dept = 'Finance'; SELECT * FROM employees WHERE salary != 30000; -- Logical operators SELECT * FROM employees WHERE dept = 'Finance' AND salary > 60000; SELECT * FROM employees WHERE city = 'Mumbai' OR city = 'Pune'; -- IN, BETWEEN, LIKE SELECT * FROM employees WHERE city IN ('Mumbai', 'Pune', 'Delhi'); SELECT * FROM employees WHERE salary BETWEEN 40000 AND 80000; SELECT * FROM employees WHERE name LIKE 'A%'; -- names starting with A
โšก Try filtering โ€” change the condition!
Click โ–ถ Run to see results
Lesson 4 ยท SQL
ORDER BY & LIMIT
Sort results and control how many rows you return.
SQL
-- Sort by salary highest to lowest SELECT name, salary FROM employees ORDER BY salary DESC; -- Sort alphabetically SELECT name FROM employees ORDER BY name ASC; -- Top 3 earners SELECT name, salary FROM employees ORDER BY salary DESC LIMIT 3;
โšก Find the top 3 earners
Click โ–ถ Run
Lesson 5 ยท SQL
Aggregate Functions
Summarize data โ€” count, sum, average, min, max.
๐Ÿ”ข
COUNT()
Count number of rows
โž•
SUM()
Total of numeric column
๐Ÿ“Š
AVG()
Average / mean value
โฌ‡๏ธ
MIN()
Smallest value
โฌ†๏ธ
MAX()
Largest value
SQL
SELECT COUNT(*) AS total_employees FROM employees; SELECT SUM(salary) AS total_payroll FROM employees; SELECT AVG(salary) AS avg_salary FROM employees; SELECT MIN(salary), MAX(salary) FROM employees;
โšก Explore aggregates
Click โ–ถ Run
Lesson 6 ยท SQL
GROUP BY & HAVING
Group rows to compute summaries per category.

GROUP BY groups rows with the same value so you can aggregate per group. HAVING is like WHERE but for groups (after aggregation).

SQL
-- Average salary by department SELECT dept, AVG(salary) AS avg_sal, COUNT(*) AS headcount FROM employees GROUP BY dept; -- Only departments with avg salary > 55000 SELECT dept, AVG(salary) AS avg_sal FROM employees GROUP BY dept HAVING AVG(salary) > 55000;
โšก Group by department
Click โ–ถ Run
Lesson 7 ยท SQL
JOINs โ€” Combining Tables
Connect multiple tables using common keys.
Visual: Types of JOINs
INNER JOIN
Only matching rows in BOTH tables
A
B
LEFT JOIN
All of A + matching rows from B
RIGHT JOIN
All of B + matching rows from A
FULL OUTER JOIN
All rows from both tables
SQL
SELECT e.name, e.salary, d.name AS department FROM employees e INNER JOIN departments d ON e.dept = d.name; -- LEFT JOIN: keep all employees even if no dept match SELECT e.name, d.name AS dept_name FROM employees e LEFT JOIN departments d ON e.dept = d.name;
โšก JOIN employees with departments
Click โ–ถ Run
Lesson 8 ยท SQL
Subqueries
Queries inside queries โ€” powerful for complex filtering.
SQL
-- Employees earning above average salary SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees); -- Subquery in FROM clause (derived table) SELECT dept, avg_sal FROM ( SELECT dept, AVG(salary) AS avg_sal FROM employees GROUP BY dept ) AS dept_summary WHERE avg_sal > 50000;
โšก Above average salary
Click โ–ถ Run
Lesson 9 ยท SQL
INSERT / UPDATE / DELETE
Modify data โ€” add, change, or remove records.
SQL
-- INSERT: add a new row INSERT INTO employees (name, dept, salary, city) VALUES ('Dattatray', 'Data', 75000, 'Mumbai'); -- UPDATE: change existing data UPDATE employees SET salary = 80000 WHERE name = 'Dattatray'; -- DELETE: remove rows (always use WHERE!) DELETE FROM employees WHERE id = 5;
Warning: Always use WHERE with DELETE and UPDATE. Without it, ALL rows are affected! Always test with SELECT first.
Lesson 10 ยท SQL
Window Functions
Advanced SQL โ€” rank, running totals, and more without collapsing rows.
SQL
-- Rank employees by salary within each department SELECT name, dept, salary, RANK() OVER (PARTITION BY dept ORDER BY salary DESC) AS dept_rank, ROW_NUMBER() OVER (ORDER BY salary DESC) AS overall_rank FROM employees; -- Running total of salary SELECT name, salary, SUM(salary) OVER (ORDER BY salary) AS running_total FROM employees;
โšก Rank employees by salary
Click โ–ถ Run
๐ŸŽ‰ You've completed the SQL course! You now know SELECT, WHERE, JOINs, aggregates, subqueries, and window functions โ€” the full toolkit of a data analyst.
Lesson 1 ยท Python
Welcome to Python
Why Python is the #1 language for data science, finance & automation.
๐Ÿ“Š
Data Analysis
Pandas, NumPy for crunching numbers
๐Ÿค–
Machine Learning
scikit-learn, TensorFlow
๐ŸŒ
Web Scraping
BeautifulSoup, Requests
โš™๏ธ
Automation
Automate Excel, emails, reports
๐Ÿ’ฐ
Finance
yfinance, quantitative analysis
๐Ÿ“ˆ
Visualization
Matplotlib, Seaborn, Plotly
Python
# Your first Python program print("Hello, Dattatray! Let's learn Python ๐Ÿ") # Python is readable like English name = "Dattatray" age = 25 print(f"My name is {name} and I am {age} years old")
๐Ÿ Python Simulator โ€” Edit and run!
Output will appear here...
Lesson 2 ยท Python
Variables & Data Types
How Python stores different kinds of data.
Python
# Integer (whole numbers) age = 28 salary = 75000 # Float (decimal numbers) gpa = 9.90 interest_rate = 0.065 # String (text) name = "Dattatray Dagale" city = 'Mumbai' # Boolean (True/False) is_analyst = True is_retired = False # Check the type print(type(salary)) # print(type(gpa)) # print(type(name)) #
๐Ÿ Try variables
Output will appear here...
Lesson 3 ยท Python
Lists & Dictionaries
Python's most important data structures for storing collections.
Python
# LIST โ€” ordered, changeable collection stocks = ["INFY", "TCS", "WIPRO", "HDFC"] prices = [1450, 3800, 430, 1600] print(stocks[0]) # "INFY" (index starts at 0) print(stocks[-1]) # "HDFC" (last item) print(len(stocks)) # 4 stocks.append("RELIANCE") # DICTIONARY โ€” key:value pairs employee = { "name": "Dattatray", "dept": "Data Analysis", "salary": 75000, "skills": ["SQL", "Python", "Excel"] } print(employee["name"]) # Dattatray print(employee["skills"][0]) # SQL
๐Ÿ Work with lists
Output will appear here...
Lesson 4 ยท Python
Control Flow โ€” if / for / while
Make decisions and repeat actions in your programs.
Python
# IF / ELIF / ELSE salary = 75000 if salary > 100000: print("High income bracket") elif salary > 50000: print("Middle income bracket") else: print("Lower income bracket") # FOR LOOP โ€” iterate over a list stocks = ["INFY", "TCS", "WIPRO"] for stock in stocks: print(f"Analysing: {stock}") # FOR LOOP with range for i in range(1, 6): print(f"Year {i}: โ‚น{1000 * (1.1**i):.0f}") # compound interest!
๐Ÿ Compound Interest Calculator
Output will appear here...
Lesson 5 ยท Python
Functions
Reusable blocks of code โ€” the building blocks of every program.
Python
# Define a function def calculate_tax(income, rate=0.30): """Calculate income tax.""" tax = income * rate return tax # Call the function tax = calculate_tax(75000) print(f"Tax: โ‚น{tax}") # Function with multiple returns def salary_breakdown(gross): tax = gross * 0.30 pf = gross * 0.12 net = gross - tax - pf return net, tax, pf net, tax, pf = salary_breakdown(100000) print(f"Net: โ‚น{net}, Tax: โ‚น{tax}, PF: โ‚น{pf}")
๐Ÿ Build a financial calculator function
Output will appear here...
Lesson 6
File Handling & CSV
Read and write files โ€” essential for data work.
Python
import csv # Read a CSV file with open('sales.csv', 'r') as f: reader = csv.DictReader(f) for row in reader: print(row['product'], row['amount']) # Write to a CSV data = [ {'name': 'Laptop', 'price': 55000}, {'name': 'Phone', 'price': 25000}, ] with open('output.csv', 'w', newline='') as f: writer = csv.DictWriter(f, fieldnames=['name','price']) writer.writeheader() writer.writerows(data)
Lesson 7
Pandas โ€” Data Analysis Library
The most important Python library for data analysts.
Python
import pandas as pd # Create a DataFrame (like a table) df = pd.DataFrame({ 'name': ['Alice','Bob','Carol','Dave'], 'dept': ['Finance','Data','Finance','Data'], 'salary': [60000,75000,68000,72000] }) print(df.head()) # first 5 rows print(df.describe()) # summary stats print(df['salary'].mean()) # average salary # Filter like SQL WHERE finance = df[df['dept'] == 'Finance'] # Group like SQL GROUP BY dept_avg = df.groupby('dept')['salary'].mean()
Pandas โ†” SQL: df[df['salary']>50000] = WHERE salary>50000 | groupby() = GROUP BY | merge() = JOIN
Lesson 8
Real Data Analysis Example
Put it all together โ€” analyse a financial dataset.
Python
import pandas as pd # Simulated stock price analysis data = { 'date': pd.date_range('2024-01-01', periods=12, freq='ME'), 'INFY': [1400,1450,1380,1500,1520,1490,1600,1650,1580,1700,1680,1750], 'TCS': [3600,3750,3700,3900,3850,4000,4100,4050,4200,4300,4250,4400] } df = pd.DataFrame(data) df['INFY_return'] = df['INFY'].pct_change() * 100 print(df[['date','INFY','INFY_return']].tail(5)) print(f"\nINFY annual return: {(df['INFY'].iloc[-1]/df['INFY'].iloc[0]-1)*100:.1f}%")
Python Stock Price Visualization (Simulated)
๐ŸŽ‰ Python Complete! You now know variables, lists, loops, functions, file I/O, and Pandas โ€” you're ready for real data analysis!
Lesson 1 ยท Economics
Demand & Supply
The foundation of all economics โ€” how prices are determined.

Economics at its core is about scarcity and choice. The Law of Demand says: as price rises, quantity demanded falls (and vice versa). The Law of Supply says: as price rises, quantity supplied rises.

๐Ÿ“Š Supply & Demand Curve โ€” Interactive
โ— Demand: P = 100 - 2Q
โ— Supply: P = 10 + 2Q
โŠ• Equilibrium: P=55, Q=22.5
๐Ÿ’ธ
Income
Higher income โ†’ more demand for normal goods
๐Ÿ”„
Substitutes
Price of tea rises โ†’ demand for coffee rises
๐ŸŽฏ
Preferences
Fashion, trends shift demand curves
๐Ÿ”ฎ
Expectations
Expected price rise โ†’ buy more now
If petrol prices rise, what happens to the demand for electric vehicles?
Lesson 2
Elasticity
How sensitive is quantity to price changes?

Price Elasticity of Demand (PED) measures how much quantity demanded changes in response to a price change.

PED = % Change in Quantity Demanded รท % Change in Price
PED ValueTypeExample
|PED| > 1ElasticLuxury goods, holidays
|PED| = 1Unit elasticโ€”
|PED| < 1InelasticSalt, petrol, medicines
PED = 0Perfectly inelasticInsulin, life-saving drugs
Real Example: India's petrol demand is largely inelastic โ€” even if prices rise, people still buy it. This is why governments can collect high excise duty without losing much volume.
Elasticity Comparison
Insulin
0.05
Petrol
0.2
Food
0.5
Clothing
0.9
Holidays
1.8
โ† Inelastic                                  Elastic โ†’
Lesson 3
GDP & Economic Growth
How we measure the size and health of an economy.

GDP (Gross Domestic Product) is the total monetary value of all goods and services produced in a country in a year. It's the most widely used measure of economic output.

GDP = C + I + G + (X - M)
๐Ÿ›๏ธ
C โ€” Consumption
Household spending (largest component ~60%)
๐Ÿ—๏ธ
I โ€” Investment
Business capital spending, construction
๐Ÿ›๏ธ
G โ€” Government
Public spending on services, infrastructure
๐ŸŒ
X-M โ€” Net Exports
Exports minus imports
India GDP Growth Rate (approximate)
In the GDP formula C+I+G+(X-M), what does "M" stand for?
Lesson 4
Inflation
Why prices rise and how it affects you.

Inflation is the general rise in prices over time. It erodes purchasing power. If inflation is 6% and your salary grows 4%, you're effectively earning less.

Real Return = Nominal Return โˆ’ Inflation Rate
๐Ÿ“ˆ
Demand-Pull
"Too much money chasing too few goods" โ€” economy overheating
โš™๏ธ
Cost-Push
Rising production costs (oil, wages) push up prices
๐Ÿ’ต
Built-In
Wage-price spiral โ€” wages rise, costs rise, prices rise
โ‚น100 Purchasing Power Over Time at 6% Inflation
Stagflation: When inflation is high AND growth is slow โ€” the worst of both worlds. India faced this in the early 1990s before the liberalisation reforms.
Lesson 5
Monetary Policy & RBI
How the central bank controls money supply and interest rates.

The Reserve Bank of India (RBI) uses monetary policy to control inflation and support growth. Its main tool is the Repo Rate โ€” the rate at which it lends to commercial banks.

RBI raises Repo Rate
โ†’
Banks borrow at higher cost
โ†’
Loans become expensive
โ†’
Spending falls
โ†’
Inflation cools โœ“
ToolDefinitionCurrent Rate (approx)
Repo RateRBI lends to banks6.50%
Reverse RepoBanks park money with RBI3.35%
CRRCash Reserve Ratio โ€” % deposits kept with RBI4.00%
SLRStatutory Liquidity Ratio โ€” govt securities18.00%
Lesson 6
Fiscal Policy
How government uses spending and taxes to manage the economy.

Fiscal Policy is the use of government spending (G) and taxation (T) to influence the economy. It is decided by the Union Budget each year.

๐Ÿ“ˆ
Expansionary
Increase spending + cut taxes โ†’ stimulate growth (during recession)
๐Ÿ“‰
Contractionary
Cut spending + raise taxes โ†’ cool inflation (during overheating)
๐Ÿ“Š
Fiscal Deficit
Government spending > revenue. India's target: ~5% of GDP
โš–๏ธ
Multiplier Effect
โ‚น1 govt spending can create >โ‚น1 of GDP growth
Budget 2025 Key Insight: India's fiscal deficit was targeted at 4.9% of GDP. Infrastructure spending (capex) was raised to boost the multiplier effect on growth.
Lesson 7
Trade & Globalisation
Why countries trade and how it benefits everyone.

Comparative Advantage (Ricardo) explains trade: each country should specialise in what it produces most efficiently, then trade. Even if one country is better at everything, trade still benefits both.

India's Trade Balance (Approximate, $ Billion)
๐Ÿค
Free Trade
No barriers โ€” max efficiency, lower prices for consumers
๐Ÿ›ก๏ธ
Protectionism
Tariffs, quotas โ€” protect domestic industries
๐ŸŒ
WTO
World Trade Organization โ€” sets global trade rules
๐Ÿ“œ
FTA
Free Trade Agreements between countries (eg. India-UAE CEPA)
๐ŸŽ‰ Economics Complete! You now understand the key forces shaping every economy โ€” demand, inflation, monetary & fiscal policy, and trade.
Lesson 1 ยท Finance
Time Value of Money
The most fundamental concept in all of finance.

โ‚น100 today is worth more than โ‚น100 tomorrow. This is the core principle. Money now can be invested to earn returns. Inflation erodes future money's value.

Future Value = PV ร— (1 + r)โฟ      Present Value = FV รท (1 + r)โฟ
โ‚น1,00,000 invested at 12% โ€” How it grows
You invest โ‚น10,000 at 10% for 2 years. What is the future value?
Lesson 2
Interest & Compounding
Why Einstein called compound interest the "eighth wonder of the world."
A = P ร— (1 + r/n)^(nร—t)
Simple vs Compound Interest โ€” โ‚น1 Lakh at 10%
๐Ÿ“…
Rule of 72
72 รท interest rate = years to double money. At 12%: 72รท12 = 6 years!
๐Ÿ“†
Compounding Frequency
Daily > Monthly > Quarterly > Annually
โฐ
Start Early
โ‚น5000/month at 25 vs 35 โ€” the 25-year-old ends up with 3ร— more!
๐Ÿ’ฐ SIP Calculator (Python)
Click Calculate to see your SIP results...
Lesson 3
Risk & Return
The golden rule: higher return always means higher risk.
Risk vs Return โ€” Asset Classes
Savings A/C
3.5%
FD / Bonds
7%
Mutual Funds
12%
Direct Stocks
15-20%
Crypto
Very High
โ† Lower Risk                                                   Higher Risk โ†’
๐Ÿ“‰
Systematic Risk
Market risk โ€” affects all stocks (war, recession). Cannot be diversified away.
๐Ÿข
Unsystematic Risk
Company-specific risk (fraud, bad mgmt). CAN be reduced by diversification.
๐Ÿ“
Beta (ฮฒ)
Measures stock's sensitivity to market. ฮฒ>1 = riskier than market
๐ŸŽฏ
Sharpe Ratio
Return per unit of risk. Higher = better risk-adjusted return
Lesson 4
Stocks & Bonds
The two main financial instruments โ€” understand them deeply.
๐Ÿ“ˆ Stocks (Equity)
  • โœ“ Ownership in a company
  • โœ“ Potential for high returns
  • โœ“ Dividends + capital gains
  • โœ— Higher risk, volatile
  • โœ— Last to be paid if company fails
๐Ÿ“‹ Bonds (Debt)
  • โœ“ Fixed interest (coupon)
  • โœ“ Lower risk than stocks
  • โœ“ First to be paid if company fails
  • โœ— Lower returns
  • โœ— Inflation erodes real return
Stock Price โ‰ˆ EPS ร— P/E Ratio     Bond Price โ†‘ when Interest Rates โ†“
Key insight for data analysts: At Morningstar, you're extracting financial data that helps analysts calculate these valuations. Understanding what P/E, EPS, and yield mean helps you validate and contextualise the data you work with.
Lesson 5
Valuation Basics
How to estimate what a company is really worth.
๐Ÿ“Š
P/E Ratio
Price / Earnings per share. Market pays โ‚นX for โ‚น1 of earnings
๐Ÿ“–
P/B Ratio
Price / Book Value. Compares market price to accounting value
๐Ÿ’ฐ
DCF
Discounted Cash Flow โ€” sum of all future cash flows in today's money
๐Ÿ”„
EV/EBITDA
Enterprise Value vs operating profit โ€” used to compare companies
Intrinsic Value = ฮฃ (Future Cash Flow / (1+r)โฟ)
Rule of thumb: P/E < 15 might be undervalued. P/E > 30 is expensive. But always compare within the same industry!
Lesson 6
Portfolio & Diversification
Don't put all eggs in one basket โ€” the science of spreading risk.
Sample Diversified Portfolio Allocation
๐Ÿ”€
Diversification
Spreading across assets, sectors, and geographies to reduce risk
๐Ÿ“
Correlation
Assets with low/negative correlation together reduce portfolio volatility
๐Ÿ†
Modern Portfolio Theory
Markowitz (1952) โ€” optimal portfolio maximises return for given risk level
๐Ÿ“‰
Asset Allocation
Rule of thumb: 100 - your age = % in stocks (rest in bonds/FD)
Lesson 7
Banking & Credit
How banks work and everything about loans, EMIs, and credit scores.
How banks create money (fractional reserve banking):
You deposit โ‚น100
โ†’
Bank keeps โ‚น4 (CRR)
โ†’
Lends โ‚น96
โ†’
Borrower deposits โ‚น96
โ†’
Cycle repeats!
EMI = [P ร— r ร— (1+r)โฟ] / [(1+r)โฟ - 1]
๐Ÿ’ณ EMI Calculator
Click to calculate EMI...
๐ŸŽ‰ Finance Complete! TVM, compounding, risk-return, stocks, bonds, valuation, and portfolio theory โ€” you now think like a financial professional.
Lesson 1 ยท Financial Statements
The Big Three
Every company tells its story through three financial statements.
๐Ÿ“ˆ
Income Statement
Shows Profit & Loss over a period. "Did we make money?"
โš–๏ธ
Balance Sheet
Snapshot of assets, liabilities & equity. "What do we own & owe?"
๐Ÿ’ฐ
Cash Flow Statement
Actual cash movement. "Where did the cash come from & go?"
How the three statements connect:
Net Income (P&L)
โ†’
Retained Earnings (B/S)
โ†’
Cash position (CFS)
At Morningstar/Lumonic: You extract data from exactly these three statements โ€” Balance Sheet, Income Statement, and Cash Flow. Understanding what each number means is crucial to catch errors and map them correctly.
Lesson 2
Income Statement (P&L)
Measures profitability over a time period (quarter or year).
๐Ÿ“ˆ Income Statement โ€” XYZ Ltd (FY 2024) in โ‚น Crore
Revenue (Net Sales)โ‚น 5,000
(-) Cost of Goods Sold (COGS)(-) 3,000
Gross Profitโ‚น 2,000
(-) Operating Expenses (SG&A)(-) 800
(-) Depreciation & Amortisation(-) 200
EBIT (Operating Profit)โ‚น 1,000
(-) Interest Expense(-) 150
EBT (Profit Before Tax)โ‚น 850
(-) Tax @ 25%(-) 212
Net Profit (PAT)โ‚น 638
๐Ÿ“Š
Gross Margin
Gross Profit / Revenue = 40%. How much is left after making the product.
โš™๏ธ
EBITDA
EBIT + D&A. Used to compare companies across industries (removes financing differences)
๐Ÿ’น
Net Margin
Net Profit / Revenue = 12.76%. Bottom-line profitability.
๐Ÿ“
EPS
Net Profit / Shares Outstanding. Earnings per share for investors.
Lesson 3
Balance Sheet
A snapshot of everything a company owns and owes on a specific date.
Assets = Liabilities + Shareholders' Equity
ASSETS โ€” What We Own
Current Assets
Cash & Equivalentsโ‚น 500
Accounts Receivableโ‚น 800
Inventoryโ‚น 600
Non-Current Assets
Property, Plant & Equipmentโ‚น 2,000
Intangibles / Goodwillโ‚น 400
TOTAL ASSETSโ‚น 4,300
LIABILITIES + EQUITY โ€” How Funded
Current Liabilities
Accounts Payableโ‚น 400
Short-term Debtโ‚น 300
Long-term Liabilities
Long-term Debtโ‚น 1,200
Shareholders' Equity
Share Capitalโ‚น 1,000
Retained Earningsโ‚น 1,400
TOTAL L + Eโ‚น 4,300
Balance Sheet Visual Breakdown
Lesson 4
Cash Flow Statement
The most honest financial statement โ€” cash doesn't lie.

A company can show profit on the income statement but still go bankrupt if it runs out of cash. The CFS shows actual money movement โ€” not accounting profit.

๐Ÿญ Operating Activities
Net Income
(+) Depreciation
(ยฑ) Working Capital changes

Core business cash
๐Ÿ—๏ธ Investing Activities
(-) CAPEX (buying assets)
(+) Asset sales
(ยฑ) Acquisitions

Growth spending
๐Ÿฆ Financing Activities
(+) Debt raised
(-) Debt repaid
(-) Dividends paid

How funded/distributed
Red Flag: If Operating Cash Flow is consistently negative while Net Income is positive โ€” the company may be manipulating profits through accounting. Enron did exactly this!
Free Cash Flow = Operating Cash Flow โˆ’ Capital Expenditure
Cash Flow Waterfall Chart โ€” XYZ Ltd
Lesson 5
Key Financial Ratios
How to analyse and compare companies using ratios.
RatioFormulaWhat it tells you
Gross MarginGross Profit / RevenueProduction efficiency
Net MarginNet Profit / RevenueOverall profitability
ROENet Profit / EquityReturns to shareholders
ROANet Profit / AssetsHow well assets generate profit
ROCEEBIT / Capital EmployedReturn on total capital
RatioFormulaHealthy benchmark
Current RatioCurrent Assets / Current Liabilities> 1.5 (can pay short-term debts)
Quick Ratio(Current Assets - Inventory) / CL> 1.0
Debt-to-EquityTotal Debt / Equity< 2 for most industries
Interest CoverageEBIT / Interest Expense> 3ร— (can service debt)
Ratio Comparison: XYZ vs Industry Average
Lesson 6
Reading a Real Annual Report
How to analyse a real company step-by-step.

When reading an annual report (like those you work with at Morningstar), follow this systematic process:

1
Read the Auditor's Report first
Look for "qualified opinion" or "going concern" warnings โ€” immediate red flags.
2
Check Revenue trend (3โ€“5 years)
Is revenue growing consistently? Is growth accelerating or slowing?
3
Compare Profit vs Cash Flow
Profit growing but cash flow shrinking? Investigate further.
4
Check Debt levels
Rising debt without rising profits is dangerous. Check interest coverage ratio.
5
Calculate Key Ratios
P/E, ROE, Current Ratio, Debt/Equity โ€” compare with industry peers.
๐Ÿ“Š Quick Financial Health Checker (Python)
Click Analyse to see the report...
๐ŸŽ‰ Financial Statements Complete! You can now read a Balance Sheet, Income Statement & Cash Flow Statement โ€” and calculate the ratios that matter. This is exactly what you do at Morningstar!