Autogenerating Currency Conversion Formulas In Google Sheets Using GOOGLEFINANCE(CONCATENATE())

I forgot where I heard this, but on some or another podcast it was declared that “Microsoft Excel is the gateway drug to programming.” And I’m coming to believe this more and more.

I’m someone with more than a passing interest in programming who simultaneously lacks any serious proficiency with writing code. Irony of ironies, right? Also, I’m now in this weird liminal space between being really good at manipulating data in a spreadsheet-type environment and seeing the possibility of what I can do with a real programming language while still sorely lacking in the practical know-how to get a lot of things done.

And that’s why I’m still tied to using Excel and Google Sheets for a lot of my data analysis work. Both are fine tools, albeit with their own quirks and limitations. Although Excel is good for the kind of work I do, which typically involves big CSVs that Google Sheets kind of chokes on, I strongly prefer Google Sheets for its more expressive functions and easy connectivity to outside data stores, including Google’s own services.

It’s for this reason that I’m going to be covering the subject of creating abstract, auto-generating formulas in Google Sheets only. Also, I’m like 90% sure one can’t use CONCATENATE() in Excel for the use case I’m presenting here, but I’d love to be proven wrong.

The challenge

Part of my job is to analyze venture capital data, and oftentimes the scope of my analysis expands beyond US borders. Accordingly, I often have to deal multiple currencies, which can be a pain.

So imagine a column containing data for an arbitrarily large number of VC deals priced in an arbitrary number of different international currencies. (For the sake of this example, let’s assume these are all fairly recent deals, so historically accurate currency conversion figures aren’t important.)

Remembering that our dataset can be arbitrarily large, what’s the easiest way to convert those foreign currencies into USD so we can make comparisons on equal terms?

An example dataset

Below, to avoid using proprietary data, I fabricated an array of 20 sample deals using a random number generator and multiplying its output by different scalars depending on the round type. The size of deals do not necessarily correspond to any real-world averages and are here for demonstration purposes only.

Also, I picked 20 rows because it’s small enough to fit in a screenshot. For a sample size of 20 rows, it’s still easy to do all the conversions by hand sorting, but the ideal solution would scale to sheets with hundreds or thousands of rows and a huge combination of currency conversions. This is why we’re going to emphasize abstraction here.

Here’s what we’ve got to work with…

Screenshot 2017-03-23 14.07.14

(Yes, the numbers are hideous. Deal with it.)

Here, we have sample deals from five different countries: the USA, Canada, the UK, France, and Germany. (I intentionally picked two countries that use the same currency for reasons that will become apparent later)

Converting foreign currencies to USD, some methods of varying efficiency

We have several choices for how we want to make the conversions of foreign currencies to USD. Here, I’ll share three ways, with each successive option being more abstract and scalable than the last.

To remind ourselves of what we want to convert our currencies into here, we’ll add a “Target Currency” column and set all values in that column to USD. And we’ll also add a “Conversion Rate” column where we’ll set our conversion ratio. (This column isn’t absolutely necessary, strictly speaking, but it keeps things organized and clear from a visual perspective.)

Screenshot 2017-03-23 14.22.16

Brute force

Let’s say you’re a masochist with a fetish for tedium and frustration. This is the method for you.

Remember, I said “masochist” and not “primitive cave dweller” here, so I’m going to run on the assumption that, being an enlightened user of spreadsheeting tools, you understand how to sort columns.

So we start by sorting the “Base Currency” column to make things at least somewhat easier to deal with… Note how all the base currencies are now grouped.

Screenshot 2017-03-23 15.09.54

Now for the brute force part. We search Google for each conversion pair (“CAD USD,” “EUR USD,” etc.), copy and paste the ratio into our spreadsheet, and manually fill down.

Brute Force Conversion Table Making

For this small sample set, it took me almost exactly a minute to build a conversion column using brute force. But this is only for a small handful of currency pairs. If I was dealing with dozens of pairs, this would have been a much bigger task.

Enter The Joys of GOOGLEFINANCE()

Like I may have mentioned earlier, one of the nice parts about Google Sheets is that it gives users direct access to some of Google’s services directly through a series of bespoke functions.

For example, the GOOGLETRANSLATE() function lets users translate strings in spreadsheets from one language to another using the Google Translate engine. In conjunction with DETECTLANGUAGE(), one can generate some interesting formulas.

But here we’re going to talk about the joys of the GOOGLEFINANCE() function.

There’s standard syntax for pulling current and historical stock market prices:

GOOGLEFINANCE(ticker, [attribute], [start_date], [num_days|end_date], [interval])

So, if I wanted to find the closing price of Apple on March 7, 2014, I’d write the formula like this,

=GOOGLEFINANCE("AAPL","price","3/7/2014")

And Google automatically returns that information and builds a table to display it.

It turns out that the GOOGLEFINANCE() function also lets you find the current conversion rate between two currencies. (Unfortunately, at time of writing, it doesn’t let you find historical conversion rates.)

Here’s that syntax:

=GOOGLEFINANCE("CURRENCY:[BASECURRENCY][TARGETCURRENCY]")

Using the official, three-character currency codes, we’d convert Canadian Dollars to USD using this function:

=GOOGLEFINANCE("CURRENCY:CADUSD")

Now, for our table of VC deals we want to convert into USD, we could hard-code the currencies we want to convert into our formulas by group.

Here are the other hard-coded formulae:

=GOOGLEFINANCE("CURRENCY:EURUSD")
=GOOGLEFINANCE("CURRENCY:GBPUSD")
=GOOGLEFINANCE("CURRENCY:USDUSD")

Google Finance will return the current conversion rate and embed it as a number in the spreadsheet.

Below is a screenshot of our Google Sheet with an escaped version of the formula next to the conversion rate. (Note what’s in the formula bar for the selected USD -> CAD conversion.

Screenshot 2017-03-23 16.57.13

And, once we’ve hardcoded all the formulas, all one would have to do is drag the corner of the cells down to fill in the rest of the table with the appropriate values.

Just like the original “brute force method” this is all well and good if the number of currency pairs is small, there are few rows, and any re-sorting of the rows will be on a whole-sheet basis.

Now, on to the fun part…

Dynamically generating currency conversion formulae using GOOGLEFINANCE(CONCATENATE())

Alright, so we start with the general form of a currency conversion rate query in Google Sheets, the same as what was previously listed.

=GOOGLEFINANCE("CURRENCY:[BASECURRENCY][TARGETCURRENCY]")

Now, let’s look at our table and its columns.

  • Column C: “Base Currency”
  • Column D: “Target Currency”

Hmmm… seems familiar… If only there was a way to join those elements into a formula.

Enter Google Sheets’s CONCATENATE() function, which is similar to its cousin CONCAT(), except for the important fact that it lets you concatenate an arbitrary number of elements.

Importantly, in Google Sheets, the output of the CONCATENATE() function is not simply treated as a string. Its output is usable inside another function.

So, to start, let’s concatenate cells D2 and E2 using the following formula:

=CONCATENATE(D2,E2)

And as we can see, the result is “CADUSD” which is is the required pairing of source and target currencies we need in our formula.

Screenshot 2017-03-23 17.17.35

Now that we’ve proven we can build our one part of our formula using CONCATENATE(), let’s see if we can build the rest of it.

Typing in the following formula produces outputs what we need to give to GOOGLEFINANCE()…

=CONCATENATE("CURRENCY:",D2,E2)

So, now we can bring it all together…

=GOOGLEFINANCE(CONCATENATE("CURRENCY:",D2,E2)

Before showing the nice gif of how it all “just works,” give me one second to explain how one formula will be able to generate a conversion ratio for all of the currencies in our set.

The D2 and E2 cell references are relative, which means that as I drag the equation down the sheet it will still pull from the cells in the two adjacent columns, but will take the value from each row. So that same equation, if applied to, say, row 3, would read from D3 and E3. From row 4, it would pull from D4 and E4, and so on down the sheet.

So, here’s the moment you’ve been waiting for…

At this point, it’s just a matter of multiplying the “Deal Amount” column by the “Conversion Ratio” column to generate the “Converted Amount.”

Screenshot 2017-03-23 17.54.39

And there you have it…

Next Steps

One of the features of this kind of query with GOOGLEFINANCE() is that it dynamically updates as new currency exchange rate data becomes available. This can be viewed as either a bug or a feature, depending on your particular needs.

In the event you don’t want these numbers to change, simply copy the contents of the columns that update dynamically and paste those cells in “as values”. (In Google Sheets, goto Edit -> Paste Special -> Paste Values Only [⌘ + Shift + V].) As this suggests, it just pastes in the alphanumeric values of the cells, and strips out the formula data.

In the event that you still want to edit the formulas, which in variably you will, my suggestion is to duplicate the tab so you have one dynamic, editable version, and the static version you can work off of in later analysis.

That’s All, Folks!

 

This has been a somewhat protracted way of saying that a little bit of abstraction makes for a time-saving and viscerally satisfying (at least from my perspective) data analysis experience.

CONCATENATE() can be used outside or inside other functions in Google Sheets to build flexible, extensible auto-generating formulas in your spreadsheets, and I’m very much looking forward to a exploring how else it can be applied in the work that I do.

This is also my first time offering up one of these tutorials, so if you liked it and want me to make more of these, please let me know! Future topics I want to cover include pivot tables, demonstrating a superior alternative to VLOOKUP() and INDEX(MATCH()), and a couple of others.

One Year Ago, I Graduated From College

One year ago, almost to the date, I finally managed to graduate from UChicago with general honors.

I did “the scenic route” through college, taking a long break after three years to work on a startup, only to come back and finish on relatively short notice.

It was worth it to go back and finish, and I’m happy I took the time off in the middle. Even though taking that time off involved a lot of struggling, and ultimately resulted in failure of the project, I maintain it was the best thing for me to do at the time. I’d do like 95% of it all over again.

In general, the last year has been good. I’ve built a platform for myself through my weekly(-ish) newsletter, and gained credibility by writing for Mattermark and now Crunchbase.

The most rewarding thing, though, has been my continued work with the Python Software Foundation. It’s an incredible organization consisting of phenomenally smart and kind people, and I have the privilege of working with some great people, including one of my oldest friends, in making Startup Row happen.

I’ve also found the thing I want to do with the next couple decades of my life, which is to find and invest in interesting startups. And anything I can do to accelerate myself toward that end will be pursued.

In general, it’s been a pretty good 365-ish days.

I’ve learned a lot in the past year, and I’m still figuring out how I want to articulate it. Stay tuned for more.

Also, as petty as it sounds, it still feels good to stick it to my high school guidance counsellor who thought applying to so-called tier-three schools was “a bit of a reach” for me.

Opportunity in Two Flavors

One night this week I met up with one of my best friends. I don’t get to see him that often, but that’s alright. It’s one of those friendships that picks up right where it left off, even if it’s been weeks or months.

He’s had a lot of opportunities, and so have I. This friend of mine is a bit older than me, and, accordingly, has moved farther on in his career. He’s one of these people with a solid job and, like, three side projects, all of which are doing phenomenally well. If he wasn’t so down to earth, it’d be all too easy to resent the guy’s success.

Somehow, we got to talking about opportunities in the meta sense, and I realized his definition of opportunity and my definition of opportunity are quite different. And, now that I’ve had a cumulative fourteen hours on airplanes without internet this week to reconcile these two differing definitions, I think I’ve been won over by his. Continue reading “Opportunity in Two Flavors”

Snapchat, By Some Numbers

Snap Inc., maker of the Snapchat app and face-mounted camera glasses called Spectacles, filed its S-1 with the SEC this past week, the first major step toward going public.

I thought it’d be interesting to compare Snap Inc. to Facebook, considering that Snap CEO Evan Spiegel’s IPO roadshow message is that his company is “The next Facebook,” according to coverage in the Wall Street Journal.

I spent some time digging through Snap’s S-1 filing and found some interesting tidbits:

  • Snap aims to raise $3 billion in its IPO at a $25 billion valuation, up just slightly from the $20 billion valuation it reached in its $1.8 billion “extended” Series F round closed in May 2016 (and reported on here in the 4th edition of this newsletter)
  • Snapchat currently boasts 158 million daily active users. (For reference: the company reported 110 million DAUs in December 2015.)
  • These DAUs are currently creating 2.5 billion “Snaps” per day.
  • 60% of these users use the chat service every day.
  • DAUs check Snapchat more than 18 times per day.
  • Snapchat users spend an average of 25-30 minutes each day.

I found some comparative figures from this article published in ZDNet in February 2012, on the day Facebook filed its S-1.

  • Facebook had 483 million daily active users during the month of December 2011. (Roughly 3x Snapchat.)
  • In that same month, Facebook users uploaded 250 million photos daily to FB. There were an average of 2.7 billion likes and comments made during the 3-month period ending December 31, 2011. (Roughly 1/10th of the photos uploaded but a comparable number of aggregate interactions to Snapchat at time of IPO filing.)
  • Facebook users spent an aggregate of 9.7 billion minutes per day on the desktop site, which works out to about 12-13 minutes per day for each of FB’s then 845 million monthly active users. This also does not count time spent on the mobile app. (To compare: FB users spent slightly less time than Snapchat users on a per-day basis.)

Oh, and Facebook was also profitable and had comparatively more valuable assets and cash on hand at time of its IPO filing.

One of the metrics I find most interesting is to compare the per-user value of Snapchat compared to other platforms and services. I arrive at these figures by dividing the number of Daily Active Users by the then-current (or desired) valuation of the platform. (I’d prefer to use MAUs, but, tellingly, Snap Inc didn’t disclose MAU statistics in its S-1 filing.)

Per user values (DAU/valuation) are as follows:

  • Snapchat: $25 billion valuation / 158 million DAU = ~$158 per DAU
  • Facebook: $103 billion at IPO / 483 million DAU reported in S-1 = $213.25
  • Twitter: $14.2 billion at $26 IPO price / 100 million DAU = $142
  • Line: $7 billion IPO price on July 14, 2016 / 220 million DAU in 2016 = $31.81
  • WhatsApp: $16 billion at time of acquisition by FB / 324 million DAU (72% of 450 MAU, via Sequoia Capital) = $49.38
  • Instagram: $1 billion acquisition by Facebook in April 2012 / 1.38 million DAU in April 2012 (That’s via data from ComScore, but data from AppData suggested that Instagram had only 860,000 DAU at acquisition) = $724.63 per user at 1.38M DAU

It’s interesting to look at these figures, because it might hint at how Snap values and intends to position itself going forward. Whatever signal can be divined from Snap’s per-user-value figures points toward the company’s intention to aggregate attention and data in the same way as Facebook and Twitter did, rather than provide a simple service like Line and WhatsApp. In other words, the per-user value Snap Inc aims to show its investors is in the same ballpark as other massive social platforms of previous generations.

As a platform, Snapchat is compelling for a number of reasons, including its unique augmented reality components, an innovative user experience design paradigm and, importantly, a strangle hold on users’ attention by way of its ephemeral messaging and video play-back features. Whether Snap Inc is able to capitalize on its strengths and deliver on its potential value as a platform is still uncertain.

However, I remain skeptical that Snap Inc will be the next Facebook. I doubt Snap will attain Facebook’s scale or scope, and I’m not the first to point out that Snap’s current price feels a bit expensive.

We’ll see what happens.

Great Tech Podcasts From Off The Beaten Path

If you’re involved in the tech industry and like to listen to podcasts, chances are you’ve already heard the standard-issue stuff that consistently ranks at the top of iTunes. Shows like Exponent (of which I am particularly fond), the a16z Podcast, Startup from Gimlet Media, and even NPR offerings like How I Built This and the TED Radio Hour are probably old hat.

Starting a couple of months ago, I set out to find podcasts about topics I want to learn more about. The broader goal beyond finding some entertaining content is two-fold: As an auditory learner, listening to experts talk about a subject is the easiest way for me to pick up the jargon of a field, which feels like half the battle. And hearing from domain experts on podcasts is the most effective way to wrap one’s head around both the “state of the art” and the general consensus about where a particular field is going. Continue reading “Great Tech Podcasts From Off The Beaten Path”

2016: My Year In Writing, And Goals For 2017

Since (finally) graduating from college in March and spending much of April on a couch recuperating, I spent the latter three quarters of 2016 doing a lot of writing, both for money (from Mattermark and other clients) and for pleasure (i.e. in my personal blog, in The Missive and my newsletter).

A look back at 2016

screenshot-2017-01-02-13-38-35

Here’s a rundown of some of the statistics:
  • 73 articles and posts in 7 different publications (including my two blogs)
  • 31 editions of my weekly(ish) newsletter, which I launched in May.
  • 113,704 words published publicly… which doesn’t include the embarrassing number of half-done drafts I’ve got stowed away or the words cut by my long-suffering editors.

Continue reading “2016: My Year In Writing, And Goals For 2017”

Answering The Void’s Call

Scattered thoughts on the election and what to do next.

In the wee hours of Wednesday morning, we learned who our new president is going to be. I did not vote for him, and like many I am very concerned by the prospect of his presidency.

Yesterday, I spent most of the day on the couch or in bed, sleeping off the previous night, which consisted of several glasses of wine at a friend’s “election night party” and a very late-night binge of bad news and hot takes.

I went to bed at 4:30 AM on Wednesday. I am not proud of this.

Today, Thursday, I am now well-rested and recovered from the initial shock of the event, and it has been weird. Here’s what’s on my mind.


There is this phrase in French, “L’appel du vide.” It translates to “the call of the void.”

An example: Have you ever taken a walk along a cliff, overlooking the majestic view such a high vantage point gives you, peered over the lip and hear a little voice suggest, “Jump!” You’ll shudder and feel ill-at-ease. You wonder whether this constitutes “suicidal thoughts or actions” and whether you should tell your doctor about it the next time you see them.

The call of the void is a somewhat antique phrase for what psychologists today call “intrusive thoughts.” Think of them as brief lapses of conscious control, a moment when the chain of thought jumps the derailleur.

The key fact about intrusive thoughts is that, like swamp gas, they bubble to the surface, make their odious presence known, and then drift away. You cope with them by letting them pass. By virtue of their sudden appearance and shocking quality, the little voice is easily ignorable.

His election was not an answer to the call of the void. It was not as if almost 60 million Americans took a stroll along the proverbial cliff and heard a little voice suggest, “Trump!”

Instead of answering to a sudden impulse, it’s clear that much of his following was drawn ineluctably into the his campaign and ultimate election, as if by a siren’s song, weeks and months ago. Wave upon wave of red flags were ignored like bumpy reefs on a course of dead reckoning headlong toward shore. Instead of the warm embrace of the siren, though, supporters are attracted by a simplistic image of safety, to a time before, in their eyes, America fell from greatness.

I feel as though there is nothing more I can add to the discourse in these respects. No amount of personal anecdote is going to change the course of history, much less rise above the din.

It seems as though stories about LGBT friends who are now uncertain about their rights, family members with “pre-existing conditions” that might inhibit their access to healthcare in a post-ACA era, people on the south side of Chicago fearing expanded police power, or sisters and female cousins who may lose control over what they do with their bodies will fall on deaf ears.

Khizr Khan and Alicia Machado’s stories didn’t move the needle.

Nor will more recursive analysis of the deep grievances that fueled the president-elect’s rise to power. The generalities about what motivate different segments of our population — white working class, black women, soccer moms, Latinos, etc. — now feel like tired and insufficient stereotypes from a recently bygone era.

No one story will affect anything, really. And, the darker and more cynical side of me is painfully aware that the people in my orbit who can be most negatively affected by a new regime fit snugly into the very stereotypes I am so desperate to avoid contributing to.

So again, I feel as though there’s nothing constructive I can contribute to the discussion of why things played out the way they did, or who might be affected.

What I can contribute to is the discussion of how to go on from here.

Hold their feet to the fire. Even for people like me who treat politics like sports, it can be exhausting to keep up with everything. But now more than ever it’s important to remain informed about what’s going on, so your voice can be heard. Here are some of the basics.

Holding your elected officials accountable means consuming a diverse media diet and breaking out of your personal filter bubble. Actively seek out a range of sources about the issues you care about, and be sure to include those voices that don’t agree with yours lest you become as partisan and narrowly-informed as the people you disagree with.

Vote in every election. I didn’t vote in 2008 or 2012, the first general elections I was eligible for. I am one of those people who believe that your vote doesn’t matter, and in the presidential race that’s pretty much true unless you live in a swing state. But down-ballot races matter, and in those smaller races your vote has more leverage.

And remember The President ≠ The Government. In America, we live at the intersection of federal, state and local governments, as well as special-purpose governments like school boards, water reclamation districts, and the like.

There is no monolithic entity controlling it all, so chances are you can actually pinpoint the few people in that one government office that support that policy you disagree with. They have email addresses, fax numbers and physical mailboxes that have to be checked. The attention paid to your complaint is proportional to the amount of effort you put into it: physical letters are worth a thousand angry tweets.

There are over 500,000 elected officials in the USA, almost one in 400 people. The president is just one person. If you don’t like what they’re doing, then vote them out. But it’s incumbent on you to actually make your voice heard.

Don’t make rash conclusions. Although I haven’t taken a course in journalism, I find myself writing a lot of things for public consumption, and I hold many journalistic best practices dear.

To echo the sentiments of Brooke Gladstone, the host of WYNC’s “On The Media” and a contributor to The Washington Post, when reporting it is extremely important to focus only on what is actually happening, rather than what might or could happen. It’s my belief that that advice is applicable to leading life day-to-day.

The fact of the matter is that, right now, we don’t know what a Trump presidency will look like. I have my serious doubts about his ability to be a good president, but for now I’m not willing to entertain the idea that he’s the second coming of Hitler.

It might be my college-educated, upper-middle class, straight, white, able-bodied, unmarried, childless cis-male privilege talking, but I feel such comparisons are needlessly hyperbolic and that fleeing the country now smacks of a degree of cowardice I don’t feel comfortable calling out in person.

At least for now, the images of sprawling internment camps for “Illegals,” Pence-mandated conversion therapy for gay kids, and other horrors are just as farcical as the “FEMA camps” Alex Jones and his ilk have been blathering about for years now.

The right has been terrified that Obama would send in “jackbooted thugs” to take away our constitutional rights, and nothing happened. Now that the tables have turned, it’s no surprise that the left is entertaining its own dark fantasies about what could be. But until sales of jackboot polish start to rise, it seems like there is much ado about nothing.

Giving into those fears by leaving or giving up is to answer the call of the void.

Finally, as hard as it may be, it’s vitally important to give the other side the benefit of the doubt. I spoke with my mom today and she said something that stuck with me: “Now I feel like how the Republicans must have felt for the past eight years. [By January,] I won’t have a president that reflects my vision for the country.”

This election taught me that there is a huge empathy gap between the right and the left. I really don’t know what makes some Republicans tick, and I’m sure there are things I believe that are unconscionable to those on the other side of the aisle.

As someone who works in the tech sector, which has only exploded in cultural relevance and economic prosperity over the past quarter century, it’s all too easy for me to ignore the plight of those who work in fields that are on the decline.

For example: I catch myself more and more saying that humans will be “abstracted away” from certain types of work, like in some cold algebraic trick, by machines. I maintain that that is still a net positive to society, but it’s a very acute loss to a certain part of the population, and something needs to be done to ameliorate the economic pain they will suffer before it gets worse.

But it goes beyond token concern for those who are facing hard times now or in the future. Learning more about how “the other side” thinks, what they worry about, what motivates them, and what they want from government will help prevent the kind of blind divisiveness that seems to pervade public discourse. And it might help to cure the statistical myopia that caused this election to be such a shock.

Iam trying very hard to follow Obama’s suggestion to give the incoming president a chance, to be “open minded.” I’m doing my best to stay positive, and for all of our sakes I am sincerely hoping to be surprised by President Trump. (It still feels weird to say it.)

Nietzsche has this saying, “if you stare into the abyss, the abyss stares back into you.” The prospect of President Trump may seem scary to a lot of people, myself included, but there’s nothing I can do to change the situation today. There’s another election in two years, and another presidential election two years after that.

Just how much damage can he do in four years?

On second thought… it’s best not to answer that. That’s the void calling.

Update: Well, my post has been up for 4 hours and then this happens. It’s going to be a long four years…


Cross-posted on Medium.

Image credit: Tom Sodoge, via Unsplash. (License: CC0)

How to Compare Venture Returns & The Curious Case of a16z

The Wall Street Journal published an article shining a light on Andreessen Horowitz, the vaunted VC firm that seemingly came out of nowhere in 2009 to become one of the most prestigious venture firms in Silicon Valley. The article indicates that a few of a16z’s funds are not performing as well as their age-matched peers.

Basically, one evaluates venture fund performance by comparing a fund raised in a certain year to the set of other funds raised in that same year. Much like wine enthusiasts, investors in venture funds use the term “vintage” as a way to talk about the relative performance of funds. Continue reading “How to Compare Venture Returns & The Curious Case of a16z”

Dive Into Network Theory: Some Resources for The Curious

Earlier this week I published a piece for Mattermark’s blog that maps and visualizes the network of international mergers and acquisitions of startups and a few other private companies. To accomplished this, I used data from Mattermark recording 2,250 cross-border M&A deals made between January 1, 2015 and the end of August, 2015.

The visualization I made for that piece is one of the coolest I’ve made during my time freelancing for Mattermark. (See featured image above.) An explanation of how to interpret this network visualization can be found in the piece on Mattermark’s blog. But that’s not what this post is for.

One of my editors asked me to share some information about how I created the visualization and more about social network theory and analysis in general. Rather than letting my list of resources lie forgotten in a direct messages channel on Slack, I decided to expand and share it here for other people to benefit from. Continue reading “Dive Into Network Theory: Some Resources for The Curious”