Monthly Archives: October 2016

Next Project

Just finished the most recent project mapping software functions and companies. Ideas for next project include:

  • Find groupings for functions
  • Tie groupings to P&L
  • Create “representative” P&L on the basis of average spend for companies

Knowledge Sharing and Accessibility

Imagine an open plane littered with three-dimensional objects. A user can scroll through various planes derived from a list of various other users (on that server). Each user’s knowledge base is systematically sorted and stacked such that other users can carefully collate what orders of knowledge each other user has amassed and attained. Imagine this visual:

On the onset of augmented and virtual reality, I foresee an evolution in classroom instruction ranging from secondary to graduate school. It can be possible for us to need abstractions less in favor of digital depictions of concepts and ideas.

Imagine a world where individuals can quantify the strengths and weaknesses associated with intellectual constructions ranging from software programming to legal argumentation or even investment acumen.

Transposing Arrays to Columns

I’m currently working on developing network graphs for companines within the software space. I hope to derive insights across 1. what companies compete in the most (or least) impacted industries and 2. systematically “bucket” companies by function

I’ve recently completed populating my database of companies by function. Now, I need to clean my data and prepare to feed in to a clean csv file. Notes for myself below:

Order of Operations

  • Clean data to preserve relationships between nodes
  • build a reusable turk that transforms arrays in to a single column


  • each row begins with a parent node
  • each row ends with a count of the number of children nodes in a row
  • a = parent (begin)
  • b = number of children in row (end)
  • a2 = b1 + 1
  • results in unique value for each node in system (>400 children)
  • next sheet harbors x…x+n
  • [ next puzzle: toggle between rows ]
  • run index match on b1 through bn (child counter column)
  • matched value is equivalent to row number
  • if match results in error, select last row letter
  • drive indirect to call value
  • [next puzzle: toggling columns]
  • Next column:   Count up number of occurrences of each row number
  • recycle count when last row is not equal to current row

Grounding Software Multiples

Software companies are generally valued for their high growth while profitability measures are often overlooked. Twilio, a recent software IPO, is currently trading at 17x it’s next twelve months estimated revenue. In an effort to “ground” software valuations, I backsolved fundamental indicators which enable us to observe a company’s fall from the sky towards a valuation closer rooted to traditional fundamentals.

The model works as follows:

  • Share price x basic shares outstanding
  • Adjust for capital structure (add cash, subtract debt) to arrive at enterprise value
  • Input a required rate of return (we’ll use 15%, for our example)

[iframe src= “” width=”100%” height=”400″]

Here, we observe Twilio’s financial profile. We analyze its current growth rate, and its current cost structure. There are two possible drivers of returns:

  • High growth, low margins
  • Low growth, higher margins

As we see here, companies with a higher rate of growth typically have lower margins
[iframe src= “” width=”100%” height=”420″]

Furthermore, our analysis reveals that at below $1.0bn in annual revenue, growth is typically expected in the range of 15 – 20%
[iframe src= “” width=”100%” height=”420″]

At this point, we can start rationalizing our target’s growth rate: for how long can it sustain its current growth? Once we determine this, we can observe how aggressively our target is currently investing in growth:
[iframe src= “” width=”100%” height=”420″]

We can further refine our analysis by observing cost structures across all companies within the software universe to ground expectations in where costs can be optimized or whether certain cost structures are sustainable:
[iframe src= “” width=”100%” height=”420″]

Here, we can “sanity check” where we believe growth will come from. The following table sensitizes margin achieved versus implied revenue:

[iframe src= “” width=”100%” height=”420″]




Non-Conventional Data Manipulation

Today, I transformed CSV data to JSON by cobbling together JSON syntax in excel. Although unconventional, a few thoughts on “automating” this process in the future:

  • GUI / Input: Excel
  • Concatenate data in Excel
  • Export: VBA script that writes column data to “data.json”
  • Point to JSON file within HTML file

AAP Cost Structure

[iframe src=”” width=”100%” height=”550″]

Follow Up

  • How AAP makes money
  • Components of COGS (Sankey)
  • Components of SGA (Sankey)