Power ball control test
Going to give my Python powerball QP generator a whirl for this week (Sat, Mon, Wed). It has the same chance as letting the state fill it in...
The time is now 6:42 am
You last visited
July 20, 2026, 9:34 pm
All times shown are
Eastern Time (GMT-5:00)
Going to give my Python powerball QP generator a whirl for this week (Sat, Mon, Wed). It has the same chance as letting the state fill it in...
Since deciding to go with only the power ball from here on, there have been 0 wins (not even the red ball).
But the value is there... for $4 I get a multiplier I opted into and a second chance on the double draw (which I also opted into). So for the price of $12 a week, I get the license to daydream.
Still using the app I made to try different picks, but the plan has been simple, pick a line through the followers and compare their positions on the classifier page.
The slide rule test did not result in anything different, only it was much more work on the spreadsheet side, so back to the app. Super easy, since followers do not work on their own, get 1 pick and play the same combo for 3 draws... then pick a new combo.
The concept of prediction is out the window, the app is more of a statistics displayer anyway... the total pick process is done on the Android version of the app and takes less than 10 minutes (per week!). The only thing that would be quicker would be to add a QP generator to the app. But for the same near zero chance of winning, I will go with what I have.
Lost, however, is the dream of "cracking the code" and "beating the system"... leaving my app as my "magnum opus" of my involvement with trying to impose order on chaos. I have converted all of my former lottery development time into this bioinformatics pursuit. I have solved 18 of 103 coding challenges in the "Bioinformatics Stronghold" at rosalind.info, and the work I had done in python trying to "solve" the lottery problems has been directly applied on several challenges.
It figures that I reach the end of the search just after solving how to automate draw updates... so much for reverse engineering randomness...
Even though I have seen the writing on the wall about trying to predict lottery numbers as an impossible task, I DID try for myself and not just give up. As it turns out, many of the skills with coding developed over these last 20 years are mostly directly applicable to this new quest to learn bioinformatics.
The methods used in scraping the PA website for draw updates made working with actual APIs much easier. I was able to develop a FASTA file parser to read bio data in a few minutes and create is as a reusable module. There are a few other common bio data file formats yet to come, and I will be able to incorporate these into a similar solution.
Searching for patterns that do not exist, using NumPy arrays because they are faster directly contribute to search patterns for k-mers and motifs in strings of nucleotides.
While Markov Chains were of no use in the lottery, they are literally everywhere in bioinformatics algorithms. From finding write regions of unknown DNA to predicting how proteins will fold after being built from mRNA.
Also some probability goes into such things as determining the chance of gene expression in the n-th generation of offspring using Mendel's laws.
Path traversals outside of just a CS homework assignment, finding the worst case run scenarios (big O) and planning for memory management when those DNA strings have millions of nucleotides...
Not going to sugar coat it, I have a TON of domain information to learn before I can create anything useful. This will be a challenging time learning this subject and associated knowledge required... thinking I need to brush up on physics, chemistry AND biology along the way... but it feels like a worthwhile pursuit.
And I will still play an occasional ticket, it just won't be prefaced by months or years of seemingly useless development to tell me what I already knew... it is just not possible! One ticket in a game is all it takes to have the license to daydream, and the methods used to choose numbers can get much simpler.
So, the system is easy to follow in the spreadsheet. The 1/1/2026 back test had no winners (as expected) for the evening, but did manage a straight hit in the mid day... remember, purely coincidental!
Without further buildup, here are the picks for the next 7 days (including today) for the Pennsylvania Pick 2, both mid day and evening... let's see how they do...
| MID | ||
| 04/09/26 | 4 | 6 |
| 04/10/26 | 4 | 4 |
| 04/11/26 | 8 | 7 |
| 04/12/26 | 4 | 2 |
| 04/13/26 | 4 | 8 |
| 04/14/26 | 6 | 9 |
| 04/15/26 | 1 | 0 |
| EVE | ||
| 04/09/26 | 6 | 1 |
| 04/10/26 | 1 | 6 |
| 04/11/26 | 5 | 2 |
| 04/12/26 | 3 | 0 |
| 04/13/26 | 2 | 7 |
| 04/14/26 | 5 | 8 |
| 04/15/26 | 2 | 7 |
So the goal is to develop a sequence of steps, simple to follow, and NOT based on any math or statistics foundations... it will be PURELY coincidental, and cheap by design.
So, step 1 would involve an offset... you need to go back a certain number of draws in each column BEFORE you start counting specific digits. Some initial stagger would be helpful, and could be introduced here. The first option that comes to mind is going back 11 draws in the first column of the game then adding 1 for each subsequent column... this would look like (counting the most recent draw)
Pick 2, go back 11 draws in column 1, 12 draws in column 2
Pick 3, also go 13 draws back in column 3
Pick 4, also go 14 draws back in column 4
Pick 5, also go 15 draws back in column 5
11 as a start is arbitrary, but establishing some kind of order early on makes it easier to generate picks.
In addition to the most recent draw, you will also need to look at the draw before, as this will determine our counts for step 2...
Step 2, starting from your offset position, look at the draw above the most recent, and find the number for the most recent draw... like so
If the last 2 draws in column one were
64
71
From the offset, find the 7th time a 7 shows up, counting up. Wait, why the 7th time if the previous number was 6? Because we need to handle the edge case of a zero where the 6 is! If the 6 were a zero, we will get around that by using zero based counting, where the zero indicates the first occurrence, so imagine instead this update
64 (plus one on each) = 7 5
7 1
So from the offset in column one, we find the 7th 7 and the 5th 1.
The most extreme edge case, the draw before last is 0 9...
That becomes
0 9 (add 1 to each) 1 10
7 1
So you find the first 7 above the column one offset, and the tenth 1 above the column 2 offset.
Step 3, copy the column from the number you ended up with and the 7 below it (8 total cells) for each target and paste them on a different sheet, side by side. The top number will be an exact match for the most recent draw.
Step 4. Put the date of the most recent draw beside the top row of your newly formed data. If it was last night's pick 2, then that is where you start. Drag the date down to the next 7 rows and boom, there are your picks for the next week...
Sample (not real data)
Last draw was 4/8 so
4/9 = 3 4
4/10 = 6 6
...
4/15 = 8 7
You end up with a list of combos and WHEN to play each one. No statistics needed, no math needed, no grid assembly that generates way too many combos, no -ology. Also, no guarantees, no wheeling, no added expense.
There is genuinely ZERO math involved, it is just counting and following directions.
Of course this assumes you have past draw data in a spreadsheet and that the oldest draws are on the top (so it is date ascending as you scroll down)
Each combo has a 1 in 100 chance (on pick 2, add a zero for each column) and with that the expectancy is that you do NOT win, and even if you do it can be chalked up to coincidence.
So, the play is to bet the combo on the date indicated, NOT playing all of them each draw! On most kiosks they let you play up to a week in advance, one day at a time, so this CAN be done in one trip to the kiosk. If you stick to a $1 bet for each game, the total for a week would be $14 ($7 for mid day, $7 for evening) or, just pick 1 game, then it is even cheaper!
I am going to run exactly one back test per game (mid and eve pick 2 through pick 5), using the draw on 1/1/2026 as the starting point. Then I will run the pick 2 mid and eve for the current draw and post the list here. I will NOT be actually playing... I am sticking to PB for $12/week. And yes, I will be applying this system to the next 3 PB picks (sat, mon, wed). The only difference being that there is no zero in the PB, so zero based counting will not be needed. So technically, it can be used for any game with enough history.
No coding, no fancy formulas, no VBA, no stats... it generates exactly one combo per play. Keeps positions independent, only uses history to grab numbers with zero bias, can be applied to ANY game... checks a good number of boxes!
Be back with the pick 2 test picks in a bit...
This is a fun challenge series.
While there are simple solutions to these problems given their relatively small size, bioinformatics can scale up past your RAM quickly.
I have given myself the extra challenge of making my solutions scalable and mindful of big O (the worst case run scenario). They let you use any language to solve the challenges, and Python is my main one, but I have passed the first 4 challenges using the power of C language subroutines in the Numpy package.
My answers were the same as the simpler solutions, but they can handle scaling. If I had to deal with 1,000,000 nucleotides instead of 1,000, my solution would not break.
Going to keep that momentum going throughout the challenges.
The stronghold section requires you to create the algorithms to solve the problems... in the following section, the "armory", the challenges are to be solved with existing industry wide software packages like Biopython in python and Bioconductor in the R language.
They briefly touched on the power of Numpy to make powerful reductions in big O problems, but the majority of what I learned about the practical application of Numpy and efficient coding came directly from the lottery hobby!
Even though this lottery problem was impossible to solve, the skills learned are literally directly transferred to other domains! Markov models are all over the bioinformatics domain.
Who knows, maybe I will pick up something in this pursuit that can be brought back to the lottery domain...
This week for the power ball, it will be strictly the top line of the Markov chain followers.
This is also where we see if it is best to skip the MM completely and just go with PB... mostly because the draws of the MM were nowhere near the numbers from the system, while the PB brought a few matches in the white balls (just not any PAYING ones).
The budget will then be set at $12 per week for 3 shots at the jackpot AND 3 shots at the double draw $10M prize... the MM and it's $5 for almost a guaranteed 2x multiplier is just not as interesting.
Slide rule tests on the pick 2 will be ready shortly, but this week has been about non lottery coding.
Rosalind.info is somewhat similar to free code camp in that they give you challenges, clearly defined input and output, and it is up to you to figure out how to make it work, and measure your result as pass/fail. Probably NOT the place to start if you are new to coding, as you would need another resource to figure out the components of the challenge solutions. They give you 5 minutes after downloading challenge data to upload your solution.
There were 6 challenges, each of increasing complexity. The interesting part was the number of times each challenge was solved.
Challenge 1 solved 62,282 times
Challenge 2 solved 50,502 times
Challenge 3 solved 41,878 times
Challenge 4 solved 36,005 times
Challenge 5 solved 27,686 times, and
Challenge 6 solved 23,541 times
The pattern is similar with the other challenge areas. The next section I am attempting is the "Bioinformatics Stronghold" which has over 100 challenges. The easiest solved 75,714 times and the hardest challenge being solved only 117 times.
Over the site there are a total of 284 problems and 130,323 participants... maybe I am not as late to this party as I originally thought!
Coming from the computer science direction may give a slight advantage on the coding, but I will need to build domain knowledge along the way.
After much searching, I think I have found the best place to start... rosalind.info
It is a site that presents coding challenges that teach the basics of the computational skills required in the bioinformatics field. Optionally there is a track of challenges that go with a textbook...
Bioinformatics Algorithms: An Active-Learning Approach by Phillip Compeau & Pavel Pevzner.
Ordered the book, starting the tracks.
If new to coding, they have a brief intro section to Python on there. I am starting here just to get used to their challenge submission process... most are timed (5 minutes), meaning you need to write the code and test it with their sample data before pulling down the dataset for the challenge.
The book was optional and costs some $$, but the website is free.
This should be an interesting shift from lottery hobby coding!
On the surface, no system works! IF there were any bias whatsoever, it would have been found in the Markov Chain follower analysis.
For a week straight after finishing the app, I would update the app in the morning, write down the follower picks for 8 games (PA pick2, 3, 4 and quinto... day and eve), then check the list in the evening... there was 1 win in 7 days on the mid day pick 2... checking every day... now I did not play these... just wrote them down. I ran a similar paper play test for the PA treasure hunt and cash 5... no winners (some small prize matches, but it was all paper play).
They were not the first paper play tests I ever ran, but they were unique as the entire process was carried out in Android.
The statistics from the classifier function clearly show the distributions and "geometry" of the jackpot type games (TH and C5), but there are zero correlations between the stats and future draws... none!
I am glad I took the time to plan and build the app, but the bottom line remains that there is no way to analyze past draws to get a consistent wining pick. I have spent the better part of 20 years (on and off) only to confirm the gut feeling that the task is impossible. I never gave up, but the end result is the same as if I had.
So what good (outside of keeping sharp with coding and spreadsheet skills) came of the hobby?
Learning to incorporate a budget. The goal of picking just 1 combo was indeed the biggest takeaway... 1 ticket gets you in the game, any more for a single game is a waste.
Learning which statistics told the story I did not want to hear... while standard deviation is commonly used, the information provided by variance directly is more useful in determining exactly how chaotic these games get, from samples to full histories. Distribution quartiles show just how tight of a spread separates hot and cold.
Identifying the "churn", even if there is no way to predict the changes... I see how numbers change but frequencies tend to hold steadier... but guessing which numbers will be next in the churn is just that, a guess.
If there was a solution, someone would have found it by now... foolish ego thinking I might be smart enough to solve the puzzle!
Still plan on using what I built as a better solution to QPs, still plan on buying a ticket for games, but realized it is now on that fine line of a waste of time to go any farther down the rabbit hole.
Draws are independent.
Positions are independent.
Machine Learning cannot solve it.
AI cannot solve it.
certainly some random 57 year old with a 10 year old laptop and a CS degree isn't going to solve it.
One ticket is all you need to have that license to daydream.
Moving forward I will be looking at simple coincidental systems that meet the budget criteria (ONE ticket) and result in exactly 1 pick per draw. The "slide rule" concept will be first. Once I define the variables and constraints, I will develop that here in the blog for all to see. I may even incorporate some of these "coincidental" systems into the app... but just for the entertainment value.
The majority of the "hobby time" will now shift to exploring the bioinformatics landscape and applying 20 years of working with noisy data toward a domain that might one day do some good for others.
So, the main idea is to slide the columns forward so that the number in the last draw row matches the actual last draw. The question becomes how far forward to slide...
Since the most wild per column statistic is variance, there seems like a logical target.
For a pick 3 example, the evening variance on the draw from 3/24 (6-0-5) was...
Column 1 ... 4.8, go back four sixes (or 5 sixes if rounding)
Column 2 ... 6.04, go back 6 zeroes
Column 3 ... 2.22, go back 2 fives
In this way there is a definitive starting point. The decision to use the most significant variance digit or rounding can be back tested. Also, initial exploration does not require any coding, easily tested in a spreadsheet.
The result would be a list of combos to play... and the date to play each. If I were to run the experiment today, it would yield
Last draw from yesterday
One combo for tonight, one for Friday, one for Saturday all the way to Wednesday.
Simply play the number for that indicated date. You win or you lose (or you paper play). That easy!
Maybe the variance is not the best solution, but any hits on this (or any other "system") are purely coincidental at best. Back testing is equally simple, just pick an earlier date and " slide " the data down to see if there was any luck from doing that in the next 7 draws.
Now I chose variance, which is data that I gather from the last 150 draws in my classifier function in my app, you can use any arbitrary source, such as 5 back on every column. (Not 5 rows, the 5th appearance of the last winning number).
If it proves as useless as every other way during the spreadsheet testing phase, then it can die there without ever writing a single line of code. And paper play is always within the budget!
Like the title says, have some fun... since I am done with the pick N games at the moment, pick 3 makes a perfect testbed...
The "Slide Rule"
Make an app where the columns can be slid up or down and locked in place.
The concept, slide down and match the digit in each column to the last winning number.
Write down the 7 draws below it that will form from the sliding action.
Watch them for a week, did any match?
I can experiment with how far back to go and watch multiple such lists simultaneously since I won't be playing.
Literally zero data analysis value, but does it have entertainment value?
Maybe...
One area I had given thought to was to isolate the distance between appearances of each number... not average (that won't help) but full lists of such information for each digit in the pick 3. (Where paper play is always free)
If they are displayed in isolation, that could be a helpful indicator of how each individual number appears in relation to the noisy full result stream. When placed side by side, perhaps there may be some unseen order to these distributions.
Or maybe not. This seems like a good task for SQL querying... or maybe the raw power of pandas?
Then there is the layout, a number to indicate distances between digits, but also a way to indicate and highlight repeated digits. And deciding the output.. oldest first? Newest first? And the visualization... how to see the digit road map side by side with all other digits...
I have a feeling that diving into bioinformatics will yield some new techniques.
Not even 1 number... interesting how 3 of the white balls were from the hot category, along with one NA and one NB. The mega ball was from the NA category.
This illustrates how regardless of the stack of information I gather, there is just no clear cut prediction. White ball 51 was not even in the follower transition options for the third position... the mega ball was 04, the second NB from the transition, I played the first NB from the transition point.
So since it is all coincidence anyway, at least this "strategy" equates to 1 chance per game... however it is yet to be determined if alternation in both games is the best move or just going with PB...
From the classification, the draw after sorting was
Neutral Above Median, Hot, Neutral Below Median, Cold
And the power ball was Neutral Above Median.
I matched 1 white ball, but not in position, so technically I matched none.
The double draw matched zero.
Will get the first look at MM Friday.
All of my selections came from the transition areas in the neutral band. Trying this time to use the classifier distribution counts to see if there was an imbalance that might work itself back to balanced... this is why the same combo was played for all 3 PB draws... the balancing may not happen exactly when you want it, but it seems to happen eventually. There was no useful data from the draws out metric.