This is a tracking tool for use with the FortuneBox android app. FortuneBox is an app that purports to give away gift cards and other prizes. (I have personally already won a $25 amazon gift card, so I know it does give away at least some prizes once in a while.) Is it legit? Or, is it trying to pull a fast one on us all? That's what you can figure out (with some probability of being correct) by using this tool.

So, here's how the FortuneBox app works. You will see giveaways that you can enter. These can be giftcards, phones, tv's, etc. You enter the giveaway by hitting the "Enter" button. Every giveaway has a certain number of target entries that, once reached, ends the giveaway. In other words, once enough people enter the giveaway enough times it gets closed down. For example, a $100 amazon gift card giveaway might have 23,250 total entries. Once all the players who entered that giveaway reach a total combined number of 23,250 entries, the contest is closed, and the prize is (presumably) given away to the person with the winning entry. Each player may enter as many times as he likes (but there is a limitation on the total number of entries any single person can have per day, not sure how many, but it's in the 100's.) The way the app makes its money is via advertising. Many of your clicks will bring up a full screen ad, which you will need to close in order to proceed. The good thing with this app is none of the ads require you to wait until the ad finishes playing. Longest I've had to wait is like 5 seconds, but that's rare. Most of the time you can immediately dismiss the ad on move on.

Each time you enter a giveaway you are randomly given a number between 0 and the total number of entries in that giveaway. In the previous example of the $100 amazon gift card with 23,250 entries you would be given a number between 0 and 23,249 for each of your entries. The winning number is determined mathematically by the following method: take the final 20 entries, assign a timestamp (number of milliseconds elapsed since January 1, 1970) to each, add up all those timestamps, and take the remainder when dividing the timestamp sum by the total number of entries in the giveaway. Even though the final 20 entries' timestamps are used for the calculations, all of the entries will have the same chance of winning, whether it was the first entry, the middle entry, of the final entry in the giveaway, they all have the same chance of winning. Note also the remainder in the division will always be a number between 0 (no remainder) and the divisor - 1. Examples: 3/3 = 1 remainder of 0. 4/3 = 1 remainder of 1. 5/3 = 1 remainder of 2. 6/3 = 2 remainder of 0. Any number larger than 3 that you divide 3 into will always have a remainder of 0, 1, or 2. Even though the timestamp sum is a huge number (an example of a recent timestamp sum is 30145073669515) taking the remainder of dividing it by the total number of entries in a giveaways guarantees the remainder will always be one of the numbers assigned to one of the entries.

I can think of a number of ways this could be rigged. One way would be to have "house players", which wouldn't be real human players, just entries that go to usernames the app developers can claim are other human players. When I check the results and see somebody named "Jenny G." won, how do I know Jenny G. is a real person? They could be giving 80% of the entries to dummy accounts, thereby risking only actually having to give the prize away 20% of the time. I'm not saying this is what is actually happening, just giving examples of ways the system could be rigged. Another method would be to fudge the timestamps to ensure the timestamp sum (only would need to fudge one timestamp) comes out to a number that, when divided by the total number of entries, results in a remainder of the desired winning number, which could be the only one that was assigned to the house dummy player account. And since we never see the actual timestamps (just the timestamp sum)...

How does this tool on this page help me determine whether FortuneBox is rigged?Since you know how many total entries there are in each giveaway, along with how many times you entered, it's simple enough to figure out your probability of winning the giveaway -- it's merely your number of entries divided by the total number of entries of all players. As a simple example, if there were 100 total entries and you had 50 of them your probability of winning would be 50 / 100 = .5 = 50%. It's always way more than 100 total entries, but I think you get the point. Your entries / total entries = your probability of winning. The problem is your chance of winning any given giveaway will always be very, very small. Best I've managed so far is about a 1% chance of winning. But this is also easily overcome by entering many different giveaways. Let's say you entered 100 giveaways and you had a 1% chance of winning each giveaway. What is the probability that you lost *all* 100 giveaways? Answer: 0.99^100 = 0.366. There was only a 36.6% chance of losing *every* giveaway. If you played that many times with 1% chance each and you didn't win any of them, then you can be 63.4% certain the game was rigged. So, what this tool does is it gives you a way to determine the likelihood that the game is rigged. 63.4% is by no means a gimme, but it does mean if you didn't win any of those giveaways it's more likely than not the game was rigged against you. Each time you play that percentage will increase, edging closer and closer to 100%, but never quite reaching it. By the time your reach 90% and still haven't won anything yet, you can be fairly certain it was rigged.

The tool works just like a spreadsheet. You enter values only in the 3 left-most columns (and in the right-most column if you are lucky enough to win something). First thing to do is click the Add New Entry button. This will add a new blank row to the spreadsheet table. Next, you enter your data into the 3 cells on the left side: Prize Value, My Entries, and Total Entries. The rest of cells in the row will be calculated by the tool. If you win something, put the value of the item in the Winnings column (the one all the way to the right). You can hit the Calculate/Save button to force the calculations if necessary, but I believe I have it working where it automatically recalculates for you as you enter your data. Use the tab key to easily navigate between cells. Your table of data will be saved in your browser in something called local storage (nothing is saved to my server, it's all saved locally in your browser). Data is automatically saved anytime the data is calculated, which happens automatically when you change any cell's value or when you click the Calculate/Save button. The Load Entries button will load a previously saved set of data, but this is also automatically loaded when the page loads, so you shouldn't need to use that button very often. The Clear Table button will do as the name suggests, clear the table. But this doesn't delete the data stored in local storage in your browser. To do that, hit the Clear Storage button. (Just be careful hitting Clear Storage because there is no way to recover your lost data once it's cleared.)

The Prize Value is simply the value of the prize in the giveaway. FortuneBox always gives us this information, so just use what they give you. (Alternatively, if you disagree with their valuation, enter your own valuation.) The My Entries field is where you enter the number of entries you have in the giveaway. Enter as many times as you like, just keep in mind you do have a daily limit and also the time you spend entering one giveaway is time you could have spent entering another giveaway (or doing the laundry). The Total Entries column is where you enter the total number of entries by all contestants.

Win Probability is the probability that you will win this particular giveaway. It's always a decimal number between 0 and 1, with 0 being no chance and 1 being guaranteed victory. If you prefer to think of it as a percentage, just move the decimal 2 places to the right and you have our percentage. Example: 0.0023 = 0.23%.

1 in xx Odds is the same as the Win Probability, except it's given in terms of a chance of winning as expressed as 1 in xx. For example, a win probability of .01 = 1% = 1 in 100. 0.02 = 2% = 1 in 50. 0.05 = 5% = 1 in 20. I think it's easier to understand the odds when they are expressed as 1 in xx, but that's just me.

Win Something Probability is where the action is. This tells you your probability of winning *at least 1* of the giveaways you've entered up to that point (or since your last win if you've won something already). This value is determined as the product of all the other single game Win Probability numbers subtracted from 1. I gave the example above of using 1% Win Probability in 100 giveaways. This would give you about a 63.4% chance of winning at least one of the giveaways. If you play 100 times at 1% each and still don't win you can be 63.4% certain the game is rigged. What does that mean? Well, it means the game is probably rigged, but not necessarily so. Keep playing until you get that number even higher to increase your certainty level. (Note: if you enter a value in the Winnings column, this resets the Win Something Probability and Win Something Odds for the next giveaway in the spreadsheet just as if it was the first one in the table.)

Win Something Odds is similar to the 1 in xx column covered above. It just gives you the Win Something Probability expressed as the odds of winning as 1 in xx, with xx being the number in the cell. As an example, 63.4% would be 1 in 1.57 odds of winning. This number will drop with each new giveaway you add to the tool, but will never quite reach 1.

Value Per Entry tells you the *average* real value of each entry in the giveaway. (All of the entries have zero value except the winning entry, which is worth whatever the prize is worth.) This will help you determine where you should be spending your entries in order to maximize your winnings (presuming the system isn't rigged against you). The bigger the prize and the fewer total entries, the bigger this value in this cell will be. Should you try for the $25 gift certificate with 5,925 total entries or for the $100 gift card with 23,250 total entries? The $100 entries are valued at $0.0039 each whereas the $25 entries are valued at $0.0042 each, so it actually pays to try for the $25 card rather than the $100 card.

Value of Entries gives you the total value of all your entries in that giveaway. This is simply My Entries multiplied by Value Per Entry. If this is a fair system (not rigged) that's the average value you will earn for that number of entries in that type of giveaway if you use the app long enough.

Cumulative Entry Values gives you the sum of all the Value of Entries numbers up to that point. If you use this FortuneBox app for, let's just say, a year of daily playing. By the end of that year the amount in the Cumulative Entry Values box should be approximately the same as the amount you will have won in total prizes (if it's a fair game and not rigged against you). As I type this my Cumulative Entry Values box stands at $11.50 and my actual winnings total stands at $25, so I'm still ahead of the game, so to speak.

Winnings is where you enter the prizes you have won. This is optional, but what it really does is it zeroes back out the Win Something Probability and Win Something Odds cells, allowing you to reset without having the clear out the table and start all over. Note: it does not zero out the cumulative values cells. My recommendation is to always put your winnings in that cell. If you win something you might figure, hey, this is a fair system, so I won't bother entering all this stuff anymore, and that's fine, but you really won't know for sure the game is straight if you stop using the tool. I've mentioned that I already won something ($25 amazon card), but that doesn't mean I'm convinced yet of the game's legitimacy. They might be letting a few people win these $25 cards just so they'll go on the play store and give them some good reviews and testimonials (as I have also done).

I've only been using this app for a short time (about 10 days or so), but I have a few observations I would pass on to you. Use a different number of entries instead of always using, for example, 25 entries per giveaway. This will make it easier to enter the data into this tool because it resolves some ambiguities (did I enter this one already or was it the other one?). Wait until *after* the giveaway is "announced" before keying in the data into this tool. If you enter while the giveaway is still being processed, sometimes they can get rearranged, making it more confusing to enter. They way I do it is enter prize value, my entries, and then tap the giveaway to see who won and hit the link that shows how the number was generated (to get the total number of entries value). Pay attention to the Value Per Entry values for the various giveaways and focus your attention on those that offer the best value. This *should* theoretically help you maximize your winning over the long term. Enter several different giveaways rather than spending all of your daily entries on the same giveaway. Think of it like this: if you had 1 entry in 100 giveaways you would have a chance (a very small chance, albeit) to win 100 prizes, whereas if you had all 100 entries in the same giveaway the *most* you could win would be that 1 single prize. (99 of your 100 entries are guaranteed to be losers, another way of looking at it.)

There are probably still a few things I will be adding to this. As it stands it's just something I cobbled together one afternoon. I plan to use it myself, and I'm sure I'll probably come up with some ideas to make it better or more user-friendly. But I won't make any changes that will "break" your existing data by rendering the data stored in local storage incompatible. I'll include a changelog in this location as I make changes.

v2017.10.06 -- Initial public release

v2017.10.09 -- Replaced 0's in first 3 leftmost columns with empty spaces to prevent extra 0 errors when entering new data.

v2017.10.09 -- Added comma separated volume (CSV) support via copy/paste for loading/saving to csv file

Many spreadsheet programs support CSV files. In Open Office Spreadsheet you can copy csv file contents to the clipboard, then choose Paste
Special (CTRL+SHIFT+V) and choose "unformatted txt". Another box will popup. Select the checkbox next to the word "comma" to set the
comma as a delimiting character. Then OK to paste in the data. Similary, you can save to CSV format win the Save As... dialog by selecting
CSV as the filetype. You can also simply save the csv contents to a text file for safe keeping by pasting into notepad, then saving from
there. I can't simply open a file save dialog from within the browser due to security limitations of html5. (Well, I suppose I could -- see
workoutgensdonline.)

v2017.10.10 -- Added capability to save CSV file to disk and vice-versa. The textarea control (Textbox) is used as the go-between between the disk and the table. CSV file contents must be staged in the Textbox before moving either to the table (Loading CSV to Table) or to the disk (Saving CSV to File). I know this seems cumbersome and over-complicated, but it's simple enough once you get the hang of it. Care must be taking in using the Load CSV to Table button since this will overwrite whatever is in the table with whatever is in the Textbox, and is not reversible. I have some minimal error checking (balks if the Textbox is empty), but it's minimal. This is why the Load CSV to Table button is in red text, to signify it's a hazard to use if used incorrectly.

v2017.10.12 -- Decided to separate Calculate/Save button into separate Calculate and Save buttons. Table is now no longer automatically saved upon calculating new entries. You'll need to manually save to local storage by hitting the Save button. The advantage is it allows users to recover from accidentally deleting the table. Disadvantage is if you forget to Save you will lose your changes between sessions. Save button will be renamed to *Save to indicate you need to save your data each time calculate() is called, such as when adding new entries or modifying data.

v2017.10.13 -- Added shortcut for entering "Total Entries" field when using Amazon Gift Cards in $25, $50, $75, and $100 denominations. Enter "00" (without the quotes) if it's an Amazon Gift Card in one of those denominations. The Total Entries required for that particular giveaway will automatically be substituted in for the "00". $25 cards have 5925 entries, $50 cards have 7250, $75 cards have 9375, and $100 Amazon cards have 23250 required total entries.

I welcome all comments/suggestions/criticisms. Drop me a line via mwganson at gmail with FortuneBox Tracker in the subject line.