HomeHow it works

How it works?

“Finally start winning. Follow our AI betting oracle.”

AI-powered software for finding value bets plus a visual dashboard to track your winning bets. The algorithm produces 3 betting strategies depending on your bankroll, risk attitude, staking plan, etc. And it is free now.

How to use Crystall Ball?

  1. Pick a strategy based on your taste for risk, return, investment amount. It is easily customizable, change what you need
  2. Receive value bets (match, market and bookmaker) as well as optimal stakes suggestions
  3. Save your bets with your account
  4. Manually place bets with a bookmaker
  5. Follow the progress of your investment

Betting Simulations and Results

Dataset Description & Statistics

We selected 5 European leagues that are commonly considered the “top 5” in Europe and also enjoy the highest UEFA rankings. The dataset, including match results, basic statistics and several bookmakers’ odds was collected online for 10-12 past seasons of the leagues, when the main criterion was the consistent availability of key data points across the seasons (less data is usually available for “older” seasons). Total: 21,149 matches

Predictions Features

For each match, we construct a feature vector that summarizes last n matches of each team. The resulting vector has 18 dimensions (9 for each team). We work with n = 10.

Features for last n matches:

  1. wins
  2. draws
  3. losses
  4. goals
  5. opposition-goals
  6. shots
  7. shots-on-target
  8. opposition-shots
  9. opposition-shots-on-target


We use a deep neural network classifier in TensorFlow to predict the probabilities of one of the possible outcomes O {H, D, A}. Our network has 1 hidden layer with 10 neurons, as displayed in Fig. 1.

Football prediction NN architecture
Fig. 1: Football prediction NN architecture.


We evaluate our prediction using 10-fold cross validation and we report average results over the 10 folds. In 10-f CV, the model is trained 10 times on 90% data and evaluated on the remaining 10%, each time on a different “fold” of the data. Thus, we always test the model on unseen data and capture its performance on the entire dataset, regardless of possible uneven class distributions.


In the case of Spanish La Liga, we passed 55% threshold, which makes our predictions comparable to the predictive power of bookmakers’ odds.

However, prediction accuracy doesn’t correlate with profitability of our simulations - in fact, we achieved the best financial results on the second worst-predicted league (DE). The intuitive reasoning for this is that the (un)predictability of a league is already accounted for in the market odds and thus the absolute accuracy value doesn’t matter as much as a value relative to each league' standard. But this hypothesis is yet to be proven.

Median Prediction Accuracy


Compared to previous simulations, financial performance on different leagues became much more alike. We demonstrated that profit can be realized on all five leagues, albeit none of the leagues shows any “star” performance.

Interesting patterns emerged for evaluated staking plans - full Kelly staking, perhaps surprisingly, is the worst of all staking plans consistently across leagues. Although variants of Kelly staking occasionally jump above £100,000 in bankroll balance, they rarely maintain their performance over the entire simulation. However, 25% Kelly is responsible for the best overall result among leagues, rendering German Bundesliga the most profitable league by a large margin.

The naive £10 fixed staking on the other hand proved to be the best choice for 3 out of 5 leagues, with the advantage of having mean and median close together and its closing balances most resembling a normal distribution.

Closing Balance by Staking Plan

2006 - 2018, 100 simulations per league/staking plan, £1,000 initial bankroll
Fixed Staking, £1£1,032.92£1,033.07£1,072.26£1,068.47£1,063.40£1,061.80£1,057.22£1,060.60£1,020.75£1,026.06
Fixed Staking, £10£1,329.19£1,330.65£1,722.58£1,684.65£1,633.98£1,618.00£1,572.20£1,606.05£1,207.53£1,260.65
Fractional Kelly, 10%£1,575.12£1,253.07£2,829.73£1,992.57£1,570.85£1,565.35£1,492.03£1,165.60£2,010.49£1,954.46
Fractional Kelly, 25%£2,516.52£879.52£8,811.70£2,513.34£663.98£414.83£1,495.56£513.66£2,584.55£1,748.37
Fractional Kelly, 50%£2,188.68£166.80£5,288.51£409.33£121.62£0.23£170.71£8.12£500.68£71.60
Full Kelly Staking£9.29£0.02£168.14£0.00£0.35£0.00£17.07£0.38£0.03£0.00


EN: ~ 2.5% median yearly return

DE: ~ 8% median yearly return

FR: ~ 4% median yearly return

ES: ~ 4% median yearly return

IT: ~ 6% median yearly return