Of the projects I’m most proud of, The Value Companion was a massive undertaking to help value investors search and filter stocks to find what they think is worth investing in.

There were a number of problems to solve with this one:

Let’s go through each of those.

For point number one, it was apparent early on that some stocks either have too many records, not enough records, they may have once been public but went private, are late on their tax forms (yikes), maybe it’s in a different currency, etc. The list of issues goes on and on and, you guessed it, on. The bottom line is that unlike an academic or controlled setting, real world data is MESSY.

This took a bit of work to go through. But when there’s no set list of exceptions, it starts with trial and error, and then trying to prevent more issues from popping up in the future. We can build specific errors but it’s also important to note that we need general errors. We may not know why a stock doesn’t have enough data, but we can tell if there isn’t enough and handle from there.

For the second point I don’t want to give too much away (this is a service & business people pay for) but to keep it brief, with 1,000s of stocks with copious amounts of data, it’s important to optimize over and over to keep our runtime as clean and efficient as possible. We don’t want our daily task of fetching & updating our stocks to take all day. So we looked for ways to cut out of updates early and tracking what needed to be updated. Again, if that’s vague then sorry – can’t give the secret sauce away.

The third point I can riff on. I come from the eCommerce world, and there a good UX is more than invaluable. So for us, we spent some time and plenty of review with UX. We wanted to keep it clean and focused. Our stock list page, we can’t display all the stocks data, just the highest level points and base info (like sector). With filters to trim down the list of stocks people want to look into, sure we could add an extra 50 filters. But that’s also a bit overwhelming and in the end actually makes it harder to find what you want. So we picked the higher level criteria that is crucial in decision making process for investing and kept it there.

On a stock’s individual page, what’s important? Seeing how the stock is doing. That’s why we lead with the high level data points and our graphs. People can quickly see, at just a glance, is this stock generally on the up? It’s quick to swap between data sets on the graph to get a robust view and see if the stock is really as strong as our first glance. And if there’s a few quarters throwing the best fit line off, we can readjust our graph to get an adjusted intrinsic value.

I (and the team) started viewing it when in beta as a helpful tool, but now having a polished version view it as a tool we can’t live without. We use it to find a short list of potential investments to look into and it saves us hours, if not weeks, of time on the base calculations. Time saved and a happy portfolio.

DISCLAMER: it’s not financial advice, so if that’s what you’re looking for then we can’t help there – it’s just a tool to find stocks based on your own criteria to research further. That said, again, saves me a lot of time. Check it out here!