Hands up if you’ve tried to use Pivot Tables in Excel, and given up?
Me too! Which is why Russell Standish and I have developed “Ravel“: a visual way to manipulate “multi-dimensional data”. On my birthday this year—March 28th—we’re giving Ravel to our supporters on Patreon, as a “Hobbit” birthday present.
If you don’t know the reference, in Tolkien’s classics The Hobbit and The Lord of the Rings, the Hobbit having a birthday gave presents to all the other Hobbits at his or her birthday party. To be a Hobbit guest at my 68th birthday party, please sign up to either https://www.patreon.com/ProfSteveKeen or http://patreon.com/hpcoder/.
This post is a quick explanation of what Ravel does, and how to use it.
Figure 1 shows a Ravel. This one has four Axes, or dimensions—Country, Sector, Unit, and Quarter. A Ravel can have as few as one Axis, and as many as you like.
Figure 1: A Ravel of the BIS database, with its data input parameter attached to its input port
This particular Ravel contains the Bank of International Settlements (BIS) database on debt. It has data on 43 countries, over 300 quarters (from the early 1940s until September 2020), with three sectors (Government, Households and Non-Financial Corporations), and three ways of showing the data (in domestic currencies, percent of GDP, and US dollars).
Figure 2 shows Ravel‘s user interface.
Figure 2: Ravel’s user interface
It’s Minsky‘s user interface, augmented by the Ravel itself (the second-last icon on the toolbar). You display and analyze the data in a Ravel by attaching its output port—the circle on the right-hand side of the Ravel, visible in Figure 1—to sheets, plots, and mathematical operators on the canvas.
It takes some work to get data like the BIS’s file into a Ravel (as I will explain in another post this week) but once you’ve done it, manipulating a Ravel is a breeze—far easier than manipulating a spreadsheet, let alone a Pivot Table.
For example, let’s say that you wanted to graph the USA’s household and corporate debt levels, as a percentage of the USA’s GDP, over time. Doing that with Excel involves selecting the USA’s data from the BIS’s CSV file (attached to this post), which starts in column AT on row 1072 (see Figure 3), aligning it with the quarterly date data on row 1, and … the remainder is left as an exercise for the reader (try defining a data table , sorting it by sector and filtering by country, selecting the USA, and …; you’ll get there, eventually).
Figure 3: USA sectoral debt to GDP ratios in Excel
Doing the same thing in Ravel involves moving the selector dot on the Country Axis to “USA”, and on the Unit Axis to “Percentage of GDP”, and then attaching a plot:
Figure 4: Selecting the USA and Percent of GDP on the Ravel in Figure 1 and attaching a plot
What if you want to look at total private sector debt to GDP ratios over time for a number of countries—say, the USA, Australia, China and Japan? Easy: select those countries from the Country axis, and sum the Sector axis by collapsing it—see Figure 5.
Figure 5: Total Private Debt by Country over time
How about comparing their debt levels over time, quarter by quarter? Simple: rotate the Country axis so that it faces right, change the graph type from Line to Bar (our Bar charts are very ugly in this “alpha” release, but they’ll get better), and choose a quarter on the Quarter axis. This is best done in Ravel itself, where you can “animate” the display by moving the Quarter selector dot forward using your keyboard’s arrow keys. Figure 6 apes this, using 4 different points in time selected by intermediate Ravels (in the final release version, they won’t be needed, since Ravel axes will be built into the plots).
Figure 6: Debt levels by country at four different points in time
Because Ravel sits on top of Minsky, it inherits Minsky‘s graphical way of writing equations—which are far easier to write, and audit, than are formulas in spreadsheet programs like Excel.
For example, the BIS database has data on debt levels in domestic currencies, and as percentages of GDP. But there’s no data on GDP in domestic currencies. I need that to be able to calculate the annual change in debt (which I call “credit”, following accounting conventions—see the New York State Society of CPAs
Accounting Terminology Guide) as a percentage of GDP. Contrary to mainstream economists like Paul Krugman and Ben Bernanke, I argue that this is a critical factor in macroeconomics, and the factor which caused the 2007 Global Financial Crisis.
It’s easy to derive GDP in Domestic Currencies from the BIS database in Ravel, since the database contains information on Debt in domestic currencies, and Debt as a percent of GDP. Simply divide the data for debt in domestic currencies by the Debt to GDP ratio for each country, and multiply by 100, and you have GDP in domestic currency for every country, for every quarter in the BIS database. Figure 7 shows this operation in Ravel:
Figure 7: Deriving GDP in domestic currency units for every country in the BIS database
Ravel documents this in an easy-to-read equation as well:
That’s one formula to work out GDP in domestic currencies for 43 countries over 300 quarters. The same operation in Excel would require writing one equation in obscure Cell-Reference format (say “E6=(C6/D6)*100”), and then replicating it across 43 times 300 other cells: over 12,000 formulas to do what Ravel does with one formula.
Now let’s make use of this data. With Debt and GDP in domestic currency, for all of the 43 countries in the BIS database, I can derive credit—the annual change in private debt—using a difference operator. That’s one of many mathematical operators stored on Ravel‘s toolbar. This one is a sub-entry on the “reductions” icon, which I’ve detached in Figure 8, to make it easier to see. I then divide credit by GDP in national currency, and produce the two graphs you can see in Figure 8.
Figure 8: Deriving credit, and credit as a percentage of GDP for the USA
Again, just one formula does this for every country in the BIS database:
To see Spain’s credit and private debt situation, all I need to do is move the slider button on the Country Axis to Spain. That generates Figure 9.
Figure 9: Exactly the same Ravel as Figure 8, now set to show Spain rather than the USA
What if I want to see the credit contribution of households and corporations separately? Then just expand the Sector axis again to its full extent. Figure 10 shows a common theme of the Global Financial Crisis, that while household debt drove the initial bubble, corporate debt was far more volatile, and drove the depth of the downturn when the bubble burst.
Figure 10: Spain’s credit and debt levels for households and corporations
This is the essence of Ravel‘s power, which can be applied to any data set—not just the economic data I’ve used here but corporate data, education data, you name it.
Caveat Emptor
Ravel is still at a very early stage of development—which is why we’re giving it away rather than charging for it. Well, technically you need to sign up for at least one month for at least $1 a month to get it, but that’s all you need pay to get the current version of the software (we’ll continue releasing new versions to our subscribers over time, before a commercial release hopefully in early 2022).
Software that’s almost ready for release is known as “beta software”. Ravel is closer to the “alpha” stage right now: it works, but there are lots of bugs; many useful features haven’t been added yet; the user interface has some very kludgy aspects to it; and our graphs are pretty ordinary (especially our bar charts). So, it’s still a very rough cut of what we hope to release next year. But even so, it is way easier to use Ravel than to use Pivot Tables. Anyone who’s been put off by Excel’s Pivot Tables will, I think, be more than willing to forgive Ravel‘s rough edges at present.
You can try Ravel for yourself next week, if you become a patron of either myself at https://www.patreon.com/ProfSteveKeen, or Minsky at https://www.patreon.com/hpcoder/.