• Home
  • Pattern Matching
  • Free Resources
  • Videos
  • Blog
  • Fiction
  • More
    • Home
    • Pattern Matching
    • Free Resources
    • Videos
    • Blog
    • Fiction
  • Home
  • Pattern Matching
  • Free Resources
  • Videos
  • Blog
  • Fiction

Fiction

A Book Series About Analysts

Using an unpublished novel I wrote about a local level policing crime analyst and an FBI intelligence analyst, I am creating a series of fiction books to  illustrate law enforcement analytical work in a fun and interesting way. I hope you will like the books! They are written in a cozy mystery style. Lots of cases in each book and insights into the work of analysts... Stay tuned for links.

Sample Story: The Weekend Pattern

Sophie Russo knew something was wrong when she mapped the fifth pharmacy robbery.


Most people would see five armed robberies scattered across Buffalo over three months and think: random crime, different perpetrators, bad luck. But Sophie had spent six years as the city's only crime analyst learning to see what others missed.


She pulled up the incident reports on her analysis center monitor, comparing details. All five pharmacies. All robbed on Saturday mornings between 10 and 11 AM. All by a single male suspect wearing dark clothing with what might be a gun. All lasting under two minutes. 


"That's not random," she muttered.


"What's not random?" Cassandra Cassidy appeared in Sophie's cubicle doorway, coffee in hand. The FBI analyst had been detailed to the analysis center for six months now, and their partnership had become the kind of seamless collaboration that solved cases.


"Pharmacy robberies. Five in three months, all Saturdays." Sophie gestured at her screen. "But here's what's weird—he's not taking opioids."


Cassie's eyebrows shot up. "Pharmacy robber not taking pills?"


"He demands money from the register, nothing else. In and out fast. Doesn't even look at the pharmacy counter." Sophie pulled up security footage from the most recent robbery. "Watch."


The video showed a man in a black hoodie entering the pharmacy, walking directly to the register, showing something in his waistband that looked like a gun, taking cash, and leaving. Ninety seconds total.


"Professional," Cassie observed. "Knows what he wants, no wasted movement. But why rob pharmacies specifically if you're only taking cash? Gas stations would be easier targets."


"That's what I can't figure out." Sophie had been puzzling over this for two days. "The pharmacies are all different chains—CVS, Rite Aid, Walgreens, an independent. Different neighborhoods. The only pattern is Saturday morning, a similar but vague suspect description, and the speed."


Cassie sat down, her analyst brain engaging. "What about the amounts stolen?"


Sophie checked her spreadsheet. "Varies. First robbery, $340. Second, $890. Third, $520. Fourth, $1,200. Fifth, $670."


"So not consistent." Cassie drummed her fingers on the desk. "Can I see the locations?"


Sophie pulled up her map. Five red pins scattered across Buffalo—one in North Buffalo, one downtown, one on the East Side, one in South Buffalo, one in Riverside.


Cassie stared at the map for a long moment. "They're all near highway on-ramps."


Sophie felt a chill run down her spine. She zoomed in. Cassie was right—every single pharmacy sat within two blocks of an I-90 or Route 33 entrance.


"He's not local," Sophie said slowly. "He hits the pharmacy and gets on the highway immediately. That's why there's no pattern to the neighborhoods—he doesn't care about neighborhoods. He cares about escape routes."


"Which means he probably doesn't live in Buffalo." Cassie was already pulling up her laptop, accessing information databases. "If this is someone traveling into the city to commit robberies, there might be a bigger pattern. Let me check for similar incidents in other cities."


While Cassie searched, Sophie pulled up traffic camera footage from the dates and times of the robberies, focusing on the nearby highway on-ramps. It took twenty minutes of reviewing grainy footage, but finally: "Got something. Silver Honda Civic, appears on cameras near three of the robbery locations within minutes of the incidents."


"Plate number?"


"Partial. I can make out... NYS plate, starts with JTK."


Cassie's fingers flew across her keyboard. "Running it through DMV... okay, I've got four possibles with that prefix registered in New York. Let me cross-reference with—" She stopped. "Wait. One of these is registered to someone with a prior armed robbery conviction. Jeremy Kohler, age 28, lives in Rochester."


"Rochester?" Sophie pulled up a map showing Buffalo and Rochester connected by I-90. "That's a ninety-minute drive."


"Want to bet there are pharmacy robberies in Rochester following the same pattern?" Cassie was already searching. "Let me check with Rochester PD through our liaison... yes. They've had four pharmacy robberies in the past six months, all Saturday mornings, all quick cash grabs, all near highway exits."


Sophie felt the familiar rush of pieces clicking into place. "He's working a circuit. Hits Rochester a couple times, then Buffalo, back to Rochester. Maybe other cities too."


"I can check." Cassie expanded her search parameters. "Syracuse... yes, three incidents matching the pattern. Albany... two more. All in the past year, all Saturdays, all near highways." She looked up. "This isn't five robberies, Sophie. It's at least fourteen across four cities."


"We need to catch him on a Saturday," Sophie said. "If the pattern holds, he's due to hit again soon."


"This Saturday is four weeks since the last Buffalo robbery," Cassie noted. "That fits his timeline. Can you predict where he'll hit?"


Sophie pulled up her list of pharmacies in Buffalo near highway access. "There are twelve that fit the profile. But—" She filtered by a new parameter. "If he's smart, he won't hit the same chain twice in the same city. He's already hit CVS and Rite Aid in Buffalo. That leaves..." She counted. "Six possible targets."


"Better than twelve," Cassie said. "I'll put together the intelligence brief for the FBI field office. You should prepare an analytical bulletin for Buffalo PD detectives."


Friday afternoon, Sophie put the finishing touches on her bulletin—maps showing the predicted target locations, timeline analysis, the multi-city pattern, suspect information, and vehicle description. She emailed it to Detective James Kelly and the robbery unit supervisor, then called Kelly directly.


"Six possible locations," she told him. "I know you can't cover all of them, but if you can get a few units positioned Saturday morning, I think there's a good chance he'll hit."


"This is solid work, Sophie," Kelly said. "I'll coordinate with patrol. We'll have eyes on as many of these as we can manage."


Cassie had sent similar intelligence to the FBI, coordinating with their violent crimes unit as a backup. Then there was nothing to do but wait.


Saturday morning, Sophie was at her kitchen table drinking coffee and trying not to obsess over whether her analysis would pan out. Her phone rang at 10:47 AM.


"Sophie? It's Kelly. We got him. Walgreens on Niagara Street, exactly where you predicted. Caught him coming out with the cash in hand. Your bulletin was spot-on."


Sophie felt a wave of relief mixed with satisfaction. "That's great. Was it Kohler?"


"Jeremy Kohler, 28, Rochester address, driving a silver Honda Civic with the partial plate you identified. Had a BB gun on him and $670 from the register. He's already admitted to the Buffalo robberies and we're coordinating with Rochester, Syracuse, and Albany. You just cleared fourteen armed robberies."


After they hung up, Sophie called Cassie.


"I heard," Cassie said immediately. "My supervisor just called—the arrest bulletin went out. Nice work."


"Nice work both of us," Sophie corrected. "I had the local pattern but you connected it to the multi-city circuit."


"That's what makes this place work," Cassie said. "Different perspectives seeing different pieces of the same puzzle."


Monday morning at the analysis center, Captain Manson stopped by their cubicles. 


"Outstanding work on the pharmacy robberies. The chief is very pleased. Four police departments are happy, the FBI's happy, and fourteen victims get closure."


After he left, Sophie pulled up her email to find the arrest report and booking photo so she could close out her case file. Jeremy Kohler stared back from the photo—a tired-looking 28-year-old who'd thought he could outsmart detection by spreading his crimes across multiple cities.


He hadn't counted on analysts who could see patterns across jurisdictional boundaries.


"You know what I love about this job?" Sophie said, updating her database. "We never leave this building, but we can see the whole picture. All those detectives and agents on the street, they see one piece. We see how it all connects."


"The magic room," Cassie agreed, using their private name for the analysis center.


Sophie's email pinged with a new alert—a series of catalytic converter thefts from a geographic cluster of parking garages, all occurring between 2 and 3 AM on weeknights. 


Another pattern emerging. Another puzzle to solve.


She saved her pharmacy robbery file and opened a new spreadsheet. The work was never done, but that was fine. Somewhere in Buffalo, people were possibly safer because two analysts had stared at spreadsheets and maps until the invisible became visible.


It wasn't glamorous. Nobody would write news stories about them. But they'd sleep well tonight knowing they'd made a difference.


© Deborah Osborne

Discover more cases in :

THE ANALYSTS' CASEBOOKS Series

Book One: THE MAGIC ROOM, coming September 2026 on Amazon

Book Two: THE CURRY CONNECTION, coming December 2026 on Amazon


Follow crime analysts Sophie Russo and Cassandra Cassidy as they solve cases from behind their computers, finding patterns in chaos and connections others miss. Real police work. Real analytical techniques. Real stories of the hidden profession protecting your community.

Copyright © 2026 Deborah Osborne - All Rights Reserved.


Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept