Follow the ants to richness

A friend of mine told me the secret of making money at the stock market. "It's easy", he said.

All I would have to do is to buy a big jar of ants. Then I should observe the ants movement on my kitchen table, while following the stock market.

I shall keep the ants which walk in line with the stock market and remove those who don't. Eventually I would have one ant left that walked all the way in line with the stock market.

Bingo! This is the one I have to keep feeding well and observe, as it clearly can predict the movements of the stock market.

For more complex problems I recommend to use animals with bigger brains.

Read more »

Two insurers fined $250,000

A California insurer and its sister company are being fined $250,000 for multiple violations of Washington’s insurance laws.

Health Net Health Plan of Oregon, Inc. and Health Net Life Insurance Co., of Woodland Hills, Calif., have signed a consent order jointly agreeing to pay the fine.

The violations include:

• As an illegal inducement to keep customers, the companies offered an unapproved premium holiday – a month of free insurance -- to hundreds of customers. (State law says that insurers must use the rates they file with state regulators.)

• Customers were transferred to new plans with a different company, but were wrongly told that the change was simply a “renewal” of the policy.

• By not telling customers that they had been transferred to a different company, the companies also violated a state law requiring insurers to use their own names.

“I’m all for consumers getting a break on their health insurance premiums,” said Insurance Commissioner Mike Kreidler. “But insurers have to follow the same rules their competitors do. If they say they’re going to charge a particular rate, that’s the rate they should use.”

Reserving based on log-incremental payments in R, part III

This is the third post about Christofides' paper on Regression models based on log-incremental payments [1]. The first post covered the fundamentals of Christofides' reserving model in sections A - F, the second focused on a more realistic example and model reduction of sections G - K. Today's post will wrap up the paper with sections L - M and discuss data normalisation and claims inflation.

I will use the same triangle of incremental claims data as introduced in my previous post. The final model had three parameters for origin periods and two parameters for development periods. It is possible to reduce the model further as Christofides illustrates in section L onwards by using an inflation index to bring all claims payments to current value and a claims volume adjustment or weight for each origin period to normalise the triangle.

In his example Christofides uses claims volume adjustments for the origin years and an earning or inflation index for the different payment calendar years. The claims volume adjustments aims to normalise the triangle for similar exposures across origin periods, while the earnings index, which measures largely wages and other forms of compensations, is used as a first proxy for claims inflation. Note that the earnings index shows significant year on year changes from 5% to 9%. Barnett and Zehnwirth [2] would probably recommend to add further parameters for the calendar year effects to the model.
# Page D5.36
ClaimsVolume <- data.frame(origin=0:6,
volume.index=c(1.43, 1.45, 1.52, 1.35, 1.29, 1.47, 1.91))
# Page D5.36
EarningIndex <- data.frame(cal=0:6,
earning.index=c(1.55, 1.41, 1.3, 1.23, 1.13, 1.05, 1))
# Year on year changes
# [1] 0.09 0.08 0.05 0.08 0.07 0.05

dat <- merge(merge(dat, ClaimsVolume), EarningIndex)

# Normalise data for volume and earnings
dat$logvalue.ind.inf <- with(dat, log(value/volume.index*earning.index))
with(dat, interaction.plot(dev, origin, logvalue.ind.inf))
points(1+dat$dev, dat$logvalue.ind.inf, pch=16, cex=0.8)
Indeed, the interaction plot shows the various origin years now to be much more closely grouped. Only the single point of the last origin period stands out now. Christofides tests several models with different numbers of origin levels, but I am happy with the minimal model using only one parameter for the origin period, namely the intercept:
Read more »

The Compassionate Physician

A Kind-hearted Physician sitting at the bedside of a patient afflicted with an incurable and painful disease, heard a noise behind him, and turning saw a cat laughing at the feeble efforts of a wounded mouse to drag itself out of the room.

“You cruel beast!” cried he. “Why don’t you kill it at once, like a lady?”

Rising, he kicked the cat out of the door, and picking up the mouse compassionately put it out of its misery by pulling off its head. Recalled to the bedside by the moans of his patient, the Kind-hearted Physician administered a stimulant, a tonic, and a nutrient, and went away.
The above is from Fantastic Fables, a book written by Ambrose Bierce and first published in 1898 over one hundred years before Sarah Palin stumbled into the end-of-life conversation. Mrs. Palin’s contribution was to fan the fears of those worried about death panels. Mr. Bierce calmly asked us to define humane.

This post marks the four year anniversary of Health Insurance Issues With Dave. The very first edition dealt with a very, very unhealthy gentleman in his late 70’s who was in line to get a new kidney.

  • Did it make sense to place a healthy kidney into the body of someone that old and that unhealthy?
  • Should the kidney go to someone younger or in better overall health?
  • Should society, in this case Medicare, pay for this quixotic procedure?

  • I didn’t pretend to have the answers in 2009. I’m no closer today. Worse, this is a conversation that we as a country have managed to avoid. But as we change our system of health care financing through the implementation of the Patient Protection and Affordable Care Act (PPACA), we are going to have to discuss this whether we want to or not.

    It isn’t always life and death. An eighty-eight year old woman visited the Cleveland Clinic last week. After examinations and tests by several doctors, nurses, and technicians, it was determined that yes, she did have a cataract, but no, she did not require immediate surgery. Still, if she wanted to have the procedure, they were prepared. Money was not a consideration. Medicare and her Medicare supplement would have covered the entire cost. She elected to wait until she had no choice.

    Is it great that our elderly have such wonderful, comprehensive health coverage? I don’t know. It FEELS great. But is there a line and where is it? If we agree that all Americans have a right to unlimited care, then we must begin the process to collect the funds (taxes) necessary to pay the bill. If we want to set limits, then now is the time to start that conversation.

    The subject of that first post never received the new kidney and died from one of his many ailments. I learned a lot about death this year as I watched a friend struggle with cancer. He lost that battle. I don’t know if he ever fully grasped the value of Hospice and palliative care or how much help and comfort he received in his final days. I, however, now have a much greater appreciation for Hospice and the doctors, nurses, and technicians who staff these units and facilities.

    And we are left with the questions – How much medical care is needed and how much is too much? And of equal importance – Who gets to decide?

    Are we ready to define compassion?


    Reserving based on log-incremental payments in R, part II

    Following on from last week's post I will continue to go through the paper Regression models based on log-incremental payments by Stavros Christofides [1]. In the previous post I introduced the model from the first 15 pages up to section F. Today I will progress with sections G to K which illustrate the model with a more realistic incremental claims payments triangle from a UK Motor Non-Comprehensive account:
    # Page D5.17
    tri <- t(matrix(
    c(3511, 3215, 2266, 1712, 1059, 587, 340,
    4001, 3702, 2278, 1180, 956, 629, NA,
    4355, 3932, 1946, 1522, 1238, NA, NA,
    4295, 3455, 2023, 1320, NA, NA, NA,
    4150, 3747, 2320, NA, NA, NA, NA,
    5102, 4548, NA, NA, NA, NA, NA,
    6283, NA, NA, NA, NA, NA, NA), nc=7))
    The rows show origin period data, e.g. accident years, underwriting years or years of account and the columns present the development periods or lags. The triangle appears to be fairly well behaved. The last two years in rows 6 and 7 appear to be slightly higher than rows 2 to 5 and the values in row 1 are lower in comparison to the later years. The last payment of £1,238 in the third row stands out a bit as well.

    Before I plot the data, I will transform the triangle into a data frame and add extra columns:
    m <- dim(tri)[1]; n <- dim(tri)[2]
    dat <- data.frame(
    origin=rep(0:(m-1), n),
    dev=rep(0:(n-1), each=m),

    ## Add dimensions as factors
    dat <- with(dat, data.frame(origin, dev, cal=origin+dev,
    value, logvalue=log(value),
    I am particularly interested in the decay of claims payments in the development year direction for each origin year on the original and log-scale. The interaction.plot of the stats package does an excellent job for this:
    op <- par(mfrow=c(2,1), mar=c(4,4,2,2))
    with(dat, interaction.plot(x.factor=dev, trace.factor=origin,
    points(dat$devf, dat$value, pch=16, cex=0.5)
    with(dat, interaction.plot(x.factor=dev, trace.factor=origin,
    points(dat$devf, dat$logvalue, pch=16, cex=0.5)
    Indeed the origin years 1 to 4 (rows 2 to 5) look quite similar and the decay of claims in development year direction appears to be linear on a log-scale from development year 1 onwards.

    Based on those observations Christofides suggests two models; the first one will have a unique level for each origin year and a unique level for the zero development period. The parameters for development periods 1 to 6 are assumed to follow a linear relationship with the same slope \(s\):
    \ln(P_{ij}) & = Y_{ij} = a_i + d_j + \epsilon_{ij}
    &\mbox{for } i,\,j \mbox{ from } 0 \mbox{ to } 6\\
    \mbox{where } d_0 &= d,\quad d_j = s \cdot j
    &\mbox{for } j > 0
    \end{align}and \(\epsilon_{ij} \sim N(0, \sigma^2)\). The second model will be a reduced version of the above with only two levels for the origin years 5 and 6. Hence, I add four more columns to my data frame:Read more »

    Our new, much different website

    Yesterday (yes, during the Seahawks game, yes, yes) we launched our new, faster, and hopefully much-easier-to-use website.

    It's the product of months of testing with a variety of demographics, and the site is designed to be much more intuitive than our former site. On the old site, consumers could complete only 1/3 of the typical tasks we gave them. Now it's over 80 percent, and we're going to keep tweaking things to try to improve that further.

    Take a look.

    Fact, PolitiFact, and the Real World

    Jim Renacci (R-OH) got caught. Last Thursday’s Plain Dealer called out the congressman in the PolitiFact column.

    Obamacare includes "a $63 charge every American will begin paying (in 2013) as a way to cover some of the increased costs associated with providing health insurance to those with pre-existing conditions."

    And this was deemed Mostly False.

    So what did Congressman Renacci get wrong and why is this important?ul>

  • The $63 fee is part of a Health and Human Services (HHS) rule. And though this fee is as good as done, it is not done so this isn’t good.

  • The $63 fee is slated for 2014 not 2013.

  • The $63 fee is a charge each employer would pay per person covered under a group health insurance policy. The money would help defray the cost of insuring all of the unhealthy Americans who will soon be flooding our health care system.

  • The $63 fee is supposed to decrease over three years and then disappear.

  • The last point is the most amusing. How many governmental fees, otherwise known as taxes, have you seen disappear?

    So, PolitiFact is technically correct. Mr. Renacci oversold his point. What he could have said is the HHS is about to impose another charge to employers to help cover the cost of the Patient Protection and Affordable Care Act (PPACA). He might have noted that HHS is making up the rules as it goes, is actively looking for funding sources, and has yet to facilitate an honest, open discussion about priorities.

    Renacci was wrong and PolitiFact was irrelevant.

    * * *

    The health care debate is replete with faux experts and near truths. Here is what I know: Premiums are increasing, now and in the foreseeable future.

    My small group clients are getting hit hard. The March small group renewals from Anthem are well over 20%. My Medical Mutual groups are seeing rate increases in the high teens. The clients aren’t interested in theories or promises. They are only concerned with the size of their monthly bills.

    What is contributing to the rate jump? Some of this is the ramp-up to 2014, but the insurers will tell you that the rates reflect the reality of higher health care costs and increased benefits.

    Carrie Haughawout, assistant director for health policy of the Ohio Department of Insurance, recently told the Dayton Daily News, “Ultimately health insurance rates are just reflecting the cost of health care and the cost of health care has been going up for years, so the cost of health insurance has correspondingly been going up.”

    In that same article, Aetna spokesman, Scot Roskelley, blamed premium increases on “the increasing prices of hospital care, prescription drugs, doctor’s visits, and other health care services. Other underlying cost pressures – from the underpayment for government insurance to the rising rates of obesity – also drive up premiums.”

    The only cost drivers Mr. Roskelley skips are all of the new free benefits that have been added to individual and small group health policies. Some people seem to believe that $3,500 colonoscopies are just gifts from the insurance fairies.

    ThinkProgress found a law professor from Washington and Lee, Timothy Jost, who opined that “The cost of new benefits should not be a big deal. Most of the costs of health insurance are for inpatient, outpatient, physician, lab, radiology, and pharmaceuticals, which virtually all insurers now cover.”

    At Washington and Lee, cheerleading is nine tenths of the law!

    * * *

    Dave Jones, California’s insurance commissioner, is really unhappy. He is allowed to jump up and down and stamp his feet, but he cannot block insurers from raising their rates. He’d like to change that. He would like California to give him more authority.

    The regulatory gold standard may be New York. A recent New York Times article noted that insurers may have requested an average increase of 9.5% on individual policies, but the actual state approved increase was only 4.5%. Small group rates had an even bigger spread. The insurers proposed an average increase of 15.8% but saw that number knocked down to 9.6%.

    We are left with two options. Is insurance priced the same way as trinkets at some third world tourist trap? Do the insurance companies price their products high enough so that the regulators can score well-publicized victories while the companies still receive sufficient funds to perform their primary function – insure the public? Or, did reducing the insurers’ renewal rate increases by 40% possibly jeopardize the companies’ future ability to pay claims? Are the regulators making insurance no more secure than a government program?


    So which is more important to you, Renacci and others on the right overselling the new fees or the future stability of how we fund the payment of medical services? It all affects us, those of us living in the real world.


    Our website's about to change dramatically. Here's what agents/brokers/insurers need to know

    On Sunday, Jan. 13, we'll be rolling out our new agency website. It looks a lot different. We've tested the design on a variety of consumers and industry professionals, we've overhauled the navigational structure, and we've given the whole site a distinctly different look and feel.

    There's one thing we're sure of: The site will be much more intuitive and easy to use. Early testing showed that consumers had a 1 in 3 task completion rate on our current site. On the new version, that jumped to 80 percent. And we hope that further fine-tuning boosts it further.

    Here's the important part for agents, brokers and companies: The new site immediately splits users into a "consumer" area for laypersons and an "industry professionals" section for the folks that have to interact with our site for licensing, continuing education reporting, tax filing, financial statements, etc.

    Update: And it's live! At the top of the home page, you'll see a tab marked "For industry professionals." There you go.

    Two of WA's largest nonprofit health insurers have $2.2 billion in surplus

    From a press release we sent out today:
    OLYMPIA, Wash. – With two of the state’s largest health insurers sitting on surpluses totaling $2.2 billion, Washington’s top insurance regulator wants to use some of that money to lower costs for consumers.

    According to the companies’ most recent financial statements, Regence BlueShield’s surplus has grown to $1.05 billion. Premera Blue Cross’ surplus is $1.15 billion.

    “These are non-profit companies,” said Insurance Commissioner Mike Kreidler. “It’s hard to square their billion-dollar surpluses with the fact that families are struggling to afford health insurance.”

    Kreidler is proposing legislation that would allow his office to consider surpluses when reviewing nonprofit health insurers’ proposed rates. As things stand now, his staff must ignore them.

    “As I’ve said before, it’s like trying to ignore an elephant in the room,” Kreidler said. “And the elephant’s getting bigger.”

    The surpluses of both Regence and Premera have more than doubled in a decade. In the first nine months of 2012, Regence’s grew by $60 million. Premera’s grew by nearly $182 million.

    “It’s important to remember that these are not reserves, which are set aside to pay future claims,” Kreidler said. “These billion-dollar surpluses are in addition to their reserves.”

    Reserving based on log-incremental payments in R, part I

    A recent post on the PirateGrunt blog on claims reserving inspired me to look into the paper Regression models based on log-incremental payments by Stavros Christofides [1], published as part of the Claims Reserving Manual (Version 2) of the Institute of Actuaries.

    The paper is available together with a spread sheet model, illustrating the calculations. It is very much based on ideas by Barnett and Zehnwirth, see [2] for a reference. However, doing statistical analysis in a spread sheet programme is often cumbersome. I will go through the first 15 pages of Christofides' paper today and illustrate how the model can be implemented in R.

    Let's start with the example data of an incremental claims triangle:
    ## Page D5.4
    tri <- t(matrix(
    c(11073, 6427, 1839, 766,
    14799, 9357, 2344, NA,
    15636, 10523, NA, NA,
    16913, NA, NA, NA),
    nc=4, dimnames=list(origin=0:3, dev=0:3)))
    The above triangle shows incremental claims payments for four origin (accident) years over time (development years). It is the aim to predict the bottom right triangle of future claims payments, assuming no further claims after four development years.

    Christofides model assumes the following structure for the incremental paid claims \(P_{ij}\):
    \ln(P_{ij}) & = Y_{ij} = a_i + b_j + \epsilon_{ij}
    \end{align}where i and j go from 0 to 3, \(b_0=0\) and \(\epsilon_{ij} \sim N(0, \sigma^2)\). Unlike the basic chain-ladder method, this is a stochastic model that allows me to test my assumptions and calculate various statistics, e.g. standards errors of my predictions.
    Read more »

    Cliff Diving

    December 19, 2024

    They were much too angry and type A to stand in line. But they waited for their turn and one by one marched to the podium, faced the few assembled Congressmen not from their states, and held nothing back. They were all there, every single member of the delegations from California, Arizona, and Nevada. 38 Democrats, 27 Republicans, 2 Socialists and a Libertarian were in total agreement. The federal government needed to act, NOW. And it wasn’t going to happen. The Speaker of the House, James L. (Jimmy Lee) Russell (R-La), had already left. There was not going to be a vote tonight. And if the citizens of California, Arizona, and Nevada were dying from a flu epidemic and needed more medical attention than was currently available, well it was, in part, their fault for not being smart enough to live in Louisiana.

    Hell, everyone should live in Louisiana, except of course, that damn Socialist.

    The idea that the House of Representatives would adjourn without completing the people’s business would seem absurd to anyone who wasn’t paying attention to the drama of the last few days. But last night I watched the delegations from New York and New Jersey, Democrats and Republicans alike, shake in fury at the idea that Speaker John Boehner (R-Oh) would adjourn prior to allowing the vote for emergency relief for the victims of Hurricane Sandy.

    As we march towards the nationalization of our health care delivery system, I again wonder if the people in Washington are up to the task. I know, I’ve met many of the suits at the major insurance companies. They don’t instill unqualified confidence, but the insurers seldom suffer from the self-inflicted wounds that our current leaders have mastered.

    Our Republican leaders have attempted to starve the government. They have tried, with a great deal of success, to lower taxes without reducing expenses. Now that the election is over, we are hearing about entitlement cuts. We are learning that the Republicans seem to believe that Medicare, Social Security, and Medicaid are the sources of our financial problems. Defense, government subsidies to favored industries, and revenues should be off the table. What happens when our health care is just one more line item on the budget and the choice is adequate funding or the happiness of a few large campaign donors?

    I don’t like our odds.

    And my fellow Democrats aren’t any better. There is no such thing as free. And though a modest increase in the taxes some of us pay may not hurt (too much), the truth is that you can’t tax your way out of this mess. That and we seem to fixate on the low hanging fruit. Most people don’t mind increasing the taxes on other people. If we really need the money so badly, why not ask everyone to chip in? Pick a number. $5 a week from the paychecks of everyone making under that $250,000 threshold? Something. Anything. Shared pain seems to mean someone is in pain and the rest of us will watch and pretend to feel bad.

    It is difficult to not feel frustration after watching the New Year’s Eve mess. I was transfixed. I couldn’t help myself. I kept waiting for our country’s leadership to lead. In the end it fell upon Minority Leader Mitch McConnell (R-Ky) and Vice President Biden to craft a deal that could pass. I was not surprised to see Joe Biden ride in (limo not horseback) to save the day. McConnell’s participation was a pleasant surprise.

    But nothing is really solved. The US government is run by people unwilling and unable to craft a realistic budget, a doable system of taxation and tax collection, and a logical strategic plan. This is nothing new. What is new is that we are less than ten months from the implementation of the Patient Protection and Affordable Care Act. The federal government will be running the exchanges in states like Ohio where the governor thought that a President Romney would make all of this moot. How politicized, underfunded, and uncertain will our health care funding become?

    I think we will all be cliff diving.  


    Clone all your gists locally with R

    I really like gists as a quick way to include more lengthly code snippets into my blog posts. However, I am not a git user as such, and so I was quite concerned when I noticed that all my gists on this blog had vanished after Christmas. I suppose this was a result of Github's downtime on December 22nd.

    Thankfully an email to the support guys at Github resolved the issue within a few hours. Still, I thought it might be a good idea to download my gists locally.

    I can see all my gists as a JSON file online here:

    Thus, I downloaded the file and thanks to the RJSONIO package I was able to clone all my gists locally with a few lines of R:
    Read more »