Math Magician Lineup Bot 2.0

Here is where we will be tracking the Math Magician Lineup Bot 2.0 throughout the NFL season. I’ll do my best to get into an actual FanDuel contest for as many of the lineups as possible, but since the bot creates a lineup for all single-game slates, I won’t be able to get actual contest data for all of them. I expect to play all the prime-time slates, but not every lineup that gets posted all Sunday.

Disclaimer: All Daily Fantasy Sports (DFS) content on this site is intended for educational and entertainment purposes and is in no way intended to be any sort of gambling or financial advise or recommendation. There are no guaranteed winnings, and users are responsible for complying with local laws and FanDuel Terms of Service. These are my actual entries, not every lineup the bot posted. One unit is my usual entry amount; stakes varied by slate. Past results don’t guarantee future profits. I am simply sharing my process and tracking how it plays out.

2026 Season

You can see all results for the lineups I play throughout the season in the tracker below. I measure my entry fees and winnings in units instead of dollars. 1 unit represents the entry fee I typically would play for any slate and lineup created by the 2.0 bot. I typically try to enter these lineups in GPP contests. I do like to play a little more than 1 unit for the first 3-5 weeks of the season and in the playoffs, especially in prime-time games. For most of the regular season, I plan to do 1 unit entry contests.

Math Magician Lineup Bot 2.0 Tracker

Week 1 Recap

A profitable opening week for the entries I played, led by a big Sunday-night result!

My tracked results

  • Slates played: 9
  • Cashed: 3 of 9
  • Entry fees: 15.61 units
  • Total payouts: 31.52 units
  • Net profit: +15.91 units
  • ROI: +101.9% (net profit / entry fees)

One unit is my usual entry amount. Stakes varied this week, and I didn’t enter every slate. These results reflect my selected entries, not every lineup posted in VIP. Results will differ depending on the contests, lineups and entry amounts you play.

The highlights

NE @ SEA and BUF @ HOU each returned 2x the entry amount.

DAL @ NYG was the standout: 1.60 units entered, 20.30 returned, +18.70 units net. Dart at MVP and the value from Likely helped drive that result.

Sunday night’s result drove the week: the other eight entries combined finished -2.79 units. That’s important context alongside the headline profit. Keep in mind, my goal with this bot is to maximize our chances of setting an optimal lineup and getting a takedown. One big win paying for all the other entries is the desired result.

Monday-night transparency

I manually changed the bot’s KC defense selection to Denver before playing. This was mainly because we had Bo Nix at MVP and it is very unlikely to have an underdog QB at MVP, the opposing defense who is favored in the lineup, and that lineup be optimal for the slate. In fact, it never happened in the entire 2025 season. That entry missed the cash line. Keeping KC would have added 9 points, enough to clear the listed cutoff. The loss from my override is included above.

I’ve since updated the bot’s MVP/defense correlation rules after doing a deep dive into the data specifically regarding the team and position of the MVP and which defenses appeared in optimal lineups. That change will need more data before we can judge its effectiveness; it doesn’t change the results recorded this week.

I’ll keep sharing the wins, losses and any deviations from the bot as well as what we learn from it. This is one week’s performance, not a promise of future returns. DFS involves risk.

On to Week 2!

Week 2 Recap

Rough week: none of the six lineups I played cashed.

My tracked results

  • Entry fees: 9.00 units
  • Winnings: 0.00 units
  • Net: -9.00 units

DET-BUF: -2.20u
MIN-CHI: -1.00u
PIT-NE: -0.40u
WAS-DAL: -1.00u
IND-KC: -2.20u
NYG-LAR: -2.20u

Season to date: +6.91 units
24.61 units entered / 31.52 units returned.

What I’m reviewing

Injuries to Caleb Williams, Jayden Daniels, and Jaxson Dart hurt, but injuries aren’t the whole explanation.

After Sunday, I became concerned that the optimizer was giving QBs too much weight, both at MVP and in two-QB builds. Across the six lineups I played this week, four had a QB at MVP and five included two QBs. Week 1 had similar builds. That alone doesn’t prove those builds are wrong, but it’s a pattern worth investigating.

Before Monday’s game, I made small adjustments intended to reduce QB usage slightly. Monday still missed, and one game can’t tell us whether those changes help.

I’m keeping the adjustments measured and giving them time rather than making a major overhaul after a rough week. This week I’ll dig into some additional data I’ve figured out a good way to collect to see whether it supports further changes, and I’ll keep monitoring the results.

I’ll continue sharing the losing weeks alongside the winning ones, along with what I’m learning and changing.

Week 3 Recap

Some payouts this week, but still a losing week overall. The six entries I played finished −2.13 units, bringing the season total to +4.78 units.

My Tracked Results

  • Slates played: 6
  • Received payouts: 3 of 6, including one partial return below the entry fee
  • Entry fees: 9.60 units
  • Total payouts: 7.47 units
  • Net profit/loss: −2.13 units
  • ROI: −22.2% (net profit / entry fees)

ATL @ GB: −2.20u
NYJ @ DET: −0.43u
ARI @ SF: +1.00u
BAL @ DAL: −1.00u
LAR @ DEN: +2.70u
PHI @ CHI: −2.20u

Season to date: +4.78 units
34.21 units entered / 38.99 units returned.

One unit is my usual entry amount. Stakes varied, and these results reflect the entries I actually played, not every lineup posted in VIP.

The Highlights

LAR @ DEN was the strongest result: 2.20 units entered, 4.90 returned, and +2.70 units net, with Kyren Williams at MVP.

ARI @ SF returned 2.00 units on a 1.00-unit entry, adding another +1.00 unit.

NYJ @ DET finished exactly on the listed cash line, but the tie resulted in only 0.57 units returned on a 1.00-unit entry. That counts as receiving a payout, but it was still a −0.43-unit loss, not a profitable entry.

BAL @ DAL finished just 0.80 points below the listed cash line. Close, but still a loss, and recorded that way.

What I’m Changing

Last week, I discussed concerns about how heavily the optimizer was favoring QBs, particularly at MVP. Since then, I’ve been able to collect and analyze additional historical FanDuel contest data that previously required a lot of manual, time-consuming work.

Having a more efficient way to gather that data opened up some additional analysis. We’ve used it to build an alternate model, with the main changes focused on MVP selection.

Rather than immediately replacing the existing model, the bot will start creating two lineups for each slate:

  • Primary lineup, first: Uses the same model we’ve been using.
  • Alternate lineup, second: Uses the new, less-tested model incorporating the additional historical analysis.

Tracking Both Models

For at least the next few weeks, I’ll share results for both models separately so we can follow how each performs. After that comparison period, the plan is to select one model for ongoing use, mainly to keep posting and tracking straightforward.

The alternate model is less tested, and a few weeks of live results won’t establish that one model is better. This is a chance to evaluate the changes, not a claim that the new version will produce better returns.

I’ll continue sharing the wins, losses, and model changes as we go. DFS involves risk, and past results don’t guarantee future profits.

Week 4 Recap

Coming soon