Recent Fix Deployed for Big FanDuel Files with Malformed Lines

Affected users should reupload FanDuel files that hit a specific 500 error line limit.

Today, we identified and deployed a fix affecting a very small number of high volume FanDuel users. If in the past two months you have done a FanDuel upload that had 500 line errors and then aborted, this will have affected you.

Am I affected?

Probably not — we believe only a very small handful of customers are impacted (and we've reached out to you directly to let you know).

If you want to check: Go to your uploads page and if there is a "warning" arrow next to a FanDuel file imported since August 2021, click on it. In the popup, look at the bottom right "errors detected." If this is less than 500, don't worry - you're not affected. If it is exactly 500, then you are affected.

Okay, I've got a FanDuel file with 500 errors. What now?

It's a simple fix: Just download that file (in the popup there's a Download button), then re-upload it to RotoTracker. This will re-import, skipping over lines that already exist and filling in the gaps.

I have loads of files with 500 errors. What should I do?

If you like, you can do a fresh, full sync using RotoTracker Sync. You'll need to make sure you download everything in the last couple of months by overriding default settings and setting a number in the settings that will more than cover your last couple of months history.

Give me the nitty gritty technical details of what actually happened!

Sure thing. So, FanDuel has historically always had a weird bug in its CSV files: For some (but not most!) contests that did not run — those flagged as "ended unmatched" or "voided" — they will not have a date field in the CSV data. We're not talking an empty date (which could make sense if the contest never ran), but literally one less column in the row. That was basically a malformed file. RotoTracker used to try to import that line, wonder why the text "MLB 50/50 Contest $50" is not a valid date, and throw an error.

That's normally fine — RotoTracker will just flag this as an error and move on. That line is not imported (I mean, there's no way to import it without a date), but being that these are voided entries anyway, that's fine.

However, this resulted in lots of users understandably asking why they were getting so many errors in their FanDuel files. So, to make the user experience better, a couple of years ago we put in a special check for this case: So if we see those lines (one less column, no date, on a voided contest), we silently skip the line, rather than flag as an error.

Unfortunately, a couple of months ago FanDuel changed their file format. We updated RT immediately to handle it, but it had an unexpected knock on effect: our special check above stopped working, and these bad lines were reported as errors again, not silent skips.

But even that would be fine because, as noted, errors are just skipped over. Not an issue. However, we recently introduced a change to the importer so that if a line hits 500 errors, there's probably a really serious issue with the file, so let's stop the import. We did this because we had some users upload files of hundreds of thousands of lines long, all with errors (not their fault! that's a DraftKings issue and a story for another time...).

So that resulted in people who had 500 of these bad FanDuel lines having imports stop halfway through and not import the full file. The thing is, that is very rare, because the issue itself is rare. So only really big FanDuel uploads would hit this issue, and only certain players would see it.

So there you go — the full details! Now scroll back to the top and get re-importing!


FanDuel Format Tweaks Causes RT Sync Issues

Easy one-time fix available if you're having issues doing a sync with our browser extension.

FanDuel has just made a slight tweak to their CSV file format, which is causing a problem for some users using our RT Sync browser extension. If you've been having issues the last couple of days, here's the quick fix. Below, we'll explain a bit more.

Quick Fix

If you're finding that RT Sync is trying to download your entire FanDuel account history, which is taking ages or ultimately failing, here's what to do.

  • In RT Sync, click on Sync Settings button in the bottom right.
  • Check the box "override default settings for FanDuel and Yahoo."
  • In the text box below, next to always upload my latest...", enter in a number that will be more than enough to cover all your latest results you want to import (don't worry about putting in a number that's too big — duplicates will not import. Which are just trying to avoid importing your entire database!)
  • Save settings, then do a Sync as normal. This should work fine, and upload the number you chose.
  • You can then go back into Sync Settings, and uncheck this option. You shouldn't need it next time.

Here's what's going on

FanDuel updated their CSV file format over the weekend. The change was small: In the last field, which provides a link to view the entry, they removed the domain from the URL. So instead of https://fanduel.com/entry/AJVBHXFRJ it was changed to just /entry/AJVBHXFRJ

This is generally not a problem — our importer handled this fine (we've just pushed up a quick update to better handle this so links still work and point to FanDuel). However, it caused one substantive issue with how RT Sync works.

RT Sync's default behavior is to first gets the top lines of your latest successful file upload to our system. It then polls FanDuel and gets your latest results, 250 lines at a time. It checks each line, and if it already exists in our database then the process stops, as it knows it has hit a duplicate. That way, RT Sync doesn't have to upload your entire database each time, which would be a slow process.

However, because the line format has just been changed, this check for duplication fails — it never finds a duplicate. So it proceeds to download your entire history from FanDuel and upload that to our servers.

That in itself isn't really a problem. It would take a little longer, but the results get uploaded and our server would skip any duplication. However, for users with really big databases — like tens or hundreds of thousands of results — the process can be very slow and sometimes really big file uploads can fail as well.

So the recommended recourse above changes this behavior and tells RT Sync to ignore the duplication check and just upload a set number of lines. This only needs to be once because after one sync, your lines will include the new-style links, so for future checks the duplication checker should work again.


Support for FanDuel's Olympics and the one-off MLB Derby Contests Added

If you had errors in the last couple of days, do a reimport.

Just a quick note to say that we have just deployed a quick update that supports FanDuel's new "Olympics" sports category, as well as handle the one-off "$25K MLB HR Derby Free Play" contest, which FanDuel categorized as a new "derby" sport.

Olympics events will go into the "TV" category, which is sort of our catch-all for one-off events or niche/novelty contests. The Derby event goes in the existing MLB sport, of course.

If you did a FanDuel import in the last couple of days and got errors, this will be why. If you do a reimport now, these missing contests should import correctly. If you use RotoTracker Sync, the easiest thing to do is delete your last FanDuel uploads which had the errors, then do a fresh Sync.

Update Monday 26th July: Now also added support for OLYW (Women's Olympics events) too.


RotoTracker Adds Support for Euro 2020, Valorant and DOTA2

New sports from FanDuel and DraftKings gets first-class support.

We have updated RotoTracker to support various new sports added by FanDuel and DraftKings.

  • Euro 2020: FanDuel has created a new sport for these contests, which was not understood by RotoTracker. We have updated the importer so that these are now correctly categorized in the existing "Soccer" sport. (DraftKings results were already correctly classified, so no changes necessary there).
  • DOTA2: DraftKings recently added both Classic and Showdown contests for the ultra-popular DOTA2 esport. We have added a new DOTA2 category.
  • Valorant: Both DraftKings and FanDuel recently rolled out contests for the team-based FPS Valorant. We have added this as a new sport.
  • Niche contests: FanDuel recently ran a couple of one-off contests: an MLB contest tied in with Amazon Prime which was categorized curiously as "tourney" and a tie-in with Dr Disrespect. We have put both into the existing "TV" sport, which is a catch-all for niche and one-off contests that do not justify their own classification.

If you have already tried to import FanDuel contests with these new sports and had errors

You just need to reimport your files and RotoTracker will "fill in the blanks" and import those previously skipped. The only catch here is that if you use RotoTracker Sync, it will by default "skip" over these old records. To get around this, you can either:

  • Change a setting to override this behavior in RotoTracker Sync and specify exactly how many results to upload. See this FAQ for more details. This will be a one-time change — you can switch it back afterwards.
  • Do a one time manual upload of your latest file to fill in recent blanks.
  • Or, alternatively, you can follow the "delete and reupload" strategy like you would DraftKings — see below.

If you have already tried to import DraftKings contests with these new sports and had errors

For DraftKings, if you wish to fill in the blanks you will need to delete your uploads back to a point prior to any errors, then do a fresh Sync and re-import. Deleting uploads is easy — just click on them in the Uploads section here and choose "delete." Then just do a fresh import manually or with RotoTracker Sync.

For more info on deleting uploads, see this FAQ.


RotoTracker Adds Support for FanDuel's Beat The Score Contests

New category opens up possibility for special BTS reports in the future!

FanDuel Beat the Score logo

On Sunday, we pushed out an updated that fully supports FanDuel's Beat the Score (BTS) contests. Now, when you import results with BTS, these will now be categorized correctly in their own category (instead of being grouped into GPP like before). That means you will see BTS in your category cohort and it'll be a filter in the category filter dropdown.

Perhaps even more importantly, BTS will now not be included when you filter to GPP. This is especially useful when looking at the new rad finish distribution charts (which we have yet to blog about — more on that soon!)

As always, these changes do not work retroactively — so if you have have historic BTS results you want properly categorized, you will need to delete previous FanDuel uploads then do a reimport or Sync again. When they are imported, they will be properly categorized.

However, what's most exciting about this update is that we are also storing the target score of the contest. This opens up some exciting opportunities for special BTS-special reports — like seeing how far above/below the target you finish. There are also some contests you can "beat" (going over the score) but still make a loss when the threshold is so low that too many people beat it to make money — RotoTracker should be able to help you identify these situations and choose the most profitable thresholds.

We are still working on these special reports, but because we are storing the target score from now, these future reports will work retroactively (assuming you do a delete/re-import now, as described above).

Actually, we'd like you to help us add these new BTS reports. Are you a BTS player? Got ideas on how we can best show reports, filters and charts for these contests using the new "target score" column? We want to put together a small focus group of RotoTracker+ customers to try out new features and give us feedback.

If you'd be interesting help us shape this exciting new feature, please get in touch with the form on the right-hand side or by shooting us an email directly. Just put "BTS focus group" in the title or first line of the message!

For everyone else, stay tuned — as soon as we're happy with the new feature we'll be rolling it out to all RT+ customers.


Quick links

Search the FAQ