
You have study data from multiple individuals, including what drug dose they were given, how and when, as well as drug concentrations in the blood measured over time. You also have access to some subject covariates such as weight, renal function, and age. You want a model that explains the data well enough to be useful. Ideally it should fit adequately, predict sensibly, behave in a stable manner, and remain interpretable enough to support scientific or clinical decisions. In this article we examine four broad approaches:
The typical approach is to
The initial model to try is typically some common compartmental pharmacokinetic (PK) model. You might already see just from looking at the data if the usual one- or two-compartment models are going to fit it well. Parts of the model typically explain at least how the drug gets into the blood, distributes, and is cleared. Information about how the drug was administered should limit the space of possible models in terms of the first part (extravascular absorption, IV bolus, or IV infusion). However, there can still be a lot of uncertainty regarding things like the
Thus, finding a good model can be a lot of manual trial and error.
A natural extension of the classical workflow is to treat model building as a search problem. Instead of hand-trying a few structures and a few covariates, you define a model space and explore it automatically. That space might include one- and two-compartment models, different absorption models, alternative residual error structures, different random-effects structures, and multiple candidate covariates on clearance, volume, or absorption. The system then fits, scores, and ranks many candidates.
An example of an automated model-space exploration tools is nlmixr2auto, which is built on top of the nlmixr2 ecosystem and is designed for automated population PK model development. It includes procedures such as genetic algorithms, ant colony optimization, tabu search, and stepwise selection.
The appeal here is not just speed, but also coverage. Human modelers are selective and biased; they tend to reach for familiar structures and familiar covariates. Automated search can be more systematic. But it still depends on the boundaries of the search space. It can only compare models it has been allowed to consider.
A different idea is to move from automated search to automated modeling. Instead of exploring a fixed space, an LLM-based agent can propose models, write code, fit the models, inspect the diagnostics, and revise its proposal. In other words, the search space itself becomes more fluid. This is the sense in which systems like AutoStan are “agentic”: the model is not merely selected from a menu, but actively constructed by perhaps looking for directions from the internet or other given context.
Instead of choosing a compartmental or other parametric form and estimating its parameters, neural ordinary differential equation (NODE) models use a neural network to define the dynamics of the system. In this way they are not restricted to common structural assumptions and avoid the need to search a model space. Lu et al. (2021) applied NODEs to trastuzumab emtansine PK and reported that while several models performed similarly when training and testing occurred on the same dosing regimen, the Neural ODE performed substantially better when asked to predict an untested regimen. More recently, Giacometti et al. (2025) applied NODEs to population PK of dalbavancin in sparse clinical data. Latent NODEs, used by Maurel et al. (2026), take the challenge of structural assumptions in pharmacokinetics one step further by allowing the observed concentrations to be generated from an unobserved latent state evolving in continuous time.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.
Weighing pros and cons of NCA vs. PK modeling.

This is a comment related to the post above. It was submitted in a form, formatted by Make, and then approved by an admin. After getting approved, it was sent to Webflow and stored in a rich text field.