Overview
This project functions as a supplementary tool to a site which I was using to learn how to value stocks and select companies the way Warren Buffett would. I was following the tutorial videos and using the calculation tools provided by the site http://buffettsbooks.com/. I discovered that their tools were incredibly difficult and time consuming to use. I wanted to create a solution that was much easier to use and comprehend. My goal was to create a tool that could quickly create a comprehensive snapshot of a company that was easy to interpret and access. I decided to create a website that compiled the necessary information from various online sources and used the same formulas provided by Buffetts Books to create a snapshot of the company of interest.
The Problem
Below is an image of the calculator provided by the Buffetts Books site.
The calculator has various issues with it:
The calculator has various issues with it:
- Poorly formatted - confusing layout
- Many instructions required to guide user through steps rather than intuitive fields which don't require instructions
- Requires user to look up values and enter them on their own
- Requires user to calculate values before entering them into the calculator
- Takes about 3 minutes to prepare the necessary information
Another Problem
Next, the Buffetts Books website offers a graphing function which displays a visual representation of the historical values and trends of a few key variables pertaining to a company's valuation.
Although a nice gesture, the grapher has quite a few issues with it:
Although a nice gesture, the grapher has quite a few issues with it:
- It requires users to enter tons of data manually [Figure 1], switching between websites
- The site which it leads you to for the necessary data (Morningstar.com) [Figure 2] can be very difficult to follow for users who don't have much knowledge on the subject - the site is essentially a giant table of numbers and abstract names.
- The graphs produced are tiny and static [Figure 3]
- Takes about 2 minutes to prepare the necessary information
My Approach
I really enjoyed all of the lessons taught by the site, so I wanted to see what I could do to improve the experience of the calculators while still displaying the information in the same manner that the site teaches.
I found that there were a few simple solutions that could greatly improve the pain points expressed above:
I found that there were a few simple solutions that could greatly improve the pain points expressed above:
- Automated information gathering
- Automated calculations
- Interactive Charts
- Visual cues for quick company analysis
|
Automated Information Gathering and Calculations
I solved this problem by researching all of the data required to perform the calculations provided by the Buffetts Books site.
These values included:
Once I had gathered and stored all of the necessary information, I examined the source code of the Buffetts Books site to determine the formulas which they used to calculate the output of their provided calculators. I then implemented these formulas on the website server so that my gathered data could be run through them.
These values included:
- Current stock quote (price, change, company name) - sourced from Yahoo FInance API
- Current federal interest and bond rates - sourced from scraping US Treasury site
- Company financial data and key ratios - sourced from scraping Morningstar exported excel data
Once I had gathered and stored all of the necessary information, I examined the source code of the Buffetts Books site to determine the formulas which they used to calculate the output of their provided calculators. I then implemented these formulas on the website server so that my gathered data could be run through them.
|
Interactive Charts
I used a charting library to display charts of the historical data provided by the Morningstar website. These charts showed both the real data, and a trendline which I added to help show the general trend of the values. Each datapoint is interactive and displays both its value as well as the trendline value on the specified date.
It was very important to me to show large charts with important data, because data and trends are much easier to interpret in visual form.
It was very important to me to show large charts with important data, because data and trends are much easier to interpret in visual form.
|
Visual Cues for Quick Analysis
One of the main points taught by Buffetts Books is that Warren Buffett only considers buying a stock when it meets all of his criteria. The site gives a set of values to compare the calculations to, and from the comparisons one can determine whether the company passes Buffett's criteria. There are a few values one needs to compare, and I wanted to create a quick way to see if the values pass inspection.
I came up with the idea of color-coding the values based on their success or failure. This way, just by a quick glance, the user can see how many of the values passed and how many didn't. Below is an image showing an example dataset and the appropriate colors. It is quickly determined that the company in question is performing well under Buffett's criteria (but not perfectly).
I came up with the idea of color-coding the values based on their success or failure. This way, just by a quick glance, the user can see how many of the values passed and how many didn't. Below is an image showing an example dataset and the appropriate colors. It is quickly determined that the company in question is performing well under Buffett's criteria (but not perfectly).
The Result
After putting the pieces together, I came up with a final, simple design for the site. It has all of the relevant information without any clutter or extraneous details. This site has been very useful for my personal use in quickly looking at companies worth investing in. The site is currently only locally hosted, so I have included an image of the finished site.