week_yield

Betting results of 2018Q1

Hi!

The first quarter has been a good quarter! I am happy to see that all my models are performing with a positive yield, and within or above my expectations. Let us start with the complete historic picture of my Betfair betting:

So far 2018 has rendered 2.1 MSEK (205000 EURO) in turnover, to a yield of 2 %, resulting in 43708 SEK profit (4200 EURO). I aim to hit a yield of 1 %, so this is far above expectation. As a result of the high yield I see a decline in turnover, I hoped to hit approximately 3 MSEK each quarter. If we look at the separate models per quarter from 2017:

 

The Home model has performed 0.9 %, a small decline from 2017Q4. The model with the lowest profit, BUT the model that is closest to the calibrated long term yield (so I cant blame it). The Away model turned from red figures in 2017Q4 into a solid 2.3 % yield profit, makes me a little bit surprised because I also note that turn in bets and money also increased. The Draw model performed 1.5 %, also better than 2017Q4. The big surprise is the performance of the Under model, which now landed on a yield of 3.7 % !

Comparing the development week by week:

 

We see that the year starts extremely well in both 2017 and 2018. In 2017 I had a terrible spring which took my accumulated yield down to 0.3% before the fall stopped and the profit started to raise again (ended at 0.6 %). As I pointed out earlier my models are calibrated to 1 % so I expect the accumulated yield to keep falling to that point, and then be stable for the rest of the year. At the same week last year I had a accumulated yield of around 1 % so I have a much better chance of hitting my target yield this year!

 

 

week_yield

English League One and League Two – Easy edge!

The content of other football blogs the last couple of weeks have been dominated by different takes on English soccer. I decided to take a look at my own records to see how I have done on the English markets.

I took a look at the years 2016 and 2017 (I know that my models during those years have been quite good with a small edge). The English leagues where I have the most bets on are League One and League Two. The table shows my stake, profit/loss and yield during those year:

There are in total 810 bets on these markets during those two years. I am happy to see that no matter if I find an opportunity in backing home, draw, away or over/under I manage to profit! +3 % yield on all models is way above expectation.

When I take those 810 bets and view them yearly I see that the trend is positive, went from 3.2% to 4.2% yield from 2016 to 2017.

For some reason my edge is bigger on those markets than on the average market. A shared edge is a halved edge? Anyway, if I were obliged to give you a tip it would certainly be to explore the League One and League Two for edges. And do not restrict it to the draws, the markets seems easier to profit from than other leagues.

I am not sure why but I guess that those markets are perfect in size … To small for the sharpest to really bother, but with a big interest from the average loosing punter.

Do not tell anyone!

 

 

week_yield

Summing up 2017 and forecasting 2018

Another year ends and it is time to sum up the efforts of my bot betting. This year has been a very bumpy ride, and includes both good and bad things. Let’s start with my forecast made in January 2017:

The plan for 2017 is to keep the good models for Home and Away, and do some minor changes to Draw and Over/Under to slightly improve their yield. I aim to get all models +1.0% yield. My total yield goal is to improve from 1.24% to 1.30%.  A bigger wallet for 2017 will also mean bigger stakes and more turnover. Projecting the turn for the last few months indicates that 2017 could turn around 10 MSEK in total. If both these conditions hold I guess that the bot will generate around 130 000 SEK. That would be very satisfying!

I hoped to turn 10 MSEK (Approx.: 1.200.000  USD / 900.000 GPB) and yield 1.3%.  And I got:

I managed to forecast the turnover almost spot on, but the performance of my models were a disappointment: 0.6 % yield as less than half of what I thought was possible. My total P/L for 2017 was 59.856 SEK (Approx.:7.300 USD /5.400 GPB).

Breaking down the results by model:

When I calibrate my models I aim to hit around a yield of 1.0 – 1.5 %, so the only model that did good enough was the Over/Under model. This will of course generate some new models for 2018!

In previous post during 2017 I have compared the development in turnover/profit/yield between 2016 and 2017 as accumulated weekly figures.

 

The raise in turnover is mainly a result of using a bigger wallet in 2017, as I use “percentage of wallet” as staking method (currently 2.5% for each bet), the bet size in SEK gets bigger as the wallet increases. There were also an increase in number of markets engaged with a bet (approximately 1300 more markets in 2017), so that also helped to reach 10 MSEK.

The P/L graph is much more interesting! Both in 2016 and 2017 I see the same trend (although more significant in 2017)… Great performance in the first 8-10 weeks, and then a down period until week 23-26 something and then great performance again.

The yield graph just confirms the trend….

So, to sum the good things and the bad things of 2017:

(+) Reached the 10 MSEK in turnover

(+) Green all over my models

(+) Made 60.000 SEK (equivalent to a  good summer vacation for me, my wife and our two children!)

(-) Low yield

Unfortunately the “Low yield” is a big problem, especially when the yield turns the P/L from green to red… But there are many actions already implemented during the autumn 2017, which I hope will lead to successful betting in 2018.

How will 2018 turn out? As I need to strengthen the yield I will need to reduce the number of expected bets, I forecast around 10.000 bets. A bigger wallet will compensate for this, but the turnover wont have the same growth as previously years – I guess around 12 MSEK. . The yield? Hmm … I hope to increase it from 0.6% to 1.0%. In total that would make me 120.000 SEK, equivalent to TWO family vacations (or a small car)!

Good luck with your betting in 2018!

 

week_yield

Read up!

As described in previous post I went back to the drawing board and redesigned my models. To get some inspiration and motivation I bough a few books and read them carefully. I did not anticipate to get complete “+110% ROI MEGA DELUXE MODELS” but my hope was to get some inspiration which I could use when creating my own models and strategies. The books I read were by James Butler and Joseph Buchdahl and I can certainly recommend them if you are into the game of betting .

 

“Programming for Betfair” & “Betfair trading techniques” by James Butler, “Squares & Sharps, Suckers & Sharks” by Joseph Buchdahl.

Some of the new things in my models would not have been there without these books, thanks James and Joseph!

 

 

week_yield

Update of Results YTD

The last months have been a real roller coaster ride! As mentioned in previous post my ROI started to decline in February/March, but I stayed with my models all the way into July. There I took the decision to accept that my models had lost their edge, and I went back to my analysis tools and after some hard work came up with a new set of models to implement. They were implemented in the middle of August.

It might sound like a trivial thing to determine when your models are without edge, but it is not! Betting volatility is hard to see through, and my models had served me well for a couple of years (with only minor changes during that time). Betting is a long term game, but in retrospective I held on to my models to long. Lesson learned: Update and improve models more frequent!

My new models are in many ways much better than previous – They contain more pricing variables (and hopefully a more accurate odds calculation)  and they are estimated on more recent data. Now I need to wait and follow them for a while before optimizing them.

I have updated some graphs which contains accumulated figures of turnover, profit/loss and yield for 2016 and 2017 YTD.

 

I have exactly the same behavior 2017 as I did in 2016, it starts great and then it  declines from February/March. My yield now 2017 YTD is 0.45%, for 2016 same time (week 36) was 0.65%.

The turnover is much bigger than 2016, the only reason for this is that my bank has grown and therefor also my stakes. I just passed 7.000.000 SEK in 2017, and at the same time in 2016 I had staked around 3.000.000 SEK. Due to the fact that I am using new models I decided to change my requested stake size from 3% to 2%. Therefor I expect the accumulated turnover to grow slower for the rest of the year.

Thanks to the higher turnover I also have a higher PL (31.000 SEK 2017 YTD) compared with 20.000 SEK at the same time in 2016.

In 2016 I had a real good 4th quarter, it will be very exciting to see if my new models will continue to perform for the rest of the year.

week_yield

Edge gone to hell, or seasonality?

It’s been some time since the last post, reason is that I had to put some time into my betting models… My problems started in march when my bank started to slowly decrease instead of increase AS SUPPOSED to.

First I kept calm and let the bots run unchanged (AS SUPPOSED),  but the bad trend continued into April and from there into May. In this period there were now quite many bets generated ( 2616 in the period 1.March to 15.May).

As seen in the table above I have been seriously hurt in the Draw and Away models, and the yield is -1.3% which is exactly my long term yield target BUT WITH THE WRONG SIGN.

I am getting older and older and my memory might not be as sharp as earlier (!), but I had a hunch that my models performed real bad in the same period last year. So I dived into my old betting history and took out the performance for the same period in 2016:

OK, my hunch was correct – I had shitty performance in the same period last year (-1.08% yield).

As a final check I plotted the accumulated yield% as a function of week to see if there is some kind similar behavior:

It is now getting quite obvious that I have a repeating pattern between 2016 and 2017. Great performance in January and February, terrible in March, April. If this pattern continues I will see better performance for the rest of the year.

I am still not sure what generates this “problem”, my guess is that its related to the mix of leagues (some starts and stops in March and April), and I don’t take that fact into my current models. So, as a start to address this issue (and hopefully avoid the same pattern in 2018) I have now developed a “League classification rating” which I intend to implement for the third quarter this year.

Some details about my new rating model will be presented in a later post.

 

week_yield

Betting results of 2017Q1

Another quarter has passed and it is time to check how the models are performing. The result for the first quarter of 2017:

I am happy to see that it is now my ninth quarter in a row with positive yield! This quarter my bot managed to get matched at least partially in 2316 unique markets. It turned about 2.700.000 SEK (approximately 284.000 EURO or 244.000 GBP) to a yield of 1.20%, bringing a profit of 32.691 SEK (approximately 3420 EURO or 2930 GBP).

My target for 2017 is to turn 10.000.000 SEK to a yield of 1.3%, I can conclude that I am a little ahead of the amount turned but a little behind on the yield. The bad apple of this quarter is the performance of the Away bets with a yield of -2.28%.

I only update my models when the long term performance seems to be falling, some models are updated more frequently than other…  My current models with lifetime and performance:

 

The Home model is the jewel in my portfolio – is has been unchanged for a year (exactly today), during that period it has generated 2118 bets with a yield of 2.33%.  The bad apple is the Away model which now is performing below expectation also when looking at its total lifetime! Unfortunately I haven’t found anything that could improve the model, so I decide to keep it running for a little longer (0.78% is still money in my pocket). When looking at the Draw and O/U models I have found some “low hanging fruits” that can improve the models with only a small reduction in expected number of bets, so even if they are performing above expectation I will launch these changes (or I actually did a couple of days ago). The jewel is unchanged and worshiped for another quarter!

Finally, summing up my total betting career since 2008:

55.523 bets (counting bets and not markets) with a lifetime P/L of 111.302 SEK (approximalety 11.600 EURO or 9980 GBP), most of the profit made in the last 18 months.

week_yield

Betfair Premium Charge simulation

As my bot now has a track record of 2 years in profitability I decided to do some research in the topic of Premium Charge on Betfair. As of today I am not paying any kind of additional charges, but I guess that if my bot keeps moving money to my account I will sooner or later reach the PC limit? Is there some strategy that I could use to optimize my model between profit and charges?

This will be a two part post. This first post will focus on the behavior of PC charges in the context of my model, the second post will focus on optimizing the model with charges as one of the factors.

Right now my total commission to gross profit ratio is 37.8%. All those years turning over money for a small loss are finally paying off! But the ratio is declining and if I have understood everything correct the first magic limit is 20%, when hitting that limit I will always need to pay the difference up to 20% in PC charge.

If I should be even more successful (that is my plan) I could eventually hit the Super Premium Charge (I need to have net profit of £250.000, which is far from my current profit…). In that case I could be eligible to pay the difference up to somewhere between 40-60% based on my actual ratio.

It is hard to get a grip of what that would mean to my kind of betting, so to clarify I created a small simulation where I simulate the behavior of my model (same kind of odds and tested it for different gross ROI%) and this is what I came up with:

The above chart shows which kind of commission/profit ratio (from now C/P Ratio) my model would generate for different edges.

A. This is the current expected yield of my model right now (1.3%). At this point I expect my C/P Ratio to be around 28 %.

B. This is the point to where I can adjust my model without reaching the Premium Charge (around 2% yield).

C. If I ever reach the level of Super Premium Charge (£250.000), I will need to hold my model up to max 0.9 % yield to avoid paying that charge.

The above chart show how my model would be effected by Premium Charge (PC) and Super Premium Charge (SPC). As an example I have plotted the line to show the effect of a model returning a gross yield of 3%. The PC would bring it down to 2.7 %, and finally when hitting SPC it would be brought down to 2.1 %.

How to conclude on this?

I now know that I can calibrate my model up to a gross yield of 2 % without paying the PC, and if I reach the SPC limit I must keep the model below 0.9% yield to avoid SPC.

In the next post I will apply these curves to my own models, calibrate them at different yield% and see how many bets are generated at different levels and finally calculate my expected monetary win (yes, I prefer to maximize money and not minimize charges!).

 

 

week_yield

A beautiful view!

Usually I only take a quick look at my bot once or twice a day to make sure that it is up and running. Often I just see a quite boring screen with no action, but when I looked yesterday I saw this:

Following 45 markets, with live bets on at least 13 of them. Most of them still being green at the end of the match, and a total exposure of around 36000 SEK. Did some reflecting yesterday: It would be impossible for me to manually trade all these markets, bot betting makes it possible for me to follow huge amount of markets and therefor it is also sufficient to only have a small edge to see some actual positive change on my bank. I calibrate my models to hit around ROI 101%, a target which I achieve because I have great data and I have excluded markets and situation when building my models. My models are niche models, and they are really good in their niche. I consider this to be the only possibility for me to build successful models, if I would try to model all markets and all live situations I would probably have a poor losing model (being an amateur with limitations in time and money I would be outperformed by the bigger syndicates).

If I were to give you a few tips how to be successful in your model building:

  1. Model one or few markets, and focus on a certain events/situations there.
  2. Settle with a low ROI, and maximize number of bets instead.
  3. Keep your costs low, don’t pay a lot of money for data, software or other. Your profit will vanish!

 

week_yield

Evaluating my bot bets with hit-rate

During the last few weeks I have noticed a drop in turnover and especially in number of bets placed by my bot. Is my edge vanishing? What is the problem?!

To answer these questions I needed to create three KPI’s that describes how my models are performing in terms of generating bets and turnover; Hit-rate%, Try-rate% and Model%. I define them as:

Hit-rate = # Matched markets / # Potential markets
Try-rate = # Amt req markets / # Potential markets
Model-rate = # Potential markets / # Followed markets

The gross number of markets followed by the bot is labeled “Followed markets”, the number of markets that are within my risk appetite (meaning a betting situation can occur) is labeled “Potential markets”, “Amt req markets” are the number of markets where I asked for a bet and finally the “Matched markets” is the number of markets where I at least got a bet partially matched.

Plotting these KPI’s for the last couple of years:

 

From the above chart we can see at least three important things:

a. The difference between my Try-rate and Hit-rate is constant => I still get at least partially matched in 90 % of my bets.
b. There seem to be a lift in hit-rate/try-rate in January 2017, which is contrary to what my intuition says. A rise from around 10 % to 15 %, which can be explained by the new strategies I have added for 2017 (they are only tested with minimum stakes and therefor their presence is only visible here and not in turnover).
c. The Model-rate is also constant at around 85%, meaning that my risk appetite have the same impact in relative terms as previous years.

In the above chart we see the absolute number of markets followed and markets within my risk appetite. We can clearly see two things:

a. The cyclic nature of soccer markets, with many markets played in April and October and less markets in December/January/June.
b. The increase of markets followed by the bot during the last years, explained mainly by improving my code and therefor making it possible to follow more markets simultaneously.

From these two charts I conclude that the low in bets generated is simply a problem with few markets played. When a market is followed I still have the same probability to find a betting opportunity and the same probability to get a bet through. I am also positive surprised that the test strategies lifts my hit-rate from 10 % to 15 %, now I only hope that they also will deliver a ROI of +101%.