VSPJ CONSULTING

Explore the insights

Practical perspectives on programming and data science.

SAS tip: keep partial dates and imputation separate

A technically valid date can still encode an undocumented assumption.

SAS tip: a clean log is a starting point

Automated log scanning helps, but silent analytical errors need separate checks.

R tip: declare the relationship in a dplyr join

Let a join check one of your assumptions before it changes your dataset.

R tip: distinguish all-missing from zero

Removing missing values can produce a summary that looks more informative than the data.

Shiny tip: export the context with the table

An exported result should explain which population and filters produced it.

CRAN watch: ellmer 0.5.0 and controlled LLM experiments

A September 2026 release worth evaluating for structured language-model workflows in R.

AI-assisted programming needs an evidence trail

The valuable question is not how quickly a model writes code. It is how confidently a team can review the result.

From a Shiny prototype to a trusted review tool

A dashboard is only useful when users understand the data, the calculations and the decisions it supports.

Real-world data: define the cohort before the model

Index dates, eligibility and follow-up can change the answer before a statistical model is fitted.

What I would examine before an AI model goes live

A practical technical review looks beyond a headline accuracy score to the evidence supporting a particular use.

A CONVERSATION IS A GOOD START

What are you working on?

Tell me about the challenge. Let’s define a practical way forward.

Discuss your project