Skip to main content
Question

**SOS** Enterprise Numbers for EOL Devices Needed (iPhones/iPads) **SOS**

  • August 6, 2026
  • 6 replies
  • 86 views

mhend1982
Forum|alt.badge.img+1

Hello everyone,

I'm one of our Admins (jPRo) and I work for a very large hospital chain and I've been tasked with exporting all of our mobile devices and asked to create a spreadsheet and a PDF file for presentation for our leadership team to review in their budget meeting coming up soon so they may plan on what we need to purchase as far as EOL devices are concerned.

I don't know why, but I seem to be struggling with making this list based on exporting all of our devices which come out to 5,077 devices. I attempted to report my spreadsheet into AI and asking you to make me a list of EOL devices, Near-EOL, and future EOL devices. Well, the numbers that I ended up sending to my manager to review or not accurate, and I looked like a fool and was very embarrassed.

Have any of you been tasked with this before and if so, how did you do it and do you have any advice on what the best way to go about doing it is besides trying to use AI. Or, if any of you have been successful in doing this using AI, can you please let me know how you did it? I've never meant task with this since I've been on our team and I do not want to screw this up again that was very embarrassing.

Any advice would be highly appreciated. Thank you for your time.

--Michael

6 replies

Chubs
Forum|alt.badge.img+26
  • Jamf Heroes
  • August 6, 2026

That’s almost relative.  EOL being?  N-2 on the OS? N-1?

What’s considered end of life?  

If you tell the Jamf AI Assistant what you need (model numbers. OS support, etc.) it can get you a generalization.

However, EOL is relative in that we still have 6th generation iPads in use (shhh don’t tell anyone).  We are working on upgrading them, but technically those are EOL since they won’t support OS 18.

EOL to us is N-1.  So anything that’s not going to run OS26 or OS27 is EOL.
 


mhend1982
Forum|alt.badge.img+1
  • Author
  • Jamf Heroes
  • August 6, 2026

Thanks, Chubs. I think the last comment is where I went wrong. I simply asked AI to make me a list of what I mentioned in my post and I may have made it generate data I didn’t need. Thanks for the quick response!


mattjerome
Forum|alt.badge.img+14
  • Jamf Heroes
  • August 7, 2026

I’d try exporting all the data with model numbers, sort by models and filter out the data you don’t need.


mvu
Forum|alt.badge.img+22
  • Jamf Heroes
  • August 7, 2026

Hi Michael,

There are a few ways you can slice this. After Apple WWDC, we keep an eye on which mobile devices won’t make the cut for the next iOS officially.

Regex Smart Groups helps here. Take ​@talkingmoose work:

• https://gist.github.com/talkingmoose/8626115822ca9f81463dd4e9e902ff9a

In your situation, like others mentioned, what does your organization consider EOL? For exampe, we want to know which devices won’t install iOS 27 in the Fall. Which devices in our fleet are stuck on iOS 26/18 and will only receive security updates, but no major upgrades.

From here, we can paint a picture and present to leadership.

Create a new Smart Group, enter the Regex info. I attached an example for iOS 26 (that can’t upgrade).

Once you know which devices are EOL, you could do what you did and create an all devices report. Then sort by models/filter the data you need like Matt suggested.
 

 


dkmansion
Forum|alt.badge.img+6
  • Contributor
  • August 29, 2026

Hey Michael,

Oooo, this is right up my over-engineered alley.  TLDR with bulleted items I use is below.

I too manage nearly 7000 mobile devices in a health system and another 2300 mac computers.  Previously, very fly by pants for EOL budgeting, scheduling and planning, trying to squeeze the most life out of our hardware.

We have a new requirement to forecast EOL devices 3 years in advance, as best as we can.  I have inventories exported from my multiple MDMs daily, ingested into a database with standardized fieldnames, etc as well as importing ABM raw data to get a sense of when we actually purchased or hardware (“Date added to Organization” from ABM export”. With that data I have Tableau dashboards for various management decisions.

Our current target is 5-6 years from purchase, to get ahead of Apple’s Vintage and Obsolete classification and OS support.  Identifying those can definitely be done by the REGEX solution above, but I rely on the purchase date today.

I calculate a “retirement fiscal year” as in FY2027, FY2028, etc, from that “date added to org”, by matching the serial number to MDM inventory since some purchased items may be unmanaged (we leave those to the end user since we are not managing apps there, etc.)

With that retirement fiscal year, I can chart or calculate assumptions based on the model of the device, and an expected (today’s price) cost for budgeting to leadership.  Since Apple can and will change prices, its just an estimate.

This shows a model row , then the grand total $$ and count (##), then a crosstab for each fiscal year (filterable on the Tableau dashboard for direct export of the data).

The image below shows next year’s sample data for one facility as a sample.
 


The grand total is typically the number that goes to budget planning discussions with my leaders, however the core individual deployment data is easily obtained from the same system with it doing the calculations and maintaining consistency going to leadership.

Currently in FY27 so I would be reiterating, FY27 and 28, while then also getting FY29 for that next.
This also still shows devices from previous years that have not been taken out of service so myst be addressed for replacement as needed.

TLDR;

  • I match ABM device export to MDM inventory and use the date we purchased a device (it was added to ABM) as the target for EOL refresh/replacement.  [There can be skewed info from manually added by AC2 entries, but that’s minimal in my environment today.]
  • Then estimate what the cost to replace each model (ie iPad Gen 9) is in today’s dollars for budgeting. This estimated cost to replace will be edited if prices increase.
  • Due to info we track in the MDM with Extension Attributes, I can also filter by deployment project type, department devices assigned, Hospital facility, etc.

The dashboard above is always updated since the inventory is grabbed from the MDMs daily.  This also allows my leadership to look at their leisure for the info.  Leaving me to deal with the engineering fires and projects and not rebuilding reports, usually out of the blue…

My stack for this today is:

  • Tableau for all regular and recurring reporting and data presentation.
  • SQL db for data centralization
  • Powershell scripts [automation runs on windows servers so native launguage for the modules used] that interface with the MDM APIs, then make the data cohesive and standardized (one mdm calls a field serial_number and another calls it SerialNumber)
  • CSV export [manual today] periodically from ABM, ingested into SQL table. This is not daily since the data needed for EOL budgeting of devices 3 year + away and not for 5 to 6 years from purchase.  

Any Business visualizer [Tableau, PowerBI, BusinessObjects, etc.] should work and scripting, and database resource of course.
My base scripts were started by me for adhoc APi pulls, with github examples, and expanded by AI agent in some cases, with custom modules for my standardization rules merging MDM record data.

Eventually will use either an MCP Server or other AI workflows directly to the MDMs or use their built-in AI assistants and ‘Insights’ to get the data I need to present, but this works for us currently.

Donald


dkmansion
Forum|alt.badge.img+6
  • Contributor
  • August 29, 2026

In my Tableau I also test devices against OS end of life.  I keep a listing of models and track their support for the announcements.  Then test in the dashboard for those like I do for age of hardware.  The 5 to 6 year target is often dead on from support for my environment.  Since we target Epic and other compatibility it gets highly cumbersome.

I keep a version of this uptodate with a LastSupportedOS key in the json files, of course this could be a database or a csv for easy comparison if the json device files don’t help you.
https://github.com/pbakondy/ios-device-list


Below is an age sample.

 Since mine is over engineered and refined over the last year.  A quick EXCEL option  would be, grab an export of ALL devices and an ABM export mainly for the purchase date.

Jamf report should have minimum, Serial Number, but others for sharing data once calculations are done.
Devices>Search inventory>Search>Export>csv>Next>MobileDevices>next
name the list tab ‘inventory’
Then from ABM, Devices>Select All>Download CSV/Download


In Excel copy the sheet from the devices_123456789.csv file from ABM to the export from Jamf.
I name that ‘abm_data’

I then will use XLOOKUP to find the inventory.’Serial Number’ in the abm_data.SERIAL_NO [columnA], and pull over these columns:

MODEL_NAME
DATE_ADDED_TO_ORGANIZATION

 

I will then convert the ABM date to a workable date [with formula =DATE(LEFT(P2,4),MID(P2,6,2),MID(P2,9,2))], P2 is column with DATE_ADDED_TO_ORGANIZATION
and calculate the FISCAL Year from that date [with formula ="FY"&YEAR(EDATE(S2,6))+5] S2 is the other column with the date formula above.

I then get a unique list of the MODEL_NAME values in a separate table
Column A = Model Name
Column B = the cost to replace that model in todays dollars
Examples:
iPad Gen 9, must be replaced with an A16 which has a replacement cost of $449
iPad Pro Gen 2 must be replaced with iPad Pro @ $1199, etc

Then on the inventory tab again do an XLOOKUP of the amb_model column to the replacement_cost tab (column A), grabbing the cost as the value. [=XLOOKUP(Q2,model_replacement_cost!A:A,model_replacement_cost!B:B,0,0,1)]

I then pivot the model as rows, FY as Columns, and Replacement cost summed
 

 

I loaded this sample excel document here https://github.com/dkmansion/eol_refresh_excel_jamf_nation

Good Luck.