R Tutorial: Pro-Forma Income Statements
Want to learn more? Take the full course at https://learn.datacamp.com/courses/financial-analytics-in-r at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
The revenues and expenses from our business model are inputs to key financial line items found on an income statement. An income statement (sometimes called a “profit and loss” or “P-and-L” ) translates revenues and expenses to net income.
This process creates a projected or “pro-forma” income statement for our project. In this lesson, we will discuss the key calculations required.
We previously calculated gross profit. We can get to operating income by subtracting operating expenses from gross profit. For project valuations, we don’t need to consider SGA expenses like administrative salaries. Instead, we will focus on depreciation and amortization.
What is depreciation? Some projects require large capital expenditures, like buying a machine. Depreciation distributes the cost of large, durable assets over their lifetime to match expense with use.
For example, if a company purchases a new delivery truck, it will recognize depreciation during each period that the truck is used to generate revenue. There are many different methods of calculating depreciation and the choice is largely subjective. We will briefly look at one.
Amortization is a similar concept for non-physical assets like patents or research&development.
In straight-line depreciation, the per_period cost equals the net cost divided by the number of periods it will be used.
The net cost is the original book value of the item minus its salvage value. Salvage value is the amount we can sell it for once we finish using it.
As a numerical example, if we buy our truck for $50,000, plan to use it for 10 years, and think it can be sold for $10,000 at the end of that period, we would depreciate it by (50,000-10,000)/10 or $4,000 each year.
Let's do this calculation in R. Here, we use the
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
Related AI Lessons
⚡
⚡
⚡
⚡
Why Smart People Fail: 10 Hard-Won Lessons from Charlie Munger
Medium · AI
GoTyme heats up South Africa’s fintech talent war with employee ownership plan
TechCabal
What “Spend All Your Money” Teaches About Getting Richer by Spending More
Medium · AI
Staff Augmentation vs Freelancers vs In-House: What Actually Works in 2026
Dev.to · Ihor Ostin
🎓
Tutor Explanation
DeepCamp AI