The Cancellation System
Betting according to a predetermined sequence
 Also known as: Labouchère System, SplitMartingale
 Type: Negative Progression
The cancellation system involves writing down a sequence of numbers that adds up to an amount of money that you want to win. You then use these numbers to determine the size of your bets, cancelling numbers from the sequence when you win and appending numbers to the end when you lose.
You keep going until there are no more numbers left, and at that point you will have won the amount of money you set out to win.
How does the cancellation system work?
The set up is as follows:
 Decide how much money you want to win. This is going to be your target when using the system.
 Write down a sequence of numbers that adds up to that target. You can choose whichever numbers you like and however many numbers you like (a common strategy is to use around 10 numbers).
Now you've got your number sequence, you can start using the system:
 Add the first and last numbers in the sequence. This is the size of your next bet.
 If you win, cross off (cancel) the first and last numbers in the sequence.
 If you lose, append the size of the bet you just lost to the end of the sequence.
And that's it.
Keep going until there are no more numbers left in the sequence. If you get to a point where there is only one number left in the sequence, just bet that amount.
If you complete the sequence you will have achieved your target.
Example
Let's say you have a bankroll of $100 and have a target win of $20 in total. You might choose a sequence like this:
3, 2, 1, 4, 2, 1, 3, 1, 2, 1
Now lets start spinning the wheel.

Spin 1
 Sequence:
3, 2, 1, 4, 2, 1, 3, 1, 2, 1
 Bet Size: 3 + 1 = 4
 Result: Lose. Add
4
to the end of the sequence.  Balance: $96
 Sequence:

Spin 2
 Sequence:
3, 2, 1, 4, 2, 1, 3, 1, 2, 1, 4
 Bet Size: 3 + 4 = 7
 Result: Win. Cross off the first and last number from the sequence.
 Balance: $103
 Sequence:

Spin 3
 Sequence:
2, 1, 4, 2, 1, 3, 1, 2, 1
 Bet Size: 2 + 1 = 3
 Result: Win. Cross off the first and last number from the sequence.
 Balance: $106
 Sequence:

Spin 4
 Sequence:
1, 4, 2, 1, 3, 1, 2
 Bet Size: 1 + 2 = 3
 Result: Win. Cross off the first and last number from the sequence.
 Balance: $109
 Sequence:

Spin 5
 Sequence:
4, 2, 1, 3, 1
 Bet Size: 4 + 1 = 5
 Result: Win. Cross off the first and last number from the sequence.
 Balance: $114
 Sequence:

Spin 6
 Sequence:
2, 1, 3
 Bet Size: 2 + 3 = 5
 Result: Lose. Add
5
to the end of the sequence.  Balance: $109
 Sequence:

Spin 7
 Sequence:
2, 1, 3, 5
 Bet Size: 2 + 5 = 7
 Result: Lose. Add
7
to the end of the sequence.  Balance: $102
 Sequence:

Spin 8
 Sequence:
2, 1, 3, 5, 7
 Bet Size: 2 + 7 = 9
 Result: Win. Cross off the first and last number from the sequence.
 Balance: $111
 Sequence:

Spin 9
 Sequence:
1, 3, 5
 Bet Size: 1 + 5 = 6
 Result: Win. Cross off the first and last number from the sequence.
 Balance: $117
 Sequence:

Spin 10
 Sequence:
3
 Bet Size: 3
 Result: Win. No numbers left in the sequence, so the system is complete.
 Balance: $120
 Sequence:
Obviously I have given an example that ends up in success. But this could go on for much longer and the bet sizes could get much larger.
Simulation
Input your sequence and click simulate to see a possible result when using the cancellation system.
The system stops when you hit your target, or if the simulation hits a maximum of 5,000 spins.
As you can see from the simulations, the cancellation system generally appears to be successful. However, pay attention to the occasional massive losses that occur when you hit a losing streak. It's these losing streaks that make the system deceptively dangerous, and often the size of the bets you're required to make will exceed the maximum bet you're able to make at the roulette table.
It's good to witness these scarilyhigh numbers in a simulation, rather than having to experience them for yourself with your own money.
Algorithm / Code
Here's some working Ruby code that shows how the cancellation system works from a programming perspective. The only complex part is using an array to store the chosen sequence, and removing/adding numbers as you progress through the system.
# Settings
balance = 100
# Choose your own sequence of numbers to use
sequence = [3, 2, 1, 4, 2, 1, 3, 1, 2, 1] # TOTAL = 20
# Keep going until we complete the sequence
i = 0
loop do
# Bet size is the first and last numbers in the sequence
if sequence.length > 1
bet = sequence.first + sequence.last
else
bet = sequence.first # if there is only one number left in the sequence, just use that
end
# Spin the roulette wheel
result = rand(0..36)
# Check if the result is a win
win = (result >= 19) # using the high numbers as the evenmoney wager
# Print bet size and result
print "Spin #{i}: sequence=#{sequence}, bet=#{bet} #{win ? "(win)" : "(lose)"}, "
if win
# Update balance
balance = balance + bet
# Remove first and last numbers from the sequence
sequence.shift # remove first
sequence.pop # remove last
else
# Update balance
balance = balance  bet
# Add losing bet to the end of the sequence
sequence << bet
end
# Print new balance
print "balance=#{balance}\n"
# End the system if there are no numbers left in the sequence
exit if sequence.length == 0
i = i + 1
end
Note: This algorithm stops when the sequence has been completed (i.e. there are no more elements left in the array).
What numbers should I choose?
You can choose any combination of numbers for your sequence. Some people suggest aiming for around ten numbers in your sequence, but it's entirely up to you.
For example, if you have a target win of $20, you could use sequences like:
2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1
4, 4, 4, 4, 4
5, 5, 5, 5
1, 3, 1, 7, 2, 1, 4, 1
All of those sequences are fine. The best part about the cancellation system is its flexibility, so you can sculpt how your session might play out by arranging your own sequence.
No sequence is inherently better than any other. The sequence you choose just affects how many bets you might make, and the possible size of each of those bets.
The only thing that matters is that you stick to the system (crossing out and adding numbers when you need to). The set up of the system is your choice.
Are there any variations you can make?
A common variation is to split the sequence of numbers in to smaller subsequences if you feel the bet sizes are getting too large (or you're hitting the table limit).
For example, if you ended up with a sequence like this:
12, 45, 36, 80, 53, 60
You could split it up in to two (or more) smaller sequences like so:
6, 23, 18, 40, 27, 30
6, 22, 18, 40, 26, 30
And then you would work through those sequences separately.
However, don't be under any illusion that this will help with the success of the system: all it does is prolong it. You could end up splitting the system multiple times with each of the subsequences continuing to fail, so it could well mean that you only increase the amount that you're going to lose.
If you're hitting an unlucky streak and you're wagering more than you're comfortable with, it's better to accept defeat and leave the table.
What's the logic behind the system?
The logic is that because you're crossing off two numbers when you win and only adding one number when you lose, the laws of probability suggest you're almost certain to complete the sequence (and win your target amount).
So even if your evens bets win just 33.4% of the time (they should win closer to 48.6% of the time), the sequence will run out and you can leave the table with a profit.
So by that logic it sounds like the system should be guaranteed to work.
Does the system work?
The system appears to be successful the majority of the time. However, this is just an illusion.
The problem with the cancellation system is that it has you chasing losses after a series of losing spins, so the amount you bet gets higher and higher the unluckier you get, and from time to time this will result in a catastrophic loss.
It's the catastrophic losses that make the cancellation system a losing system over the long run.
Furthermore, when you go on an inevitable losing streak one of two things will going to happen:
 You run out of money. So the system ends and you can't recoup your losses.
 You reach the table limit. So you can't keep up with the required bet sizes and the system fails.
The success of the system depends on avoiding losing streaks, and this is not in your control. Many players fall in to the trap of believing "it will never happen to me", but unfortunately it will, and when it does the losses will be devastating.
So don't be fooled by the seemingly regular success of the system. From time to time you will hit a losing streak that you never thought possible, and it will wipe out any amount of winnings you thought you could achieve.
Note: The infrequent yet tremendous losses are the downfall of every negative progression system (where you end up bet larger and larger amounts to recoup your money when you're losing).
Why is the cancellation system popular?
Because it provides a systematic way to try and win a target amount of money at the roulette table.
When you're using the system you're constantly crossing off or appending numbers to a sequence, so it feels as though you're "working" toward a goal. Working your way through the numbers feels like progress, and it makes it a satisfying system to use.
It also gives you a solid framework to play roulette in, which can be helpful with giving you a sense of control over your actions at the table (as opposed to haphazardly increasing the size of your bets as you play). Some people believe that keeping your composure is the ultimate attribute to have when playing roulette, and this system encourages a structured approach to the game.
I really do know the secret — it is terribly silly and simple, merely a matter of keeping oneself under constant control and never getting excited, no matter how the game shifts.
— Fyodor Dostoevsky
Who invented the cancellation system?
The system was invented by the Henry Labouchère [labooshare], who was a British politician and writer. He was born in 1831 and died on 15 January 1912, exactly three months before the Titanic sunk (not that that's related in any way).
Anyway, you might have also heard of this system being called the Labouchère System.
Unfortunately, Henry Labouchère also worked on the Labouchère Amendment (1885), which criminalized male homosexuality in the UK. It's purpose was to allow for the prosecution of homosexuals for the crime of "gross indecency", and wasn't decriminalized until 1967. It's victims included men like Oscar Wilde and Alan Turing, with the latter being sentenced to chemical castration because of Labouchère's law.
This is why I like to call it the cancellation system instead.
It's also sometimes referred to as the splitmartingale system, but that's less common.
Conclusion
The cancellation system is a methodical and goaloriented system that makes you feel in control when you're playing roulette. But like any system, it doesn't help you to win money over the long run.
The problem is that like all negative progression systems, you can end up having to make very large bets when you go on an inevitable losing streak, and these losing streaks cause catastrophic losses that wipe out any winnings you might have from previous successes with the system.
So it's an interesting system that provides benefits in terms of control, but ultimately when it comes to winning money it's still no better than placing bets on the roulette table in whichever manner you prefer.