Concept Storming in practice

How to discover concepts to build a business driven data platform.

In the previous article, concept storming to provide data platform value, I have outlined why I think it is important to understand business concepts in the context of building a data platform, and I proposed the general idea of a workshop based methodology that I called “Concept Storming”.

In this article I am trying to provide a bit more operational ideas on what are the business concepts we need to discover and how a Concept Storming workshop can be carried over to collect and organise these concepts to build the foundation of a data platform.

Mind this is “work in progress”, not a tried and tested recipe to follow, so I am sharing it with the hope to inspire you to try it out, even with your own variations, and provide suggestions and feedback to improve the overall idea.

Concepts for your data platform

What is a concept?

A concept is an abstract idea, like “customer” or “document”; it is the common idea behind the real customers or documents.

A concept generalises the common “features” of a set of real objects.
We concentrate on the features we know about / are interested in.

When we try to organise concepts it is important to consider that they can often be organised in a hierarchy; just think about “document”, “invoice”, “order”, “shipping bill” or “party”, “customer”, “prospect”, “user”…

What concepts does the business needs?

A business centric data platform needs to describe the concepts that have (enough) meaning for the business, i.e. the ones that business users want to “reason” about.
Reason here can be expanded into report, explore, analyse, build an app upon and so on depending on the intended use of the platform.

The main goal is to identify what concepts are important to business reasoning, so that we will integrate our source data and transform it into information expressed through those identified important concepts.
Business concepts can be seen as the desired output of a data platform.

Just because a concept exists in your domain and it is important for operations or other practical reasons, it does not mean that it is an important “business” concept.

Take “invoice” as an example. It is definitely a ubiquitous and important concept for the operation of almost any business. It is also found in almost all source systems and it provides a trove of important information, but it might be that the business does not really care about invoices, they care about “sales”, possibly “orders” and maybe “deliveries”.

What is important is also different by company and by the scope of your platform; the scope might also evolve, becoming more detailed in subsequent iterations. The good thing is that higher level, more important concepts are here to stay.

How can you figure what concepts are important?
Talking with the business people and asking simple questions like “are you interested in counting invoices per month?”, “are you interested in knowing how many invoices you sent to a customer?” or “are you interested in the average invoice line value?”.
The answers will tell you if “invoice” should be an output of your data platform or remain just one, possibly very important, input.

Concept Storming: uncovering relevant business concepts

Now that we know what we are looking for let’s explore one way to uncover the Business Concepts of interests for a domain, using Concept Storming.

One important key is to be clear about the domain to look at. You can look at all of a company, to a specific department or get started with a reporting area.

The setup: people and time

You should assemble the people for your Concept Storming workshop according to the domain you want to uncover.

The ideal is to have different kinds of future beneficiaries of your data platform, the ones that will use it directly and those who will receive the work derived out of it, plus a few power users or IT representatives.

Regarding the number of people I tend to prefer smaller groups: more or less two to four business users, one power user and/or one IT user, and one facilitator. With these numbers everybody gets well engaged and has a very good chance to express his ideas.
It is possible to scale up the format by splitting a bigger group in a few smaller ones and then aggregating the results of the individual groups for each phase, providing a more diverse input and a second level of discussion.

Regarding the time I would suggest about half an hour every two people in the room for each phase that you want to cover during the workshop.

The phases

I tend to divide the possible activities in the following four phases.
After you go through the first one and you have your list of concepts and relations it is up to you to decide which one to perform and in which order.

  1. Identifying and clarifying concepts and relations
    This is the core activity to be carried over in a workshop style.
    It provides the basic result and the material to discuss in subsequent phases.
  2. Organising the concepts
    Unless the domain is really small or simple you probably end up with very many concepts and your project would benefit by having them grouped by a few main business patterns and then organised in a hierarchy.
  3. Discovering the details of concepts and relations
    Once we have identified the concepts it is of paramount importance to agree on how business users establish the identity of individual instances of a concept (business key) and to double check relations by verifying how they put one concepts in relation with another (foreign keys).
    It is also a good time to capture the important attributes of the concepts, i.e. the ones that business users are most interested into. And clarify what they mean.
  4. Test and refine our discoveries
    Now that you have used one domain / use case to discover, flesh out and organise the business concepts you might want to test if they describe well the business by throwing at them some current pain points and few key business processes.

1 – Identifying and clarifying concepts and relations

Start by stating clearly what is the scope that you want to tackle during this workshop, define what a business concept is (see above), but overall be clear with business users that this is the time to spell out what they think to be important for them to find in the data platform.

This is the creative phase of the workshop. Everybody should be energised and willing to propose ideas, as there are no bad ideas, and it is better to err on the side to have too much input.

Be sure that each participant has plenty of adhesive notes and markers and give them some five to ten minutes to start writing down each concept they can think of on a separate adhesive note. In the meantime, if you do not have a big whiteboard, prepare a huge piece of paper hanging on one wall.

You can also suggest participants that they can take notes of important relations they come thinking between these concepts. Whatever helps them to capture these relations works; “A customer places an order for a product through a salesman” or “an order has a customer, product, salesman and destination” are both fine.

After this individual warm up to the domain, it is time to start with the group work. To encourage feedback by all, you can start by asking the participant with less adhesive notes to come to the whiteboard and place one concept at a time, briefly explain it and its relations with the other concepts already on the board. Ask him to draw a line between two concepts, when he talks about a relation.

If the concepts and relation are not straightforward for all, it might be a good idea to capture at least the relation name and a collectively agreed upon definition of the concept. You can also add remarks and clarifications on the adhesive notes.

Go through the participants so that all identified concepts are on the whiteboard and you probably have a mess of lines going through them.

One important task of the moderator during this phase is to try to help the audience to distinguish between concepts and relations versus attributes and measures. As an example “discount” or “promo” can be valid concepts if the domain is marketing, as you probably give “a name” to a promo / discount and you want to report about its use, but most probably they are attributes / measures in other domains where you just care about the difference between full price and price actually paid. Only your business user can tell you what is their situation. That is why you have them there.

Once you have gone through all the identified concepts with their relations and you have clarified their definitions, it is the time to put together the effort from different groups, if you started with a bigger group and you split it up.

The final outcome of this first phase is a set of agreed upon concepts that are important to the business and the relations between them. Probably you have also discovered a few important attributes the business people care about.

Depending on your goals and the team composition the next step could be to reorder the concepts in a hierarchy or to dig deeper to define their identities.

2- Organising the concepts

The first phase will probably leave you with a mess of notes and lines on the wall, this is fine.
If the domain is wide enough and / or the mess is big enough it might be worth spending some time re-organising the findings.

One possible way to reduce the complexity is through the use of business patterns, like Resource/Asset or Party/Role or Document or Event, to group the many concepts into more homogeneous groups and possibly in a hierarchy, like Document > Contract > Sale contract VS Rent contract.

You can use a palette of business patterns, like the one used by John Giles in “The elephant in the fridge”, or any set of business patterns that make sense for your business and go through the following steps:

  • assign a super-type to all concepts you have
  • go through the set of patterns and use them to double check that you have not forgot anything important; e.g. do we have “Events” we want to report about?
  • reorder each concept under its super-type and if it makes sense build a hierarchy inside each pattern
  • most relations should be fulfilled once at a higher level for many concepts, while a few ones might make sense only between lower level concepts.

At the end you should have a more orderly layout that is easier to understand and offered you the opportunity to aggregate concepts and discover if there are multiple levels of abstraction.

3 –Discovering the details

Once you have a good set of concepts it is time to fill in some details that are important to manage them in a data platform.
Essentially we are talking of identification of concepts, connection between concepts and important information the business cares to know about each concept.

Let’s go through them:

  • identify each concept’s Business Key (BK), i.e. how business users identify, find, communicate each other the identity of a specific instance of the concept.
    E.g. what does a sale writes to admin to uniquely identify a customer? what is requested in forms to identify a customer? what is shown in report when showing a list of customers?
    You might find more than one for a concept. While that is a bit of a pain it is better to know that there is a split world, so you can decide how to handle it.
  • identify how in each relation is built the connection to the concepts that participate in the relation. Where are and what are the Foreign Keys (FK)?
    E.g. How is a sale represented? How the sale connects to the products, to the customer and to the salesman?
  • identify what are the important informations (attributes) that business people wants to know about a specific concept. And what is the meaning of them.
    This is definitely a task that could easily degenerate and go into too much detail.
    At this moment the focus should be only on the few attributes that are really essential and are not trivial or because are hard to get or are not immediately though of. A customer’s name or address is obvious, but its credit score might not be so much

4 – Test and refine

Once you have a clear(er) picture of the concepts, their relations and the important info you might want to have a little check to verify that what you have captured is not just a castle of cards and it is useful in the context of the business.

You can “stress test” your findings against these categories of realities and eventually go back and refine the areas you find not satisfactory:

  • current pains VS goals / ideal future– what are the major pains with the current data platform / reporting system? what is overly difficult to know / manage / follow up with today’s information?
    Does the identified concepts and relations provide for a satisfactory future?
  • business processes – pick one or two, definitely not many, important processes and check that the identified concepts, relations and key attributes allow to represent and reason about such processes.
  • key reports / application / ML / AI – the business model expressed by the current set of concepts is adequate to fulfil the key reports , support the key applications or the desired ML / AI processes?
    If there is something really important that will weight on the success of the new data platform it just makes sense to check that it can be achieved.


I hope that this discussion of an experimental method to produce a business model to build a data platform will be useful for you, as it has been for me trying to clarify and formalise it.

If you have limited time with the business users I suggest that during the workshop you concentrate on identifying, clarifying and organising a bit the business concepts, with identifying the business keys as the next best thing to do that benefits from having multiple business users in the same room.

All the other steps can be carried on also after the workshop and with direct communication with specific stakeholders and the support from internal tech people.

Consider that all this will just produce an initial model that will certainly evolve and integrate more knowledge as you go through the project, so do not try to build a perfect model, focus instead on building a network of people who understand what is going on and can contribute their knowledge when needed.

I would be very happy to hear your thoughts, suggestions and feedback to improve the overall idea !

Ciao, Roberto


Concept storming to provide data platform value.

Concept storming is a light weight method to identify business concepts.
Business concept based data model enable data platforms to turn data into information providing the desired value for the business.

In last months I have been dealing very much with the general issue of how to build a data platform that actually brings value to a company.

I have also been reading and working a lot with Data Vault so I agree on the notion that the key value provided by a data platform is the ability to help the business take decisions, both looking at historical data and powering models of the future.

A data platform can deliver value also through more direct support of operations like providing audits and insights on processes, and in more advanced settings, serving meaningful data for APIs and ML / AI processes.

Actionable Information is the value

Business and operations can extract value from data only if they understand what the data represents and if they can connect the raw data with what they do, with the decisions they have to take. This is information.

I believe that the ability of the Business to derive information from data, and thus to provide value to the enterprise, is directly proportional to how easy it is for them to understand the data model they need to interact with and this increases very much if the model and language is close to the business way of thinking and talking.

The Data Vault methodology puts the conceptual modelling square at the center of the data platform and strives to use the business concepts as anchors to integrate the different, disparate operational systems, towards those common business concepts.

The adoption of a business conceptual model at the center of the data platform has the obvious benefit to lower the effort needed to turn source data into actionable information, but also greatly improves the resilience to change of the data platform. The business concepts are in fact pretty stable and tend to remain valid despite changes in the operational systems and processes.

To recap value comes from the ability to turn data into information and this is simpler when the distance between the business concepts and the data model is small. A model based on business concepts is also more resilient to change.

How to identify the business concepts?

If the business concepts and their relations are so important to build a solid core of a data platform, how can we discover them?

In this article I want to present a possible method to identify concepts and their relations that I call “Concept storming“. Yes, the name is a reference to the “Event Storming” method invented by Alberto Brandolini, but a lot of insights come also from “the Elephant in the Fridge” by John Giles and more in general from the business centred philosophy of Data Vault 2.0.

The idea is to keep the same light weight and tech free approach of the event storming to keep workshops about the people who know about a domain, with the goal to explore Business Concepts and their Relations instead of Domain Events and Commands.

The premises for a good workshop are also the same with Event storming, i.e. invite the right people (mixing who knows the questions to ask and who knows the answers) and get a large room with plenty of post it and room to draw.

The basic next step are as follow:

  • discover business concepts: start by identifying the concepts that feel important for the enterprise in the domain; they will be at different level of abstraction, and you can organise them around some basic data model patterns.
  • discover relations: uncover the relationships the business cares about, discover how the business concepts and relations are connected to each other.

With these initial steps, repeated iteratively, you identify the concepts that the business people use to describe their job, you also create a common language that both business and tech people are able to clearly understand.

Then you can proceed to refine the concepts and relations by organising the concepts in a hierarchy, identifying important super-types, sub-types, important specialisations and the relations that connect them.

Then you can identify the main attributes and business keys, i.e. how the business identifies each concept, and what they think important to know about it.

Finally, as John suggests, you can test and ulteriorly refine the model by “throwing at it”:

  • pain points: understand the pain point; why there is a pain today, why it will be better tomorrow?
  • business processes: pick a couple of important process and verify you have the concepts and relations to describe them.

The last steps are useful to verify the model is sound and also to discover more sub-types, specialisations and eventually also new relations.

This exercise should stay light and help you build a sufficient enterprise data model that is wide enough to cover all the domain, and allows you to dig deeper with pain points and/or processes only in minimal areas and if it feels needed to uncover more details or double check the model.

In a next post I will try to be more specific on the steps and instructions for the participant, but if this basic ideas resonates with you, I’d like to know and discuss your ideas.

Ciao, Roberto

Product ownership, Architecture and Software Engineering

Sunday morning. Shower… I got an epiphany!

Never these 3 definitions seemed so clear to me in so few words and making so much sense, I hope I can convey this to you.
And you will share your thinking.

These are the ideas that I want to share and get your views:

  • Product ownership: the art of picking what matters and what not.
  • Architecture: the art of simple, future proof solution picking.
  • Software Engineering: the art to break down a solution into meaningful concepts tied together in a natural way with concise, simple to follow code.

I feel like these three definitions capture the essence of the three topic, but they do not have rigid boundaries and they merge one into the other to produce a well thought, well architected and well developed product.

When putting down these I also came to thinking about the related roles.
Let’s discuss those too. 🙂

  • Product owner: the custodian of the vision, the role tasked with distinguishing what matters from what does not matter and what is important next to get into the product now.
  • Architect: the practical visionary, the role tasked to factor the future into the product while keeping complexity at bay.
  • Software Engineer: the skilled craftsman, the role tasked to build the vision into a product that stays easy to understand and manage.
    Tagline: reducing surprises to a minimum.

Here I intentionally referred to roles as sometimes a person wears more than one such hat and it would be good that every senior professional would have some basic knowledge of all the three roles to better fulfil his main one.

I could go on to talk forever about this topic, but I would very much hear what you have to say about these points.

Ciao, Roberto

Are you fine with your portfolio?

Looking at the numbers from the market and the economy it looks like we are living strange times indeed, with the major US indices up almost to their tops and at the same time the biggest number of unemployed people in US and pretty dire expectations for Q2 earnings and full year results.
Not much different in Europe.

Should we trust this renewed bull market?
Where will we go from here with the number of Corona cases raising in the US?
Will the power of Fed arsenal be enough to keep the markets up despite the virus, the economy, the protests in the streets and presidential twits?

How much money printing and asset buying by central banks will be done in US and Europe before Corona is over and the presidential elections in US are done?

I do not know! and while it is true that the market can stay irrational longer than you can stay solvent, I argue that in the meantime it is a good time to check that your portfolio is right for your goals, check your diversification and verify that you like what you own.

My goal with this first article is to have you thinking about your portfolio while discussing some basic elements portfolio construction, starting from the basic of “diversification” and main asset classes.

In a further article I would like to write about some hedging strategies, look at a few goals of hedging and then look at a few examples of what to do in specific cases. Just to be ready to act if you start to feel uncomfortable with the market, but you do not want to touch your portfolio.

The master portfolio strategy: diversification

Diversification is THE foundational strategy that anyone should know about and most probably apply in his investments to minimise the most nefarious result of investing gone bad: a severe impairment of your capital.

While some big enough stock going to zero is not so common, think of Hertz these days and you see it is not so remote… and anyway loosing 70, 80, 90 or 95% of your capital is pretty much really bad with respect to your future.

If you loose 70% of your capital, then you would need to have a 233% gain… just to go back to start. Hard? Much better avoid ending up in that situation.
How? Simple enough: avoid putting all your eggs in the same basket or in a few close baskets in the same place. The further apart they are, the less the risk they all get broken or stolen at the same time… 🙂

Diversification 101

Diversification is the process of deploying our investment in different enough products and places so that the risk of them all going against you or being unreachable for you is reduced to a minimum.

What you ideally want is a to pick assets that move as much independently as possible and hopefully do not go down all a the same time… and most probably you would like to have them divided in more than one account, kept in more than one country… ideally. But in practice?

Let’s make a few examples of bad diversification: investing in pretty similar stocks like Facebook, Instagram and Twitter (all social media) or Ford and General Motors (US traditional auto producers); or even buying gold ETF and a gold miners ETF (all following the gold price). These are not well diversified investments as all the picks in each group will most probably go up and down in a similar way.
You would own too much of similar securities, i.e. you would have too much “concentration” on a specific sector. Even if you own an ETF with tens of different companies, but all doing the same “gold mining” work.

Concentration is not bad in itself, it just exposes you to the full consequences of your choices. Very good, very bad or just mediocre… as you make them.
Some of the best portfolio managers run very concentrate portfolios… but they know every tiny detail of what they own and they invest a lot of time and money to monitor that constantly.

If you are not interested in keeping up that sort of monitoring and would prefer a more relaxed approach to investing, then diversification will help you smooth out the edges and take it easier.

Picking randomly a great number of securities is not a great strategy to diversify well either. While it helps to remove the risk of the individual security going bust it might not do much to reduce volatility or drawdowns. Let alone produce good long term results.

As an example one of the most followed and best performing ETF, the “QQQ” -tracking the Nasdaq 100 index-, has about 100 big companies, so it certainly does not risk going to zero, but about 70% of the value is in IT and Telecommunications, so it is not very much diversified in the sector dimension.

The other star ETF “SPY” -tracking the S&P 500 index – is certainly much more diversified, holding about 500 securities and covering all 11 Sectors of US market, but it is far from a suitable diversification as it just covers the stock asset class, mostly of United States companies (about 98%), it is quoted in USD and its sector representation is still pretty skewed, with Technology greater than 25%, Healthcare about 15% and Communications around 10%, while Utilities represent just about 3%.

SPY 5 year chart – Source: Yahoo! Finance – https://finance.yahoo.com/chart/SPY

Looking at the graph of these “SPY” ETFs above it is clear that its performance has been great, but even just in the last 5 years -a period great gains and of economic expansion- there have been some pretty big drawdowns.

Below is the chart for the same period of the iShares 1-3 Year Treasury Bond ETF or “SHY”. The range in the last five years is less than 5%, between 83$ and 86.5 $, way less up and downs than what SPY has sported in the same period, despite unprecedented actions taken by the Federal Reserve because of the Covid 19 pandemic – see the jump from 85$ to 86.5$.

iShares 1-3 Year Treasury Bond ETF (SHY) – Source: Yahoo !Finance – https://finance.yahoo.com/chart/SHY

Would have you slept better in December 2018 by being suddenly loosing 20% or just about 1%? What about March 2020: better be falling more than 30% in less than a couple of weeks or going up 2%?

Of course with the knowledge of after we all prefer being up 50% from 2016 to June 2020, but can you stomach the ride? What if you need some money at the wrong moment: happy to take a permanent 30% cut to your capital?

I have used these two average and pretty common examples of more frequent then you think “uncommon times” to show that different asset classes have different characteristics and are meant to have different roles in a well diversified portfolio. Some pop, some hold.

Diversification tools

Diversification is the mindful act of picking different investments in a way that suits your goals, whatever they are. To reach such a goal it is useful to know the different dimensions that affect your investments and use them as tools to build a portfolio you are comfortable with.

Below is a list of the main diversification dimensions you can use to be on top of your investments:

  • asset classes: stocks, bonds, real estate, gold, commodities, money markets, crypto currencies, volatility based products, …
  • geography: developed markets (US, Europe, …), emerging markets (Brazil, India, Russia…) and frontier markets (al the rest, like Croatia, Lithuania, Kazakhstan, Nigeria, Oman, Romania, … and Vietnam)
  • sector and industry: some sectors are cyclical (they tend to go up and down with the general economy, like travel, luxury and industrials) and some are defensive (they tend to be stable and less dependent on the general economy, like healthcare and utilities)
  • currencies: the currency you use every day and the other main world currencies change their relative values by important amounts, probably by at least 5-10% most years and by over 15-20% every few years; that’s a big tide moving up or down all your investments!
    As an example the EUR/USD exchange rate clearly shows ups and downs all the time. In 2020 we already had a couple of swings greater than 5%.
Source: Board of Governors of the Federal Reserve System (US) – fred.stlouisfed.org

How to get diversification right?

I showed above that there are many different dimensions to diversification and the examples in the previous sections show that random picking is not the wisest move. So how to chose?

First is to establish the GOALs of your portfolio.
Three typical goals are: capital conservation, steady income and capital growth.
Your choice will have a lot to do with your age, your situation and personality,
but more or less it is a choice along the risk-return continuum:
capital conservation ≈ lower risk <===> capital appreciation ≈ higher risk

Second is to pick a set of investments that fit your goal.
The mix of asset classes is probably the most important driver, with currencies and sectors as other important leverages. Geography is also important, but probable the less so – at least if you mostly invest in more than one developed country.

The “all weather” portfolio

If your goal is on the low risk ≈ capital conservation side and you want to keep it easy, then a good start is Ray Dalio “all weather” portfolio. As the name implies this is a portfolio that is built to perform OK in all market situations and do not let your finance totally stranded by the markets. In any market.
It’s recipe is pretty much simple:

  • 30 % stocks
  • 40% long term (government) bonds
  • 15 % intermediate term (government) bonds
  • 7.5% gold
  • 7.5% commodities

This portfolio has more than half of capital in bonds that should provide slow steady returns and mostly stable prices. The other components of the portfolio have much higher volatility and should provide good returns in different economic situations, with gold and commodities potentially performing better in periods where stocks might not shine much.

If your GOAL is pretty conservative and you are interested in this portfolio a quick search should bring up plenty of results and ways to build it with as low as just one ETF for each component.

One note of caution tough: with the current interest rates close to zero all over the world the high amount of bonds in this portfolio is likely not going to produce much returns. For the long term bonds it is also very well possible that they could lose 10 to 20% of value once the interest rates start to go back to less depressed values: in one year (March 2019-2020) US long term bonds have earned about 40% when rates went from above 2% to almost zero, but they will give back those gains once the rates climb back. Nobody knows when, but in the meantime there is not much possible upside, unless someone expects negative rates also in the US. At the moment I do not.

European and Japan government bonds have very depressed yields since longer and share a similar outlook, so not much happiness in investment grade bonds around the world. This is a real problem, especially for who would just need a decent stable income.

Building your own portfolio

Currently the 20 year government investment grade bonds in EUR or USD yield below 2% in the best cases, while middle term bond yield even less.
The general S&P 500 dividend yield is also below 2% and gold and commodities do not pay any return at all.

If your goal is not to just keep your money safe and barely avoiding to be eaten away by inflation with a portfolio yielding probably less than 2%, you might want to mix and match the different assets to build your own portfolio to fit your goal.

This is no small and easy endeavour, but can bring some satisfaction as well a better sense of control over one’s economic future.
The first step is then to familiarise yourself with the tools available.

Asset classes as main portfolio building tools

So what are the main properties of the different assets?

  • Cash: cash looks like the most stable form of holding your money.
    Stable it is and in turbulent moments -like now- it can offer you the great ability to purchase assets when their price is extremely low. Anyway it is actually quite costly if you factor in the direct cost of loosing value to inflation and the indirect cost of the missed income from different investments.
  • Gold: it is considered a “store of value”, one of the “safe haven” during turbulent times and like cash it produce nothing, but unlike cash gold price can be pretty volatile with changes bigger than 10% almost every year.
    Its function in a portfolio is mostly to keep up with inflation and counter balance more cyclical assets like stocks in turbulent times.
  • Bonds: bonds are debt obligations issued by a government or corporation.
    They offer a huge world and can become pretty complex, so let’s consider fixed interest bonds for sake of simplicity.
    These basic bonds provide you some level on income (based on the annual interest payed by the bond) in exchange for lending your money for some time to the issuer (from a few to very many years). You can sell them before their expiration, but then their price can be up or down from your initial purchase.
    Bonds function in a portfolio is mostly to provide a “ballast” while earning a little of income to beat inflation. They tend to be little to inversely correlated with stocks, so they should keep or raise in value when economy and stocks slow down.
    The main driver for bond prices is government setting interest rates. In slow times governments should lower current interest rates and bonds issued with higher rates should appreciate to align their yield to the new environment.
    • government bonds: these are expected to be the most stable kind of bonds around, but a lot depends on which government issued the bond: US is considered to be the safest, along with Germany and a few others, including some supranational entities (as they are backed by multiple governments). Some are considered on the riskier side of investment grade, like Italy, while other governments are not even considered investment grade.
    • corporate bonds: companies finance themselves by issuing bonds, pretty much like governments, but their size and strength is in general lower than governments, so their bonds are generally considered a bit riskier and thus need to provide a bit more interest than government backed bonds. Nevertheless there are companies that provide pretty safe bonds, while others are not considered investment grade.
  • real estate: it is one of the classical investments and can be performed by buying directly and managing some real world real estate or by using specific financial instruments, like REITS or other RE funds, that give individual investors the ability to access many different real estate sectors (homes, shopping centers, offices, industry, data centers, hospitals, …) in a very liquid way and with the ability to right size the amount to invest in each category.
    The role of RE in a portfolio is to provide an above inflation yield, hopefully smoothing out volatility and with low correlation towards the stock market.
    RE correlation with stock markets change over time, but it looks to be maximum when less desired: in downturns, as stock and RE can both sell off pretty quickly. So RE can offer a diversifying factor, but does not work very well as stock hedge in market stress times.
  • stocks: allow you to become a fractional owner of a company to participate in the growth and success (or fall and tribulations). Stock return come from the eventual dividend payed out from profits and the stock’s price appreciation.
    The role of stocks in a portfolio is to provide superior returns to compensate for their intrinsic higher volatility.
    • individual stocks: stock picking is part art and part science, and the full investment execution, that includes the way and time in and out, is even harder to master than “just” picking good stocks.
      While a great selection can generate superior returns and weather the stormiest markets, without knowing what to do it as much possible to pick dead horses and produce abysmal returns. Individual stock picking also requires a lot of time and effort to study the companies before investing in them and then to keep some monitoring on them.
    • funds: they are investment instruments run by investment managers so that individual investors can just choose between many investment strategies, from the most elaborate to passively tracking an index.
      ETF (Exchange Traded Funds) are funds that trade on an exchange like a company stock, so offer very easy way in and out, while mutual funds are not listed and are valued at the end of the day for inflows and outflows.
      Using ETFs is a simple and cost effective way to invest into stocks with a good level of diversification and the ability to pick the sectors or strategies you feel most comfortable with.
  • commodities: they represent the basic economic materials used in industrial production and cover a wide array of products, from raw materials like ore, metals and oil to agricultural products and live animals.
    It is possible to invest in them directly with futures and ETFs or indirectly (and in a somewhat leveraged way) by buying stocks of their producers.
    Commodities in a portfolio can be used as an hedge, as they are pretty uncorrelated between most of them and with the general stock market. They can also be a speculative investment by themselves, although quite risky as they can experience extreme volatility.
  • volatility based products: this is a category of purely financial products created to allow investors to hedge or even speculate on the market volatility. They are very complex products to master, but with a simple basic way of working: reacting quickly and extremely to big market fluctuations.
    Their role in a retail investor portfolio can be of disaster mitigation.
  • crypto currencies: this is a pretty recent category that covers all the forms of investment in the crypto based currencies, from direct holding in them to options and investment funds.
    They represent an extremely volatile asset, that is not suited for a big part of a portfolio, but a very small investment could provide great returns and work like an hedge towards other assets.
  • alternative investments: under this catch all category we have many types of investments that are not usually part of the core of any retail investor portfolio. They range from the more traditional hedge funds, private equity and special situations funds to the newly created peer to peer lending platforms.
    Again these assets are not suited as main investment, but they can be a diversifying factor inside a well structured portfolio.

Start by picking asset classes

Starting from Ray Dalio “all weather” portfolio with 55% of bonds and 30% stock and 15% between gold and commodities you can tweak first the asset classes and then inside each asset class pick the sector / type that bests suits your goal.

If you want an higher yield you can substitute part of the bonds with large cap, mature stock that provide higher dividend yield than bonds. An easy choice is picking ETFs from sectors with average higher yields like utilities or REITs, or look for ETF specialising in high dividend stocks or dividend aristocrats (increasing their dividend for at least the last 25 years).

They will have higher volatility than the original bonds and will not hold up so well in downturns, but in the long term they should provide better returns than bonds and in the meantime they will bay better than bonds.

So why keeping bonds at all? Well because unexpected thing happen and if you need to raise some unexpected money before you were thinking or inside a big downturn to buy stocks at greatly discounted prices it is useful to have bonds that should not be priced very far from their initial buy price. Bond are still needed to keep the drawdowns in check and to have always some asset that can be liquidated without taking a big capital hit.

How much bonds to replace with stocks and with which kind of stock / REIT it is a matter of preference and goals, or said in other terms it depends on your view of the future and how much risk you are willing to take.

For the stock part it is for you to decide what type of investment looks more in line with your goal. A few common strategies are the following:

  • growth stocks: the idea in this strategy is to identify stocks that are growing quickly and will hopefully grow more than their current valuation multiples.
    They usually do pay little to no dividend as they are investing in growing their operations and gain market share, revenue and hopefully profits.
    Typical examples are biotech and technology companies and you can find stock of any size and in any growth stage. Many ETF focus on this strategy.
  • dividend stocks: this strategy looks for companies with well established operations that pay stable and generous dividends. Generally they are in a mature stage and are often focusing their operations on stable returns to shareholders.
  • dividend growing stocks: this strategy tries to capture the transition from growth to value, i.e. those companies that are still growing (but less quickly) and are starting to pay out dividends and can progressively return more to shareholders over time.
  • value stocks: this strategy looks for companies that offer a good value for your money, i.e. the price looks to be low compared to a (quite subjective) valuation.
    It is a very powerful and proven strategy that has produce some of the best returns and investors of all time, but focusing too much on cheap companies without a proper quality factor incurs the risk of picking up so called “cigar butts”, i.e. company with little to nothing left to give.
    Some companies with valuations that look very cheap compared to past glories but will not recover are also called “value traps”; they often pay a quite lofty dividend until it becomes unsustainable and it needs to be cut or removed altogether.

You can decide to use ETF or funds to gain exposure to the strategies that resonate with you and you can also pick specific stocks that are dear to you, especially if they fit into the strategies you desire.

All these strategies are sound and should work well in your portfolio. The good news is that you do not have to pick one strategy only, you can build the core of your portfolio by investing a percentage of your stock money in a strategy you like and some other part in another. And also slowly change over time.

Just remember one golden rule: investing is not trading.
By this I mean that investing is a long term process where you set some goals and pick some long term strategies to achieve that goals. While you can change strategies and allocations over time, you would do so if you spot an error in your judgement or something disrupting happens.

Trading is instead the fast paced change of position tying to exploit the short term movements of securities and is a totally different matter than investing.
You can even do both if so you wish, but better do not get confused into which is what.

What about gold?
Gold has been raising pretty well in the last year or so (from below 1200$ to above 1700$), but because of the huge amount of new money being printed it is seen keeping its value or even continue its uptrend movement (some predict above 2000$).
If you are worried that inflation will pick up or that the stock market is already too expensive compared to companies results you can get a big more gold than the 7.5% from the all weather portfolio.

And commodities?
The last decade has been a pretty poor one for commodities, with generally negative returns, so why should you buy something that has lost value in the last 10 years? Well for three reasons: the first is the reversion to mean that is quite intrinsic in most financial markets and something can hardly keep just going down forever. The second is that commodities hold up pretty well when inflation heats up as their price increasing are often the very cause of inflation itself. The third is that the many recent years of decreasing prices have limited very much the investments in new capacity, so the amount of commodities available is stable or even decreased and if volume picks up new capacity can not be created overnight, so price will have to rise before new capacity comes to the market. Also producers have become leaner and more efficient, so they will benefit greatly and in a leveraged way from any price increase.

And what about the other asset classes?

All other asset classes are meant to be very small parts of your portfolio and they mostly serve the purpose of diversification or hedging.
They are definitely not meant to represent the core of your investments unless you really know what you are doing and then you already know about all that I am saying.

Putting a few percentage points in these is not going to hurt your main returns, but can provide some welcome surprise. As an example an 1% in some cryptocurrency that some analyst say cold grow 100 times would double your capital if it goes well, leaving with 99% of it in the worst case it goes bust.

Similarly putting a few total percentage points into some higher risk-reward investments like “moonshots” is taking little capital away from your core investments and can “spice up” the total return of your portfolio.

There are a few more topics that I have not even scratched, like currencies and geography, but I feel this can be left to some future discussion.

Put your own ideas and situation in the mix

I have taken you into a quick review of the main assets and strategies I am familiar with and I can not venture further without getting even more in personal territory, while investing it is done for oneself goals, not to follow someone else ideas.

So this is the point where I urge you to take out a piece of paper and jot down your goals, a timeline of them and of your economic needs, try to figure out what yield would bring you there -remember the power of compounding returns- and see what kind of portfolio would do well for you.

It is pretty normal that the goals and the portfolio for someone retired is going to look different from the ones of someone starting a new family into his 30s.
I am halfway there and my situation is certainly different from yours, so what’s good for me might not be good for you, but it could be interesting to discuss about specific ideas.

Writing down this article I have noticed that I am a bit lighter than I want with respect to commodities, so I will take some action on that.

Please let me know by commenting below what do you think and what actions you feel like taking after this reading. Thank you for bearing with me in this initial, long post.

Yours, Roberto


I am not a financial professional, let alone a chartered financial advisor so I can not give you any investment advice. I do not even claim to know all or most of the smart ways to invest, diversify or hedge that have been invented in the Finance industry.
My articles draw from my experiences and readings, exposing to my best the ideas and strategies I became familiar with as a self taught investor and hoping to start a discussion around them with the goal to improve all participants.
While I am making all efforts to be accurate and correct, I cannot guarantee the absence of errors or of providing a correct representation of the concepts presented. You are responsible of making your own investing decision.

Five years, a new start !

Five years ago I got my domain to solve the mental issue on how to name my java packages. I connected the domain with an old blog thinking that maybe I could get to share a few ideas as I just moved to a new country.

The domain did its job for the naming, but I never really went further to write anything. I did not promise I would write and I have gone trough a lot of interesting things in these years, so I am fine with that.

I now came to a realisation that it would be nice start writing about Finance and the Data industry at large. Below are my reasons.
Welcome again, five years later.

It has been quite a long time…

Why start blogging now?

Five years have passed: I am not the same anymore and I started to notice that I would like to discuss and exchange ideas with a bigger number of people, that I have stronger interests and that I would like to discuss more about them.

Hopefully the sharing is going to be both giving and taking at the same time:
– giving others an honest point of view to reflect about;
– taking back feedback, good and bad, because that is what makes you better.

Forcing myself to write down or prepare a presentation has always been a good way for me to focus on a topic and organise it first and foremost in my head before I can try to work on it or expose it to someone else.
I have long done that for courses and complex subjects, to the point that if I really want to learn about something I need to write it down.

It is not easy going from private to public, sticking my neck out and throwing my thoughts out in the wild, no matter how polished, for them to be commented about. I do not know how many people will ever read and give feedback, but I am pretty confident this exercise will have value in itself.
“What does not kills you, makes you stronger” they say, so let’s give it a try!

The main drivers to start writing are described above, but I want to share with you a few other sources of inspiration that brought me here and you might find inspiring yourself:

  • Swen Lorenz’s blog Undervalued Shares.
    He is most probably the top inspirer, and with his recent trilogy on how he works quite surely turning the tide and kicking me into action.
  • Lyn Alden’s Investing Strategy.
    Another financial blog that I have found really inspiring. She has an engineering mindset and I really love the way she explains even the most complex macro economic questions and puts a global picture together.
  • Data Vault 2.0.
    About one month ago I found out that -opposed to DV 1- DV 2 has a great deal of similar ideas to what I have been developing in the last few years together with some of my colleagues. That helped most of my ideas snap into the right place, like a puzzle being completed, but also made me realise how much more quickly we could have gotten there with wider discussion and a broader reach.
  • OKRs.
    The company I am working for is taking into use OKR, so I had to think about my own OKRs. Here is the personal “big hairy goal” that got me here:
    • O: Become a recognised professional in the Data industry
      • KR1: start using my dormant blog to discuss more in public about the subjects of my interest and test my ideas.
        Write at least twice a month during summer.
      • KR2: launch a Meetup to gather people interested in Data Warehousing, Data Vault 2.0 and the technologies around it.
        Have a meeting in Fall, if COVID restrictions will allow it.
      • KR3: give a public speech by fall and a couple by year end.

What subjects to write on?

This is going to be, at least initially, a single blog where I will write some “random bits” about my passions, but I aim for these bits to be interesting enough for other people to read and comment about them.

While my passions are plentiful I feel that only on two I could write something of interest for other people and worth discussing online. They are Finance and the Data industry at large.

The others like golf, squash or photography are more suited to be discussed in person in front of a glass of wine or cold beer. Even better after practicing them.


I am not a finance professional and I will never become one, but I have been interested in stock markets since I was 14 and I have an analytical and data oriented mindset with a good toolset to use.

I strongly believe that the only way to overcome our own personal bias in investing is to discuss with others or at least have your ideas questioned.

You could see it as a home made version of the system adopted by Bridgewater Associates, the famous Ray Dalio’s asset management firm that uses a “believability” weighted scoring to evaluate ideas.
The point is that all input is welcome, but the input from people most often right on the subject should weight more.

They have invested a lot to build a system to perfect the method. Here we will most probably just be able to listen each other and we will have to assess each one’s “believability” by ourselves. In my view having multiple inputs is anyway much better than just sticking with each own ideas and biases.

Data industry at large

I am a software and data engineer, so the Data industry at large and Software Development are my professional field and I am a bit scared to write about it.

The Data industry at large represent the WHAT of my interest while Software Engineering and the Agile principles represents the HOW.
Software Development is the practical activity that allows data to become alive, transforming it in useful information.

By Data industry at large I mean all the technologies, practices and supporting tools to create, store and make use of data.
A quick, incomplete list might contain: databases, data pipelines, data lakes, data warehouses, ETL, Data science, Business Intelligence, etc…

I will most probably write about what is interesting for me at the moment or because I see it as a good solution to some problem or because I have a problem and I am not sure about the best solution, so I will try to clarify the subject in my head by writing about it and hopefully by discussing about it.


Welcome to my blog !
I do hope I will find interesting subjects to write about and interesting people to discuss them about.

The best reward for me are a few words from you and you sharing my ideas.
In the meantime, thanks to be we with me !

Ciao, Roberto

My Notes

Welcome to my very personal and probably random notes.

I bought a domain as I got tired to have too many different root package names of my personal coding projects and thought having a real domain could help my standardization effort! 🙂

After getting a domain I remembered I should still have a  WordPress blog I started some time ago… and that it could be better than an empty page, so here you are.

I do not promise you anything interesting here, but you could maybe find something on software or company life or whatever… or maybe not.

Yours with love,