The Recommendation Engine is the core of CORS. It scores every course in your catalog using an ensemble machine learning model trained on your historical enrollment data, then marks each course as Recommended or De-prioritized for the upcoming semester. This guide walks you through a complete analysis from start to finish.Documentation Index
Fetch the complete documentation index at: https://cors-lau.vercel.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
If you need to understand what the output fields mean — offer score, latent demand, bottleneck score — see Understand and Interpret Recommendation Results.
Prerequisites
Before running an analysis, make sure you have:- Uploaded your course catalog (JSON) from the Data Management page
- Uploaded your historical offerings data (CSV or XLSX) covering at least one full semester
Steps
Open the Recommendation Engine
Navigate to Recommendation Engine in the sidebar, or click the Run Analysis action in the Dashboard banner at the top of the home page.
Review the analysis target term
CORS automatically detects your Analysis Target term — for example,
Fall 2025 — based on the most recent semester present in your historical offerings data. Confirm this matches the semester you are planning for before continuing.The analysis target is read-only and inferred from your data. If the term shown is incorrect, check that your historical offerings file includes the expected semester entries.
Select your campus
Choose either Beirut or Byblos from the campus selector. CORS maintains a separate ML model calibrated for each campus, so your results will reflect enrollment patterns specific to the campus you select.
To generate recommendations for both campuses, run the analysis twice — once per campus. See the FAQ for details.
Enter expected new enrollment numbers
Provide the number of new students expected to enroll in the upcoming semester. These values feed into the latent demand calculation.
Adjust these defaults to match your registrar’s projections. Higher enrollment numbers increase latent demand estimates across introductory courses.
| Student type | Default | Description |
|---|---|---|
| New Freshmen | 50 | First-year undergraduate students |
| New Sophomores | 100 | Second-year undergraduate students |
| New Masters | 10 | Graduate students entering the program |
Configure capacity quotas (optional)
Enable Strict Capacity Quotas if you want to constrain the number of recommended courses per department and type. When this mode is active, the system selects exactly the top N courses by offer score per slot, rather than using the ML threshold.The default slot limits are:
You can edit each limit directly in the quota configuration panel. Leave this toggle off to use standard ML threshold-based recommendations.
| Department / type | Default slots |
|---|---|
| CSC Core | 12 |
| CSC Elective | 3 |
| BIF Core | 6 |
| BIF Elective | 2 |
| MTH | 8 |
| STA | 3 |
Execute the analysis
Click Execute Analysis. CORS runs predictions for every course in the catalog — this typically takes a few seconds. A progress indicator is shown while the engine is working.
If your ML models have not been trained on recent data, click Recalibrate Intelligence before executing. This retrains the ensemble models on all current historical offerings and should be done whenever you upload new data.
Review the results table
Once the analysis completes, the results table lists every course with its recommendation status:
- Recommended — the model is confident this course should be offered. Plan to include it in the semester schedule.
- De-prioritized — the model scored this course below the offering threshold. Consider skipping it unless you have programmatic reasons to offer it.
Filter to priority courses
Use the filter controls above the results table to narrow your view. A useful starting point:
- Set Status to
Offer - Set Demand to
High
Inspect AI reasoning (optional)
Click Why? on any course row to open the reasoning panel. It shows:
- Latent demand — the estimated number of students ready to take the course
- Bottleneck score — how many downstream courses are blocked if this course is not offered
- Model confidence — the raw ensemble probability (0.0–1.0)
Next steps
Once you have your list of recommended courses, proceed to the Timetable Scheduler to assign time slots, rooms, and faculty.Build and export a timetable
Schedule your recommended courses into a full semester timetable and export to Excel.
Interpret recommendation results
Learn what offer score, latent demand, and bottleneck score mean in detail.