False Surrogate Endpoint

A common HumanTrait? that causes an extraordinary amount of work to be expended on things that ultimately have little value. Briefly, a surrogate endpoint is a stand-in for something that has value, often determined by association. A FalseSurrogateEndpoint is one that motivates people to action, and yet does not cause the quality of the worker's action to positively affect the actual endpoint.

For example, reducing heart attacks is a worthwhile goal as it improves quality of life. Lower levels of LDL cholesterol ("bad cholesterol") are associated with lower risk of heart attack. Therefore lowering LDL cholesterol is a surrogate endpoint. Some marketing type notices this and therefore promotes their Fatty Soy Brownies as healthy, since it contains no LDL cholesterol. The marker has therefore become a FalseSurrogateEndpoint... it might well be that eating Fatty Soy Brownies indeed makes your life worse, but nobody has tested it directly yet.

The other problem in this example is the implied premise that ingested LDL cholesterol correlates to blood levels of the stuff. When it comes to biochemistry it's amazing the simple assumptions we'll make.

In fact, I listened to a series on NPR which had no answers, but pointed out that studies of the cholesterol-lowering drugs, while they lower cholesterol, and lower the incidents of heart attack, the number of "critical hospitalizations" - a statistic the drug companies are required to report to the FDA - does not decrease. There is no known trend to the hospitalizations yet, but it is food for thought. -- JasonFelice


Are there similar examples in the life of computer programmers? Certainly. Databases tend to enforce rules that make for cleaner, less error-prone data. Therefore, whenever possible put things in a database. This leads to the FalseSurrogateEndpoint of normalizing everything, even files with 600 rows that you could just as easily allow a clerk to manipulate in a spreadsheet.


We can find the FalseSurrogateEndpoint used in performance problems in case of a bad design. Teams will focus on the small little useless things to optimize the performance while the whole application should be implementing better design options.


This sometimes happens, when management doesn't disclose the goal of a project. I was recently working on a prototype, where the goal was to impress the management. But instead of telling that, a surrogate goal of implementing as much features as possible from a feature list was communicated.

The problem was, that impressing the management doesn't only include adding many impressive features, but also making few core features more impressive. This was not done so, as we were working towards a surrogate endpoint.


CategoryAntiPattern CategoryManagementAntiPattern


EditText of this page (last edited April 29, 2011) or FindPage with title or text search