DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json
DEBUG: major_slug = ""
DEBUG: offers_url is valid, proceeding to fetch data
DEBUG: offers_data.offers found, count = 18
DEBUG: Specific major detected (cip4 = 43.03), keeping min_relevance at 0.8
DEBUG: Starting relevance filtering - min_relevance = 0.8, max_relevance = 1
DEBUG: Checking offer "Homeland Security (I Have a HS Diploma or Associate Degree)" with relevance 0.9
DEBUG: ✓ Offer "Homeland Security (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.9)
DEBUG: Checking offer "Grad Cert - Homeland Security (I Have a Bachelors)" with relevance 0.9
DEBUG: ✓ Offer "Grad Cert - Homeland Security (I Have a Bachelors)" ACCEPTED (relevance 0.9)
DEBUG: Checking offer "Homeland Security (I Have a Bachelors)" with relevance 0.9
DEBUG: ✓ Offer "Homeland Security (I Have a Bachelors)" ACCEPTED (relevance 0.9)
DEBUG: Checking offer "Cybercrime (I Have a HS Diploma or Associate Degree)" with relevance 0.7
DEBUG: ✗ Offer "Cybercrime (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.7)
DEBUG: Checking offer "CCNA & CyberOps Training Boot Camp (All Degree Levels)" with relevance 0.7
DEBUG: ✗ Offer "CCNA & CyberOps Training Boot Camp (All Degree Levels)" REJECTED (relevance 0.7)
DEBUG: Checking offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "MBA - Cybersecurity (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "MBA - Cybersecurity (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Ethical Hacking Dual Certification Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "Ethical Hacking Dual Certification Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "CCSP Training Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "CCSP Training Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "CISSP Training Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "CISSP Training Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Grad Cert - Public Safety Administration (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Grad Cert - Public Safety Administration (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Public Safety (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Public Safety (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: relevant_offers count = 3
DEBUG: relevant_offers > 0, checking for ESYOH offers
DEBUG: ESYOH filtering - found 3 ESYOH offers with relevance >= 0.8
DEBUG: esyoh_offers count = 3
DEBUG: ESYOH offers found, rendering ESYOH widget
DEBUG: most_relevant_only = true, filtering for most relevant
DEBUG: Found 0 offers with relevance >= 1.0
DEBUG: Backfilling with 3 offers with relevance >= 0.9
Finding the Best Value Critical Infrastructure Protection School for You
Where you study critical infrastructure protection affects both what you pay and what you earn. That is why we built our Best Value Critical Infrastructure Protection Schools ranking. It weighs the cost of a degree against the outcomes graduates go on to achieve, so you can find the strongest return on your investment.
Read more about our methodology
Customize Your Rankings
We offer a number of rankings, including this Best Value Critical Infrastructure Protection Schools list, to help you decide. More interested in schools in a specific area of the country? Filter this list by region or state.
Want to compare schools head to head? Try our College Combat tool to weigh the factors that matter most to you.
See how we build our rankings
DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json
DEBUG: major_slug = ""
DEBUG: offers_url is valid, proceeding to fetch data
DEBUG: offers_data.offers found, count = 18
DEBUG: Specific major detected (cip4 = 43.03), keeping min_relevance at 0.8
DEBUG: Starting relevance filtering - min_relevance = 0.8, max_relevance = 1
DEBUG: Checking offer "Homeland Security (I Have a HS Diploma or Associate Degree)" with relevance 0.9
DEBUG: ✓ Offer "Homeland Security (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.9)
DEBUG: Checking offer "Grad Cert - Homeland Security (I Have a Bachelors)" with relevance 0.9
DEBUG: ✓ Offer "Grad Cert - Homeland Security (I Have a Bachelors)" ACCEPTED (relevance 0.9)
DEBUG: Checking offer "Homeland Security (I Have a Bachelors)" with relevance 0.9
DEBUG: ✓ Offer "Homeland Security (I Have a Bachelors)" ACCEPTED (relevance 0.9)
DEBUG: Checking offer "Cybercrime (I Have a HS Diploma or Associate Degree)" with relevance 0.7
DEBUG: ✗ Offer "Cybercrime (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.7)
DEBUG: Checking offer "CCNA & CyberOps Training Boot Camp (All Degree Levels)" with relevance 0.7
DEBUG: ✗ Offer "CCNA & CyberOps Training Boot Camp (All Degree Levels)" REJECTED (relevance 0.7)
DEBUG: Checking offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Cybersecurity (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "MBA - Cybersecurity (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "MBA - Cybersecurity (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Ethical Hacking Dual Certification Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "Ethical Hacking Dual Certification Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "CCSP Training Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "CCSP Training Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "CISSP Training Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✗ Offer "CISSP Training Boot Camp (All Degree Levels)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Grad Cert - Public Safety Administration (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Grad Cert - Public Safety Administration (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Public Safety (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Public Safety (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: relevant_offers count = 3
DEBUG: relevant_offers > 0, checking for ESYOH offers
DEBUG: ESYOH filtering - found 3 ESYOH offers with relevance >= 0.8
DEBUG: esyoh_offers count = 3
DEBUG: ESYOH offers found, rendering ESYOH widget
DEBUG: most_relevant_only = true, filtering for most relevant
DEBUG: Found 0 offers with relevance >= 1.0
DEBUG: Backfilling with 3 offers with relevance >= 0.9
2026 Best Value Critical Infrastructure Protection Schools in the United States
If you want to know which schools deliver the best value for the critical infrastructure protection degrees they offer, see the list below.
Best Value Critical Infrastructure Protection Schools
Leading the list is University Of South Florida Main Campus, our #1 best value for critical infrastructure protection in the United States. Located in the city of Tampa, University Of South Florida Main Campus is a very large public university. In-state tuition and fees average $6,410, with out-of-state students paying around $17,324. Critical Infrastructure Protection graduates carry a median of $21,829 in student loans. Soon after graduation, critical infrastructure protection degree recipients from University Of South Florida Main Campus generally make around $85,268. That is a strong return on a $21,829 median debt. University Of South Florida Main Campus admits about 43% of applicants.
A rank of #2 makes New Mexico State University Dona Ana one of the best values for critical infrastructure protection. New Mexico State University Dona Ana is a moderately-sized public school located in the city of Las Cruces. The average in-state cost of tuition and fees is $2,322, while out-of-state students pay about $6,360. Critical Infrastructure Protection graduates carry a median of $10,284 in student loans. Early-career critical infrastructure protection graduates make about $39,399. Set against $10,284 in median debt, that is a healthy payoff.
University Of Alaska Fairbanks is a great value for students pursuing a degree in critical infrastructure protection, landing the #3 spot this year. University Of Alaska Fairbanks is a large public school located in the city of Fairbanks. Expect in-state tuition and fees of around $10,083, with out-of-state students paying around $25,892. Students borrow a median of $22,722 to complete the critical infrastructure protection program here. Critical Infrastructure Protection graduates of University Of Alaska Fairbanks earn a median of $50,963 early in their careers. That is a strong return on a $22,722 median debt.
Students looking for strong value in critical infrastructure protection will find it at University Of New Hampshire At Manchester, which ranked #4. Set in the city of Manchester, University Of New Hampshire At Manchester is a small public institution. Students from in state pay about $15,838 in tuition and fees, with out-of-state students paying around $36,418. Critical Infrastructure Protection graduates carry a median of $23,250 in student loans. Critical Infrastructure Protection graduates of University Of New Hampshire At Manchester earn a median of $51,200 early in their careers. Weighed against typical debt, the earnings make a compelling case for value. The acceptance rate is 81%.
Arkansas Tech University came in at #5 on our 2026 list of the best value critical infrastructure protection schools. Arkansas Tech University is a large public school located in the town of Russellville. Students from in state pay about $8,674 in tuition and fees, compared with $14,668 for out-of-state students. Typical student debt for critical infrastructure protection graduates is $25,355. Early-career critical infrastructure protection graduates make about $45,115. Weighed against typical debt, the earnings make a compelling case for value. Roughly 96% of applicants are accepted.
ADBLOCK #101
Mesa State College ranked #6 on our 2026 list of the best value critical infrastructure protection schools. Mesa State College is a large public school located in the city of Grand Junction. Students from in state pay about $9,927 in tuition and fees, compared with $25,124 for out-of-state students. Typical student debt for critical infrastructure protection graduates is $22,310. Soon after graduation, critical infrastructure protection degree recipients from Mesa State College generally make around $43,617. That is a strong return on a $22,310 median debt. The acceptance rate is 82%.
Columbia Southern University earned the #7 position for value in critical infrastructure protection this year. Located in the town of Orange Beach, Columbia Southern University is a very large private for-profit university. The average in-state cost of tuition and fees is $6,224. Typical student debt for critical infrastructure protection graduates is $32,683. Early-career critical infrastructure protection graduates make about $73,839. Set against $32,683 in median debt, that is a healthy payoff.
George Mason University ranked #8 on our 2026 list of the best value critical infrastructure protection schools. Located in the suburb of Fairfax, George Mason University is a very large public university. Students from in state pay about $14,220 in tuition and fees, with out-of-state students paying around $38,688. Critical Infrastructure Protection graduates carry a median of $21,741 in student loans. Soon after graduation, critical infrastructure protection degree recipients from George Mason University generally make around $114,896. Weighed against typical debt, the earnings make a compelling case for value. The acceptance rate is 88%.
Sam Houston State University placed #9 among the best values for critical infrastructure protection. Set in the town of Huntsville, Sam Houston State University is a very large public institution. In-state tuition and fees average $9,228, while out-of-state students pay about $19,068. Typical student debt for critical infrastructure protection graduates is $24,850. Early-career critical infrastructure protection graduates make about $61,091. Set against $24,850 in median debt, that is a healthy payoff. Sam Houston State University admits about 90% of applicants.
Idaho State University earned the #10 position for value in critical infrastructure protection this year. Set in the city of Pocatello, Idaho State University is a large public institution. Students from in state pay about $8,610 in tuition and fees, compared with $27,720 for out-of-state students. Typical student debt for critical infrastructure protection graduates is $24,640. Soon after graduation, critical infrastructure protection degree recipients from Idaho State University generally make around $51,446. Set against $24,640 in median debt, that is a healthy payoff.
Cambridge Institute Of Health And Technology ranked #16 on our 2026 list of the best value critical infrastructure protection schools. Cambridge Institute Of Health And Technology is a mid-sized private for-profit school located in the city of Delray Beach. Students from in state pay about $15,652 in tuition and fees. Students borrow a median of $21,787 to complete the critical infrastructure protection program here. Critical Infrastructure Protection graduates of Cambridge Institute Of Health And Technology earn a median of $34,748 early in their careers. Set against $21,787 in median debt, that is a healthy payoff.
Johnson And Wales University Providence ranked #17 on our 2026 list of the best value critical infrastructure protection schools. Johnson And Wales University Providence is a mid-sized private not-for-profit school located in the city of Providence. Expect in-state tuition and fees of around $41,982. Typical student debt for critical infrastructure protection graduates is $26,350. Soon after graduation, critical infrastructure protection degree recipients from Johnson And Wales University Providence generally make around $45,920. Set against $26,350 in median debt, that is a healthy payoff. Roughly 88% of applicants are accepted.
George Washington University earned the #18 position for value in critical infrastructure protection this year. Located in the city of Washington, George Washington University is a very large private not-for-profit university. In-state tuition and fees average $67,710. Students borrow a median of $22,910 to complete the critical infrastructure protection program here. Soon after graduation, critical infrastructure protection degree recipients from George Washington University generally make around $111,258. That is a strong return on a $22,910 median debt. George Washington University admits about 47% of applicants.
DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/critical-infrastructure-protection/offers.json
DEBUG: major_slug = ""
DEBUG: offers_url is valid, proceeding to fetch data
DEBUG: offers_data.offers found, count = 18
DEBUG: Specific major detected (cip4 = 43.03), keeping min_relevance at 0.5
DEBUG: Starting relevance filtering - min_relevance = 0.5, max_relevance = 1
DEBUG: Checking offer "Cybercrime (I Have a HS Diploma or Associate Degree)" with relevance 0.7
DEBUG: ✓ Offer "Cybercrime (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.7)
DEBUG: Checking offer "CCNA & CyberOps Training Boot Camp (All Degree Levels)" with relevance 0.7
DEBUG: ✓ Offer "CCNA & CyberOps Training Boot Camp (All Degree Levels)" ACCEPTED (relevance 0.7)
DEBUG: Checking offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✓ Offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✓ Offer "Cybersecurity (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✓ Offer "Cybersecurity Boot Camp (All Degree Levels)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Cybersecurity (I Have a Bachelors)" with relevance 0.6
DEBUG: ✓ Offer "Cybersecurity (I Have a Bachelors)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "MBA - Cybersecurity (I Have a Bachelors)" with relevance 0.6
DEBUG: ✓ Offer "MBA - Cybersecurity (I Have a Bachelors)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✓ Offer "Emergency Management (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✓ Offer "Emergency Management (I Have a Bachelors)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✓ Offer "Emergency Management (I Have a Bachelors)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Ethical Hacking Dual Certification Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✓ Offer "Ethical Hacking Dual Certification Boot Camp (All Degree Levels)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "CCSP Training Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✓ Offer "CCSP Training Boot Camp (All Degree Levels)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "CISSP Training Boot Camp (All Degree Levels)" with relevance 0.6
DEBUG: ✓ Offer "CISSP Training Boot Camp (All Degree Levels)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Grad Cert - Public Safety Administration (I Have a Bachelors)" with relevance 0.6
DEBUG: ✓ Offer "Grad Cert - Public Safety Administration (I Have a Bachelors)" ACCEPTED (relevance 0.6)
DEBUG: Checking offer "Public Safety (I Have a Bachelors)" with relevance 0.6
DEBUG: ✓ Offer "Public Safety (I Have a Bachelors)" ACCEPTED (relevance 0.6)
DEBUG: relevant_offers count = 15
DEBUG: relevant_offers > 0, checking for ESYOH offers
DEBUG: ESYOH filtering - found 15 ESYOH offers with relevance >= 0.5
DEBUG: esyoh_offers count = 15
DEBUG: ESYOH offers found, rendering ESYOH widget
DEBUG: most_relevant_only = true, filtering for most relevant
DEBUG: Found 0 offers with relevance >= 1.0
DEBUG: Backfilling with 0 offers with relevance >= 0.9
DEBUG: Backfilling with 0 offers with relevance >= 0.8
DEBUG: Backfilling with 2 offers with relevance >= 0.7
Narrow Critical Infrastructure Protection Schools by Region