Using the Google Spreadsheets Add-on

Using the Google Spreadsheets Add-on

Our Google Spreadsheets Add-on enables easy access to your favorite data points from finbox.io like fair value targets, public company stock quotes, historical financials, valuation and fundamental ratios and more.

Using a simple function = FNBX( ) you can incorporate our data into your spreadsheets.

Topics covered in this guide:

Installation
  1. Install the free finbox.io Google Sheets Add-on from the Google Webstore.

  2. Create a copy of this FNBX [Demo] template which contains examples using the formula.

  3. In top toolbar on Google Sheets, click the Add-ons menu and then Get Started.

get-started


Activation

If you've installed the finbox.io Google Sheets Add-on, you can use the add-on in any Google spreadsheet by enabling it from the Add-ons menu. (Add-ons > Manage add-ons)

addon-enable


Using the = FNBX( ) function

Once you've installed and enabled the add-on, you can construct a formula by typing = FNBX( ) into any cell. The formula accepts inputs in the order described below.

= FNBX( "ticker" , "metric_slug" , "period" )
Note: Providing a period is optional and will default to latest supported time period.


Ticker

finbox.io supports thousands of companies across all major US exchanges. If you need data for a company we don't currently support, send us a note at support@finbox.io and we'll do our best to accommodate you.

[ Browse Supported Tickers ]

You can also search for a ticker right from the finbox.io sidebar in Google Sheets. (Add-ons > finbox.io > Search Supported Functions)

add-on--ticker-search

Metric Slug

finbox.io aggregates and computes hundreds of metrics for each of the companies we support. Timeseries metrics like stock price may contain up to 10 years of historical data.

You can search for the metric_slug associated with a metric in one of two ways:

1) using the Data Explorer, or
2) using the search utility in Google Sheets. (Add-ons > finbox.io > Search Supported Functions)

add-on--metric-search

Period

To make it easy for our own team to work with this data, we developed a unique key-value query language we call FinQL. To standardize access to timeseries data that may have different reporting intervals, some metrics include a list of supported "periods". Periods allow you to select the reporting interval and calendar range of data you'd like to retrieve.

For example, revenue is reported on a quarterly and annual basis, as determined by a company's fiscal calendar. The last 10 years of annual revenue figures is represented by the periods FY-9 to FY. Similarly, the last 8 quarters of reported quarterly revenue is represented by periods FQ-7 to FQ. The stock_price metric, on the other hand, is reported with daily frequency. So to retrieve the last 30 days of closing prices for a company, you would request data from periods D-30 to D. Providing a period is optional and will default to latest period.

You can search for the metric_slug associated with a metric in one of two ways:

1) using the Data Explorer, or
2) using the search utility in Google Sheets. (Add-ons > finbox.io > Search Supported Functions)

add-on--period-search

The following table summarizes supported period formats:

add-on--periods

Examples
  • Get the latest stock price for Microsoft, ticker MSFT
= FNBX( "MSFT" , "stock_price_latest" )
  • Get the stock price for Bank of America (BAC) on September 15, 2008 (9/15/2008)
= FNBX( "BAC" , "stock_price" , "Y2008.M9.D15" )
  • Get the total revenue for Facebook (FB), for the latest fiscal year
= FNBX( "FB" , "revenue" , "fy" )
  • Get the total revenue for Facebook (FB), for the fiscal year before last
= FNBX( "FB" , "revenue" , "fy-1" )


Pro Tips

Use relative cell references

Instead of typing the ticker and metric_slug inside the formula, put these formula inputs in a separate cell. This will make it easier to debug your formulas.

Using this approach in combination with relative cell references can save you a lot of time. Check the Watchlist section in the FNBX [Demo] spreadsheet for an example.

A2 := AAPL
B2 := name
= FNBX( $A3 , B$2 )
Great
= FNBX( "AAPL" , "name" )
Not As Great



Grab the latest data and recalculate the workbook

To refresh the formulas in a spreadsheet and fetch the latest data points, click the Refresh Data menu option:

add-on--refresh


Known Issues

Adding a row, adding a column, or reopening a Google Sheet will recalculate all formulas

By design, Google Sheets recalculates all formulas every time you reopen a spreadsheet or change the inputs of a function. This can be frustrating if you're building a fairly large model with lots of = FNBX( ) formulas. In these cases, we recommend creating a separate sheet that pulls in all the external data required and linking to the cells on a separate sheet. This is generally a good financial modeling practice to follow.

Sorting a column will recalculate all formulas

Google Sheets (and spreadsheets in general) are not good at sorting columns that have cells with formulas. Before sorting, we recommend duplicating the sheet and unlinking the values.

add-on--unlink


Google Sheets quota on requests

If you have a lot of = FNBX( ) formulas in a sheet, you may run into a Google Sheets quota limit for UrlFetch Requests. This quota limits the number of data points that can be requested in a single day. The limit on a free Google Sheets account is 20,000 requests per day. To increase this limit, Google requires you to sign up for GSuite. Unfortunately, there is no workaround on our end to address this issue.


Sources / Further Reading:

Comments