Fantasy XI Optimizer Machine Learning Final Year Project with Source Code (Flask + Python)

Fantasy XI Optimizer Machine Learning Final Year Project with Source Code (Flask + Python)

Build your own Dream11 brain. A Flask + Random Forest app that predicts fantasy points for 229 FIFA 2026 players and then solves for the mathematically best XI under your budget. Full source code included.

Technology Used

Python | Flask | scikit-learn | PuLP | Pandas | Plotly | Bootstrap 5 | Jinja2

codeAj
codeAjVerified
🏆5K+ Projects Sold
Google Review
3991999

Get complete project source code + Installation guide + chat support


What This Project Actually Does

You pick a budget. You pick a formation. The app hands you eleven players that squeeze the maximum predicted fantasy points out of that money. That's the whole pitch.

Under the hood two very different things are happening. First, a trained Random Forest model looks at each player's recent form — last three matches of goals, assists, minutes, shots on target, pass accuracy, tackles, distance covered, match rating — and guesses how many fantasy points they'll score in their next game. Then a solver called PuLP takes those 229 predictions and treats squad selection like a knapsack problem: maximise total predicted points, don't cross the budget, respect the formation, and land on exactly eleven names.

That second part is what makes examiners sit up. Most machine learning final year projects stop at "here's my prediction, thanks." This one takes the prediction and feeds it into an actual optimisation algorithm. Prediction plus operations research in one repo. Your classmates will have sentiment analysis on movie reviews. You'll have something people argue about at lunch.

Key Features

Per-Player Fantasy Point Predictor

Pick any name from the dropdown — Haaland, Bellingham, whoever — and you get a predicted score for their next match plus an interactive Plotly chart tracking their fantasy points, goals and assists across the season. The chart is real Plotly, not a screenshot. You can hover, zoom, isolate a series.

Best XI Optimizer (the part that gets marks)

Drag the budget slider anywhere from €50M to €500M, choose 4-4-2, 4-3-3, 3-5-2 or 3-4-3, hit optimize. PuLP runs an Integer Linear Programming solve and returns the squad, a results table, a bar chart of contributions, and a progress bar showing how much of your budget got used. On a normal laptop it comes back in under two seconds.

Analytics Dashboard

Fantasy points distribution histogram, position-wise box plots, top 15 player ranking, a correlation heatmap, and a goals-versus-fantasy-points scatter. Five charts. All of them screenshot straight into your project report without any extra work.

A Real Dataset, Not a Toy One

13,397 match records covering 229 players from the 2025/26 Champions League season, sitting in fifa2026_player_performance_clean.csv. Already cleaned. Already feature-engineered into 16 columns including rolling three-match averages, a lag feature for the previous match, and cumulative goal and assist counts.

Four Models Trained and Compared

Random Forest, Gradient Boosting, XGBoost and LightGBM were all trained on the same split, then compared on MAE, RMSE, test R² and 5-fold cross-validated R². Random Forest won. That comparison table is already in Fantasy_XI_Optimizer_Training.ipynb and it's exactly the kind of table that fills a "Results and Discussion" chapter.

JSON APIs You Can Demo

Two endpoints — /api/predict/<player_name> for predictions and a POST to /api/optimize for squads. If your examiner asks whether the backend is separated from the frontend, open Postman and show them. Takes ten seconds and looks very good.

Honest Note: One Hard Part, One Easy Part

The hard part first, because you should know before you buy. Random Forest's test R² is 0.0384. That's low, and if your guide is sharp they will circle it in red pen. Here's the honest answer, and it's a good one: match-to-match fantasy football is genuinely close to random. A striker who scored a hat-trick on Tuesday might get subbed at halftime on Saturday. What the model actually beats is the naive baseline, and the MAE of 2.44 points means predictions land within about half a goal's worth of reality. Say that in your viva, mention that all four models clustered in the same range which confirms it's a data ceiling and not a modelling mistake, and you've turned your weakest number into evidence that you understood the problem. Trust me, that answer scores better than a fake 0.95 R².

Now the easy part. The optimizer sounds terrifying — Integer Linear Programming, constraint satisfaction, all of that. It's about thirty lines of PuLP inside app.py. Declare binary variables for each player, write the objective, add three constraints, call solve. That's it. You'll understand it in one sitting.

Real-World Applications

Fantasy sports platforms are the obvious one. Dream11, MPL, FPL — the auto-pick suggestion features on those apps run on roughly this logic, just with more data behind them.

But the pattern travels further than football. Swap players for stocks and budget for capital and you have portfolio construction. Swap them for delivery routes and you have logistics planning. Swap them for employees and shifts and you have workforce scheduling. Any problem shaped like "pick a limited set of things under constraints to maximise a predicted value" is the same maths. Scouting departments at actual clubs use versions of this for transfer shortlists under a wage cap.

Who Should Buy This

If you're a student who needs a working project for your college submission, final-year project, semester project, internship, or academic demonstration, this is for you. Whether you're studying BCA, B.Tech, MCA, M.Tech, Computer Science, IT, AI, Data Science, or another related field, you can choose a project that fits your requirements. If you need the source code, project report, documentation, or help setting up and running the project, CodeAj gives you the resources and support to get started faster.

Specifically worth it if your syllabus mentions optimisation, operations research, or decision support systems — this covers those units and the machine learning unit at once. Also good if you want a demo that a non-technical panel member instantly understands. Everyone gets fantasy cricket.

Why CodeAj

You get the complete codebase, the trained .pkl model files so you don't have to retrain anything on day one, the cleaned dataset, the full Jupyter training notebook, and a project report you can adapt to your college's format. If the app throws an error at 11 PM the night before submission, message us — setup help is part of what you paid for, not an upsell. Browse the rest of our AI and ML final year projects if you want to compare a few before deciding, or head straight to the machine learning projects with source code collection. Everything there ships the same way: code, report, support.

Building this from scratch would eat three or four weeks. Feature engineering alone — getting rolling averages and lag features right without leaking future data into your training set — is a week if you've never done it. You're skipping that and spending your time on understanding and presenting instead.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
Say it straight: single-match fantasy scoring is close to random by nature. A striker with a hat-trick on Tuesday can get subbed at halftime on Saturday. Point at the fact that all four models landed in the same range, which proves it's a ceiling in the data and not a bug in your pipeline, then pivot to MAE of 2.44 points as the metric that actually matters here. Guides respect that answer far more than an inflated number.
No. best_fantasy_model.pkl and position_encoder.pkl come pre-trained in the folder, so the app loads them and works immediately. The training notebook is there if you want to retrain or if your guide asks to see the process, but for a demo you can skip it entirely.
Yes, and honestly it's a smart differentiator. Keep the same column names in your CSV, adjust the points formula in app.py for cricket scoring like runs and wickets, and change the position groups from GK-DEF-MID-FWD to batsman-bowler-allrounder-keeper in the formation logic. The optimizer code needs almost no changes because it doesn't care what the positions are called.
PuLP is a Python library for linear programming. In this project it decides which eleven players to pick. Explain it like this: every player gets a yes-or-no switch, the solver flips switches to make total predicted points as high as possible, and three rules stop it cheating, namely the budget, the formation, and exactly eleven players. That explanation takes forty seconds and it's accurate.
Nothing is wrong, that's deliberate. Port 5000 clashes with AirPlay on Mac and with a few other services on Windows, so the app was set to 5001. Just open http://127.0.0.1:5001 in your browser. If 5001 is also busy on your machine, change the port number in the last line of app.py.
A report comes with it, covering abstract, literature survey, system design, methodology, results with the model comparison table, and future scope. You'll still need to reformat it to your university's template and add your own name, guide details and college logo. Nobody should submit it untouched.
A captain and vice-captain multiplier is the best one. Real fantasy platforms double the captain's points, so add a rule that the highest predicted scorer in the optimal squad gets a 2x multiplier and show the adjusted total. It's maybe forty lines, it demonstrates you actually understood the objective function, and it gives you something concrete to talk about when they ask what you contributed.
Plotly loads from a CDN by default, so no internet means blank chart areas. Fix it beforehand by downloading plotly.min.js into static/js and pointing base.html at the local file instead of the CDN link. Do this the day before your demo, not during it.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Live 1-on-1 Mentorship

Personal session with an expert developer

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

4.9(38+ reviews)
Google review 1
Google review 2
Google review 3
Google review 4
Google review 5
Google review 6
Google review 7
Google review 8
Google review 9
Google review 10
Google review 11
Google review 12
Google review 13
Google review 14
Google review 15
Google review 16
Google review 17
Google review 18
Google review 19
Google review 20
Google review 21
Google review 22
Google review 23
Google review 24
Google review 25
Google review 26
Google review 27
Google review 28
Google review 29
Google review 30
Google review 31
Google review 32
Google review 33
Google review 34
Google review 35
Google review 36
Google review 37
Google review 38
⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support