Thinking Spreadsheet




There are many books about spreadsheets out there. Most of these books will tell you things like “How to save a file” and “How to make a graph” and “How to compute the present value of a stream of cashflows” and “How to use conjoint analysis to figure out which features you should add to the next version of your company’s widgets in order to impress senior management and get a promotion and receive a pay raise so you can purchase a bigger boat than your neighbor has.”

This book isn’t about any of those. Instead, it’s about how to Think Spreadsheet. What does that mean? Well, spreadsheets lend themselves well to solving specific types of problems in specific types of ways. They lend themselves poorly to solving other specific types of problems in other specific types of ways.

Thinking Spreadsheet entails the following:

  • Understanding how spreadsheets work, what they do well, and what they don’t do well.
  • Using the spreadsheet’s structure to intelligently organize your data.
  • Solving problems using techniques that take advantage of the spreadsheet’s strengths.
  • Building spreadsheets that are easy to understand and difficult to break.

To help you learn how to Think Spreadsheet, I’ve collected a variety of curious and often whimsical examples. Some represent problems you are likely to encounter out in the wild, others problems you’ll never encounter outside of this book. Many of them we’ll solve multiple times. That’s because in each case, the means are more interesting than the ends. You’ll never (I hope) use a spreadsheet to compute all the prime numbers less than 100. But you’ll often (I hope) find useful the techniques we’ll use to compute those prime numbers, and if you’re clever you’ll go away and apply them to all sorts of real-world problems. As with most books of this sort, you’ll really learn the most if you recreate the examples yourself and play around with them, and I strongly encourage you to do so.

Author(s): Joel Grus

Publication Date: originally in dead-tree form 2010, accessed 29 Oct 2022

Publication Site: Joel Grus github

Actuarial Modernization Errors



Professionalization leads us to an interesting dilemma. Actuarial culture and, for that matter, organizational culture got insurance companies to where they are today. If the culture were not moderately successful, then the company would not still exist. But this is where Prospect theory emerges from the shadows. It is human nature not to want to lose the culture that enabled your success. Many people nonetheless thirst for the gains earned by moving in a new direction. Risk aversion further reinforces the stickiness of culture, especially for risk-averse professions and industries. Drawing from author Tony Robbins, you cannot become who you want to be by staying who you currently are. Our professionalization, coupled with our risk aversion, creates a double whammy. Practices appropriate to prior eras have a propensity to be locked in place. Oh, but it gets worse!

By the nature of transformation and modernization, knowledge and know-how are embedded in the current people, processes and systems. The knowledge and know-how must be migrated from the prior technology to modern technology. Just like your computer’s hard drive gets fragmented, so too do firms’ expertise as people change focus, move jobs or leave companies. The long-dated nature of our promises can severely exacerbate the issue. Human knowledge and know-how are not very compressible, unlike biological seeds and eggs. In a time-consuming defragmenting exercise, information, knowledge and know-how must be painstakingly moved, relearned and adapted for the new system. This transformation requires new practices, further exacerbating the shock to the culture. Oh, but it gets even worse!

The transformation process requires existing teams to change, recombine or communicate in new ways. This means their cultures will potentially clash. Lack of trust and bureaucracy are the most significant frictions to collaboration among networks. The direct evidence of this is when project managers vent that teams x, y and z cannot seem to work together. It is because they do not have a reference system to know how to work together.

Author(s): Bryon Robidoux

Publication Date: September 2022

Publication Site: The Actuary

Variations On Approximation – An Exploration in Calculation




Before we get into the different approaches, why should you care about knowing multiple ways to calculate a distribution when we have a perfectly good symbolic formula that tells us the probability exactly?

As we shall soon see, having that formula gives us the illusion that we have the “exact” answer. We actually have to calculate the elements within. If you try calculating the binomial coefficients up front, you will notice they get very large, just as those powers of q get very small. In a system using floating point arithmetic, as Excel does, we may run into trouble with either underflow or overflow. Obviously, I picked a situation that would create just such troubles, by picking a somewhat large number of people and a somewhat low probability of death.

I am making no assumptions as to the specific use of the full distribution being made. It may be that one is attempting to calculate Value at Risk or Conditional Tail Expectation values. It may be that one is constructing stress scenarios. Most of the places where the following approximations fail are areas that are not necessarily of concern to actuaries, in general. In the following I will look at how each approximation behaves, and why one might choose that approach compared to others.

Author(s): Mary Pat Campbell

Publication Date: January 2014

Publication Site: CompAct, SOA

5 insurance use cases for machine learning



4. Fraud detection

Unfortunately, fraud is rampant in the insurance industry. Property and casualty insurance alone loses about $30 billion to fraud every year, and fraud occurs in nearly 10% of all P&C losses. ML can mitigate this issue by identifying potential claim situations early in the process. Flagging early allows insurers to investigate and correctly identify a fraudulent claim. 

5. Claims processing

Claims processing is notoriously arduous and time-consuming. ML technology is a tool to reduce processing costs and time, from the initial claim submission to reviewing coverages. Moreover, ML supports a great customer experience because it allows the insured to check the status of their claim without having to reach out to their broker/adjuster.

Author(s): Lisa Rosenblate

Publication Date: 9 Sept 2022

Publication Site: Digital Insurance

Insurers Must Reach Millennials and Gen Zers. Here’s How



Based on the widely used Pew Research definitions, the millennials are turning 26 through 41 this year, and Gen Zers are turning 10 through 25.

More than half of Gen Zers ages 16 through 24 are already in the workforce.

It’s time for carriers to innovate rapidly to respond to the buying preferences of members of these generations.


As an example, if the target customers are millennials and Gen Zers who need a simple term life insurance solution, you may want to focus on instant decision underwriting and lower face amounts to meet the most basic needs.

This approach could mean that many historical riders and features are actually not necessary.

It likely also means that the tools used in underwriting need to focus on information that is available instantly as opposed to traditional methods that could take weeks or even months.

Author(s): Jeremy Bill

Publication Date: 12 Sept 2022

Publication Site: Think Advisor

Pa. elections official blames spreadsheet for state’s mistake in certifying a county’s election results



But in a court filing Monday, Jonathan Marks, the deputy elections secretary, acknowledged that a fourth county, Butler, had also refused to count those ballots — and that the county had notified the department three weeks before the lawsuit was filed.

Marks apologized to the court for what he described as an oversight resulting from “a manual process” — a spreadsheet — the department had used to track which counties were counting undated ballots. Butler County was misclassified in the spreadsheet, he said, and from that point forward was left out of the state’s campaign to push counties that hadn’t included them.

Author(s): Jonathan Lai, Jeremy Roebuck

Publication Date: 8 Aug 2022

Publication Site: The Philadelphia Inquirer

How AI can revolutionize small commercial underwriting



Today, small commercial insurers can leverage AI/ML data and analytics as part of a holistic solution to transition from manual underwriting workflows that lean on lengthy applications and web research to one where quotes are issued and most policies are bound automatically and (nearly) instantly.

The journey has three broad phases.

Step 1: Prefill: Leveraging an array of data sources, including unstructured data sourced from computer vision algorithms, insurers can prefill application data on small commercial risks using just a business name and address. Human underwriters can then review this information against underwriting guidelines without having to chase down data through web searches or phone calls. 

Step 2: Selective automation: Based on risk appetite, certain industry classes can be identified for automated underwriting. In this environment, application data is prefilled and then automatically analyzed against insurer underwriting guidelines to determine acceptance or whether additional information is required. 

Step 3: Full-blown automation: As insurers learn from step two, it’s a short leap to step three, which is to fold additional businesses into the automated workflow. Even in a fully automated environment, there are some risk exposures that may trigger manual reviews of submissions. But by leveraging the efficiency gains delivered by application prefill and the automated underwriting of select industry classes, insurers can set themselves up to drive automation across a much wider array of risks than they ever thought possible.

Author(s): Tracey Waller

Publication Date: 29 Jun 2022

Publication Site: Digital Insurance

Tiny Python Projects




The biggest barrier to entry I’ve found when I’m learning a new language is that small concepts of the language are usually presented outside of any useful context. Most programming language tutorials will start with printing “HELLO, WORLD!” (and this is book is no exception). Usually that’s pretty simple. After that, I usually struggle to write a complete program that will accept some arguments and do something useful.

In this book, I’ll show you many, many examples of programs that do useful things, in the hopes that you can modify these programs to make more programs for your own use.

More than anything, I think you need to practice. It’s like the old joke: “What’s the way to Carnegie Hall? Practice, practice, practice.” These coding challenges are short enough that you could probably finish each in a few hours or days. This is more material than I could work through in a semester-long university-level class, so I imagine the whole book will take you several months. I hope you will solve the problems, then think about them, and then return later to see if you can solve them differently, maybe using a more advanced technique or making them run faster.

Author(s): Ken Youens-Clark

Publication Date: 2020

Publication Site: Tiny Python Projects

Fitting Yield Curves to rates




Given rates and maturities, we can fit the yield curves with different techniques in Yields.jl.

Below, we specify that the rates should be interpreted as Continuously compounded zero rates:

using Yields

rates = Continuous.([0.01, 0.01, 0.03, 0.05, 0.07, 0.16, 0.35, 0.92, 1.40, 1.74, 2.31, 2.41] ./ 100)
mats = [1/12, 2/12, 3/12, 6/12, 1, 2, 3, 5, 7, 10, 20, 30]

Then fit the rates under four methods:

  • Nelson-Siegel
  • Nelson-Siegel-Svennson
  • Boostrapping with splines (the default Bootstrap option)
  • Bootstrapping with linear splines
ns =  Yields.Zero(NelsonSiegel(),                   rates,mats)
nss = Yields.Zero(NelsonSiegelSvensson(),           rates,mats)
b =   Yields.Zero(Bootstrap(),                      rates,mats)
bl =  Yields.Zero(Bootstrap(Yields.LinearSpline()), rates,mats)

That’s it! We’ve fit the rates using four different techniques. These can now be used in a variety of ways, such as calculating the present_valueduration, or convexity of different cashflows if you imported ActuaryUtilities.jl

Publication Date: 19 Jun 2022, accessed 22 Jun 2022

Publication Site: JuliaActuary

Python and Excel Working Together




When we’re exploring using data science tools for actuarial modelling, we’d often like to keep using existing Excel workbooks, which can contain valuable and trusted models and data.

Fortunately, using Python doesn’t mean abandoning Excel as there are some very powerful tools available that allow closely coupled interaction between the two.

These tools allow us to have the “best of both worlds” combining the ease of use of Excel and the power of Python.

We’re going to start with the simplest options and lead through to ways of building workflows that can contain both Excel workbooks and Python code.

With the range of tools available, it should be possible to have the ‘best of both worlds’: the familiarity of existing Excel workbooks and the power of the Python ecosystem working together.

Finally, if you’d like to learn  more, the author of XLWings, Felix Zumstein, has written an excellent book “Python for Excel“, which covers these topics in more detail. Highly recommended.

Author(s): Carl Dowthwaite

Publication Date: 1 Feb 2022

Publication Site: Jove Actuarial

The EEOC wants to make AI hiring fairer for people with disabilities



That hiring algorithms can disadvantage people with disabilities is not exactly new information. In 2019, for my first piece at the Brookings Institution, I wrote about how automated interview software is definitionally discriminatory against people with disabilities. In a broader 2018 review of hiring algorithms, the technology advocacy nonprofit Upturn concluded that “without active measures to mitigate them, bias will arise in predictive hiring tools by default” and later notes this is especially true for those with disabilities. In their own report on this topic, the Center for Democracy and Technology found that these algorithms have “risk of discrimination written invisibly into their codes” and for “people with disabilities, those risks can be profound.” This is to say that there has long been broad consensus among experts that algorithmic hiring technologies are often harmful to people with disabilities, and that given that as many as 80% of businesses now use these tools, this problem warrants government intervention.


The EEOC’s concerns are largely focused on two problematic outcomes: (1) algorithmic hiring tools inappropriately punish people with disabilities; and (2) people with disabilities are dissuaded from an application process due to inaccessible digital assessments.

Illegally “screening out” people with disabilities

First, the guidance clarifies what constitutes illegally “screening out” a person with a disability from the hiring process. The new EEOC guidance presents any disadvantaging effect of an algorithmic decision against a person with a disability as a violation of the ADA, assuming the person can perform the job with legally required reasonable accommodations. In this interpretation, the EEOC is saying it is not enough to hire candidates with disabilities in the same proportion as people without disabilities. This differs from EEOC criteria for race, religion, sex, and national origin, which says that selecting candidates at a significantly lower rate from a selected group (say, less than 80% as many women as men) constitutes illegal discrimination.

Author(s): Alex Engler

Publication Date: 26 May 2022

Publication Site: Brookings

Hacker Laws — The Hype Cycle – Amara’s Law




The Hype Cycle on Wikipedia

We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.

(Roy Amara)

The Hype Cycle is a visual representation of the excitement and development of technology over time, originally produced by Gartner. It is best shown with a visual:

In short, this cycle suggests that there is typically a burst of excitement around new technology and its potential impact. Teams often jump into these technologies quickly, and sometimes find themselves disappointed with the results. This might be because the technology is not yet mature enough, or real-world applications are not yet fully realised. After a certain amount of time, the capabilities of the technology increase and practical opportunities to use it increase, and teams can finally become productive. Roy Amara’s quote sums this up most succinctly – “We tend to overestimate the effect of a technology in the short run and underestimate in the long run”.

Publication Date: accessed 5 June 2022

Publication Site: github