Skip to main content
Nazmul Alam PhD
← Writing
HPLC 10 min read

LC-MS method development is risk mitigation. Most labs treat it like a recipe


A failed method costs you a month. Sometimes two.

I learned that the hard way on an in-vitro permeation project years ago.

The active was a boron-containing topical drug, an eczema ointment. The work was an in-vitro permeation test (IVPT): you mount skin on a Franz cell, apply the ointment, and measure how much drug crosses through. The LC-MS/MS method on the front end has to quantify what made it across.

Method development went clean. Standards looked sharp. Linearity tight. Recovery on spiked controls was where you’d want it. I signed off and we went into validation.

Validation failed on reproducibility. The same sample, run two days apart, gave different numbers. Not within acceptable variance. Different.

We pulled the data apart for a week before we found it. The active was degrading in the receptor fluid. Not in the standard solutions. Not in the mobile phase. In the actual matrix the IVPT generates. The standards had been lying to us because standards never sit in real matrix for the time real samples do.

The fix was extra steps in the sample handling procedure: forced degradation, tighter time windows between collection and injection, new internal standards we had to custom order. The whole thing added more than a month to the project. The chemistry was always going to work. The method developer (me) hadn’t accounted for what the sample would do to itself while waiting for the autosampler.

That’s the thing most analytical chemists get wrong about this work. Method development is finished when you’ve asked every question that validation is going to ask later, and answered each one first. Clean-eluting standards just mean you’ve reached the starting line.


Method development is risk mitigation

Most analytical chemists treat method development like a recipe. Get the standards to elute. Get the calibration curve. Move to validation. Done.

That gets you a chromatogram. Calling it a method is where the trouble starts.

Method development is the work of asking, before validation, every question that validation is going to ask later. What happens at the upper concentration boundary? What happens at the lower? What happens when you change analysts? What happens when the column has 800 injections on it instead of 80? What happens when the sample sits on the bench for four hours because someone got pulled into a meeting?

If you haven’t stressed the method against those questions, you’re still holding a draft.

The cost of skipping this work doesn’t show up during development. It shows up during validation, when the deadline is fixed and the only variable left is your weekend.

Risk has a shape, and it’s worth seeing clearly. Every method has a handful of ways it can fail, and they aren’t equally likely or equally expensive. A peak that co-elutes with an impurity is common, and cheap to catch early. A stability problem that only appears in real matrix is rarer, and brutal to find late, because by then you’re in validation with a deadline. Spend your development time where those two multiply out highest: what’s most likely to break, times what it costs you when it breaks at the wrong moment.


The questions validation is going to ask

Validation isn’t an exam you cram for the night before. Every parameter in ICH Q2 is a question, and every one of them is answerable while you still have time to fix the answer.

What validation checksThe development question that de-risks it
SpecificityDoes anything in the matrix or any degradation product land under my peak?
Linearity and rangeDoes the response stay linear across the full expected range, including the dilutions QC will actually run?
Accuracy and precisionDo spiked recoveries hold across analysts, across days, and on a second column?
RobustnessWhat happens when pH, organic percent, or column temperature drift by the small amounts they drift in a real lab?
StabilityWhat does the analyte do in the matrix between collection and injection?

Answer all five before validation and validation turns into a formality, where you confirm what you already know. Leave them unanswered and validation becomes the place they get answered for you, on the clock, with the deadline fixed.

flowchart TD
    A[Method development] --> B[Ask validation's<br/>questions now]
    B --> C[Specificity]
    B --> D[Linearity & range]
    B --> E[Accuracy & precision]
    B --> F[Robustness]
    B --> G[Stability]
    C --> H{Answered with data?}
    D --> H
    E --> H
    F --> H
    G --> H
    H -->|Yes| I[Validation confirms<br/>what you already know]
    H -->|No| J[Fix it now, in development,<br/>while the answer is cheap]
    J --> B

The chemistry you have to know before you touch the instrument

Three failures show up over and over. Not because the chemistry is hard. Because people skip it.

The pKa trap is the most common. Every ionizable compound has a pKa, the pH at which half the molecule is ionized and half isn’t. If your mobile phase pH is within 2 units of the analyte’s pKa, you’re running the method in the transition zone. Small pH drift means big retention drift. Peaks ghost. Peaks split. Reproducibility dies. The fix is not exotic: pick a mobile phase pH at least 2 units away from every pKa in your analyte. If the molecule has three pKa values, you have a constraint problem to solve before you weigh out the first buffer salt. I’ve watched analysts spend two weeks chasing peak shape problems that a 10-minute pKa check would have prevented. On one pharmaceutical QC project I worked on, a method had been running in production for months with the mobile phase pH sitting 1.2 units from the compound’s secondary pKa. The data looked fine until ambient temperature dropped in winter and the instrument lab ran slightly cooler. Retention time shifted 0.4 minutes across 60 injections. Nobody caught it because nobody had asked the pKa question at the start.

The C18 default is the second. C18 is the most-used reversed phase column on earth. It’s also the wrong choice more often than people admit. If your analyte is highly hydrophobic (logP above 4 or so), C18 will hold it too long and you’ll be running 80% acetonitrile just to elute. If your analyte is polar (logP below 1), C18 won’t hold it at all and you’ll see no retention. If your analyte has strong aromatic character, a phenyl-hexyl column will give you selectivity C18 can’t. If your analyte is genuinely hydrophilic, you should be looking at HILIC. The analyte tells you which column to use. You don’t pick a column and hope the analyte cooperates. I covered the HILIC case in detail in my Acetyl Hexapeptide-8 piece, which is a clean example of what happens when you let the logP make the column decision instead of defaulting to C18.

The scouting gradient gets skipped because it feels redundant. It isn’t. A 5% to 95% organic gradient over 40 to 60 minutes tells you whether you need isocratic or gradient elution (if your peaks span less than a quarter of the gradient time, isocratic is viable), where the impurities elute relative to the analyte, whether the matrix has interferences you didn’t know about, and whether the column is right. That’s four decisions resolved in one run. On that IVPT project, the scouting gradient was fine. The problem was downstream of chromatography entirely. But on a natural health product project, the scouting gradient showed a matrix interference sitting directly under the analyte peak at the pH the method was written for. We shifted pH by 1.2 units and the interference moved cleanly. Forty minutes of scouting saved what would have been weeks of troubleshooting in validation.


Stability is a sample-prep problem

My IVPT method failed on a stability question I never thought to ask. The lesson turned into a short list I now run on every method before I write a protocol.

Bench-top stability: how long can a processed sample sit at room temperature before the number moves? That’s the four-hours-on-the-bench scenario, and it’s the one that got me.

Autosampler stability: the same question at autosampler temperature, for the length of your longest run plus any reinjections. A 200-vial batch can keep the last samples waiting overnight.

Freeze-thaw: if samples get frozen and re-run later, how many cycles can they take before they degrade?

Stock and working solution stability: your standards are samples too. A stock that drifts quietly miscalibrates everything you measure against it, and the chromatograms look perfect the whole time.

Processed versus unprocessed: a compound can be stable in the original matrix and fall apart once it’s sitting in extraction solvent, or the reverse. Check both states, not just the one that’s convenient.

None of these takes long. A few extra injections during development buys you the answer that is most expensive to find during validation.


The matrix effect you have to rule out

LC-MS has a failure mode that doesn’t exist in HPLC-UV, and it catches people moving over from a UV background. The matrix can suppress or enhance your ionization without changing anything you can see. The peak looks fine. The number is wrong.

You check for it on purpose. Two ways I rely on.

Post-column infusion: infuse the analyte at a steady rate while you inject blank matrix, and watch the baseline. Where the trace dips, the matrix is suppressing signal. If your analyte elutes in that window, you have a problem to solve before validation, not during it.

Matrix-matched comparison: build one calibration curve in solvent and one in extracted blank matrix, and compare the slopes. If they differ, the matrix is changing your response, and a solvent-only calibration will lie to you about every real sample.

The fix is usually upstream. Cleaner sample prep, a different extraction, an isotope-labeled internal standard that suppresses in lockstep with the analyte, or moving the elution away from the suppression window. All of those are development decisions. None of them is something you want to be discovering with a validation deadline on the calendar.


What I should have done

I should have asked one question I didn’t ask: what does the analyte do in the matrix during the time between sample collection and injection?

Stability is a development question, and the place to answer it is before you write the protocol. A two-hour bench-stability check on a fresh receptor-fluid sample would have caught the degradation in week one instead of week six.

Validation is where you prove problems aren’t there. If validation is finding them instead, the development phase was too short.


Before you touch the instrument

Spend two hours with the chemical structure. Print it. Mark every ionizable group. Look up every pKa. Calculate or look up the logP. Identify every functional group that could degrade: esters, amides, boron-containing actives (which hydrolyze if you look at them wrong), thiols, anything photo-sensitive.

Then ask, on paper, what each one of those features means for your mobile phase choice, your column choice, your sample handling, and your storage conditions.

If you can’t answer those questions about your analyte, you’re not ready to make mobile phase yet. Go read first.


Questions about this framework? You can reach me at hello@nalam.ca or on LinkedIn.

Stay current

New essays on analytical chemistry, methods, and industry careers. No noise.

Related reading