Tick-tock – Beeks’ Contracts

Shifting business model

Beeks’ (BKS) key selling point is that they can provide a server, located in a financial exchange with low-latency connectivity, within the same day rather than the weeks or months it would take their competitors or for the customer to set up their own server. At IPO they planned to expand by a) adding new locations / connectivity, b) acquisitions, both bolt-on and strategic, c) using plc status to engage larger clients. You read more in their admissions document.

They have progressively added new locations / connectivity, in December they signed their first (much larger) tier 1 financial services client and they recently made a small bolt-on acquisition.

However not everything has been rosy. Both their maiden FY results and most recent H1 2019 results missed forecasts. Strategic acquisitions to break into the mainstream equity market (where the fixed costs of market data mean that organically building scale would be loss-making) have foundered at due diligence. Organic growth within their existing pattern of business has slowed.

This has put increased reliance and focus on attracting tier 1 clients but these have proven both more difficult to sign up and longer to onboard than expected. In their H1 2019 results presentation they confirmed that broker forecasts for the next few periods included “a couple of chunkier initial tier 1 opportunities closed” and that these would take 4 months after signing for revenue to be recognised.

These tier 1 contracts are not what many investors bought into in 2017 and 2018. Beeks’ key selling point paraphrased from their admissions document in the first paragraph clearly does not apply to contracts that take months to deliver. Hopes for lumpy, unpredictable and high maintenance contracts have replaced 100s of smaller but organically growing clients signing themselves up online.

Since December no more tier 1 announcements have been made. FY 2019 brokers forecasts have been trending downwards with cuts in both May and June following a large cut following the H1 results in February. FY 2020 forecasts have actually been rising.


I have been caught out too many times with brokers’ forecasts that turn out to be unrealistic and so I like to create my own models. This also gives me an opportunity to try to determine how much of their forecasts from “baked in” and/or normal growth, and how much relies on “new contracts” which may or may not transpire.

When creating the model I discovered a couple of interesting things.

Firstly the differentials between subsequent period-end run-rates and corresponding total revenues can only be reasonably explained by falls in monthly recurring revenue in July and August each year, and also in December / January [1]. Lower levels of new sales in these periods are supported by the commentary. It seems that natural customer churn (generally due to customers “exiting the market”, which I suspect means “blowing themselves up”) means that any period of low new sales results in a net negative. Indeed it looks like natural losses must be above 3% a month on average. So, while recurring revenues undoubtedly strong, perhaps they don’t recur for as long as might be hoped.

[1] You can try this for yourself by filling in the yellow boxes in a copy of this spreadsheet with values that make the pink error values close to zero. I’ve also included H2 2019 and FY 2020 so you can try to project forwards.

Secondly I noticed was a marked slowdown in period-end run-rate growth. Year-on-year this has fallen from 50% to 47% to 26%. Sequentially it has fallen from 26% to 16% to 8%. Modelled monthly net sales for H1 2019 excluding the July and August come out closer to H2 2017 than anything since.

Looking at H2 2018 and H1 2019, the best predictor of revenues was (due to the above) to simply half the last reported annualised run-rate (recurring revenues being 99%). However for H1 2018 extrapolating the run-rate growth as well as terminal value from H2 2017 was a better fit, and the poor performance in Q3 2018 was commented on as unusual. Using both methods gives a range of £7.2m to £7.4m of 2019 recurring revenues. Add in £0.1m from 2 months of the CNS acquisition and £0.1m for 4.5 months of the announced tier 1 contract gives £7.4m to £7.6m, which nicely straddles the current (recently reduced) consensus of £7.5m.

However, for 2020, assuming the run-rate growth recovers somewhat from the sequential 8% in H1 [2], I get a figure of £8.9 to £9.4m for 2020, plus £0.8m from a full year’s contribution from CNS. Assuming 3 more tier 1 contracts of a similar size to the first are signed in June/July (delivery October/November), September (delivery December) and November (delivery February), then a total of £0.4m can be added. This gives a range of £10.1 to £10.6m. To hit the consensus of £10.8 requires core growth to fully return to 2018 percentage levels as well as the three more tier one contracts being signed.

[2] This would give a 6 month sequential growth progression of 19%, 26%, 16%, 8%, 13%, 12% (the last two figures being estimates) and is also supported by reasonable guesses of monthly run-rate increases.


With two weeks to go it is far too late to recognise any additional tier 1 contract revenue for FY 2019. The focus has now switched to H1 2020 – if they do not sign new contracts soon they are going to be up against the summer holidays and the 2020 forecasts look likely to be missed. Likewise an annualised run rate (including CNS and the first tier 1) much below £9.2m would be bad news.

With a forward PE of 25 on shaky forecasts, a worsening business model and a poor record of hitting targets, time is running out and I have been selling.

5 thoughts on “Tick-tock – Beeks’ Contracts

  1. Great analysis and gives lots of food for thought. I didn’t buy after first seeing a presentation at sixy odd pence. Then watched it sky-rocket but the same fears around longevity and make up of client base match what you show above. Thanks


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s