The Inevitability of Missing Books

It’s like an episode of CSI: Miami. I’ll be out on the floor in the morning with a list of items in my hand. These are the items that our good patrons have requested and would like us to pull and either hold them, or send them to far off branches so they might use them. I’m going down my list – check, check, yes, check, check, and then suddenly.

Wait, where’s our copy of The Lady Vanishes? It says it should be in, but it’s certainly not here. It’s not in back. It’s not on a cart. Hrmmm.

The Lady Vanishes is missing. I guess you could say she just…


The fact of the matter is that my branch has almost 76,000 items in the collection. That’s a lot of things to keep track of and we do a pretty damn good job of doing that. Still, sooner or later, one of those items is going to float away to the far corners of the sky where the fae creatures frolic and the gods smile approvingly, looking quite like Peter O’Toole and Burgess Meredith. So you have an item on the request list, but it’s nowhere to be found.

What do?

Well, the weird thing is that I’ve talked to many librarians who are absolutely loathe to declare the item as missing. So I wanted to drone on and on about that for a second because, quite frankly, that is a really silly and counterproductive attitude. To really make this point, I have to get a little boring and explain how the inner workings of a modern ILS tend to churn.

Okay, when someone places a request the ILS will look through its database and figure out a few things. One, is the item checked in? And two, if so ,where?  If the answer to the first question is no, the item isn’t checked in, then the patron goes on a list and works their way up the list as the item checks in and out and, when it comes to be their turn, they get the item. That’s pretty standard. The thing that throws a wrench in the grand scheme is when the answer to the first question is yes, the item is checked in but no, we can’t find it.

Now many libraries will have multiple copies of an item strewn throughout their collection. Depending on how the ILS is set up to handle holds, a request might go to the branches nearest the patron to facilitate a quicker response, or it could go system wide to spread the workload and get the item from somewhere, anywhere. So let’s take a look at a simplified ILS workflow  for The Lady Vanishes.

  1. The patron requests The Lady Vanishes.
  2. The ILS has a look around the database. Oh! There’s a copy at the branch just over in the next town. Put it on their list.
  3. Someone at that branch gets the list, and pulls the item. They send it to the patron’s branch.
  4. Patron gets the item and checks it out.

But what happens when it goes sideways? Well, two things can happen and this is why I think it’s silly to keep looking for an item over and over again rather than declaring it missing and moving on. The first, and worst, thing is this little process:

  1. The patron requests The Lady Vanishes.
  2. The ILS has a look around the database. Oh! There’s a copy at the branch just over in the next town. Put it on their list.
  3. Someone at the branch gets the list, but they can’t find the item. They keep looking for several days, and the item is nowhere to be found.
  4. The patron is kept waiting for the item while step three repeats for god knows how many days.

The inner workings of a modern ILS are very much like Tron, except for all the ways they aren’t.

There’s a better way both for the library and the patron making the request. See, modern ILS packages know that certain item statuses are incompatible with patron requests. Obviously, if there are five copies of the item and three of them are checked out, the ILS will place the requests on the items that are in. After all, they’re available now. The ILS will also know that withdrawn items aren’t good for requests because those items are gone.

It will also understand that an item marked as missing isn’t good for requesting either. So the better scenario is.

  1. The patron requests The Lady Vanishes.
  2. The ILS has a look around the database. Oh! There’s a copy at the branch just over in the next town. Put it on their list.
  3. Someone at the branch gets the list, but they can’t find the item. They take a few minutes to have a really thorough look around. Is it mis-shelved? Maybe in back? On a cart? No? Weird. I wonder where it’s gone? Oh well.
  4. They declare the item missing.
  5. The ILS updates its request lists and cycles through the updates. The Lady Vanishes hasn’t been filled and that branch the next town over shows it as missing.
  6. Move the request to another copy that’s not missing.

So the patron may be kept waiting an extra day, but the request has moved on to another copy that might actually be on the shelf rather than hanging around with a copy that obviously isn’t. What happens to that missing copy? Well, I’ll bet you it turns up someplace. Things do that, especially in a library with a bunch of stuff. A staff member finds it underneath a table in the back. Some kid put it on a shelf at the other end of the library. A patron through they checked it out on a self-check, but it didn’t actually go through. There are dozens no, hundreds, of places it could be but you know one thing for sure and for certain.

You can’t put your hands on it right now.

Send it along. Declaring an item missing puts it on some kind of list of stuff you can go look for later. It moves the request on to another library that, hopefully, can get a hold of it right now. It also takes it off your request list. You’ve told the system it’s not readily available so the system won’t keep asking you to search for it. In other words, declaring it missing moved it on so the patron gets the request more quickly, and took it off your list so you won’t have to do extra work to find something that’s not there.

So here’s what I do…

Here at my branch, we have a pretty hefty request list that we only pull once a day, in the morning. Some libraries pull all day, others pull throughout the day, and there are other workflows as well. As the head Circ Guy, I’m very aggressive about keeping that list as manageable as possible. Monday and Tuesday are our busiest days and I let the list ride both mornings. Come Tuesday afternoon, I print it out again and hit the floor. I look for everything that wasn’t found. I check high and low, check the displays, and look in places it could’ve been mis-shelved. Then I look all over the staff area making sure the item isn’t on a cart waiting to be shelved, or sitting in a bin in check in, or waiting for repairs. In short, I make absolutely sure I can’t find it.

You know what? I typically find about half of the list. Some stuff filtered out over the day. Others rose to the surface simply because I wasn’t on a time crunch and could take my time searching for the stuff. Still, I’ll have about half a list I cannot find.

And I declare all of it missing.

I’ll go back out later on and have a second look for the missing stuff, but it’s always with the understanding that it’s just not there right now. The funny thing is that almost all of it shows up again for the reasons I outlined above. In the end, things go missing and get found. It’s the nature of circulating large amounts of unique items.

So save your patrons some time, save yourself some work, and move things along. Don’t be afraid to say something is missing. It’s not a failure. It’s not an oversight. It’s not even a mistake. Yesterday I declared 25 items missing from our request list.

Twenty-five items.

Given the size of our collection, that is .03% of our collection that I just cannot find right now. Three-hundredths of a percent isn’t even human error, it’s happenstance.

Like the spice, the items must flow. Keep ‘em flowing.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see