<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>modelling &#8211; Twenty Third Floor</title>
	<atom:link href="https://twentythirdfloor.co.za/category/modelling/feed/" rel="self" type="application/rss+xml" />
	<link>https://twentythirdfloor.co.za</link>
	<description>Perspectives</description>
	<lastBuildDate>Tue, 05 May 2026 06:49:12 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2011/07/cropped-cropped-IMG_5265_2-2-32x32.jpg</url>
	<title>modelling &#8211; Twenty Third Floor</title>
	<link>https://twentythirdfloor.co.za</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Why Actuarial Model Migrations Are Hard</title>
		<link>https://twentythirdfloor.co.za/2026/03/17/why-actuarial-model-migrations-are-hard/</link>
					<comments>https://twentythirdfloor.co.za/2026/03/17/why-actuarial-model-migrations-are-hard/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Tue, 17 Mar 2026 14:30:53 +0000</pubDate>
				<category><![CDATA[Actuarial and Risk]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[operational risk]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=3223</guid>

					<description><![CDATA[Every few years, someone in the room says it. Maybe it is the new CTO. Maybe it is a consultant. Maybe it is you, staring at a model that has been accumulating complexity since before the Global Financial Crisis. The words are always roughly the same: &#8220;We should rewrite this.&#8221; The sentiment is understandable. The [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Every few years, someone in the room says it. Maybe it is the new CTO. Maybe it is a consultant. Maybe it is you, staring at a model that has been accumulating complexity since before the Global Financial Crisis. The words are always roughly the same: &#8220;We should rewrite this.&#8221;</p>



<p>The sentiment is understandable. The existing model is slow, poorly documented, and full of code that nobody fully understands. There is an opaque subroutine that handles a tranche of conventional with-profits business written in the 1980s, and the only documentation is a comment that reads: &#8220;Whatever you do, do not remove this.&#8221; The codebase is not so much software as it is sedimentary rock, and each layer contains its own fossils.</p>



<p>So you start fresh. Clean architecture. Modern platform. This time, you tell yourself, we will do it properly.</p>



<p>Joel Spolsky wrote about this pattern over two decades ago, calling it the single worst strategic mistake a software company can make. Netscape rewrote their browser from scratch and nearly died. More recently, Sonos rewrote their mobile app from the ground up in 2024, promising &#8220;an unprecedented streaming experience.&#8221; The result was a catastrophe: core features were missing, existing systems broke, the company&#8217;s share price dropped by 25%, and the CEO lost his job. The rewrite had taken two years. The team had done extensive user testing. The prototypes looked good. The problem was not the vision. It was the thousand things the old app had quietly been handling that nobody had thought to write down.</p>



<p><strong>The complexity is in the problem, not the code</strong></p>



<p>When a developer looks at a legacy actuarial model, they see spaghetti and hacks and massively nested if statements and think &#8220;bad code.&#8221; Sometimes they are right. But more often, the cludge is an accurate representation of complicated business logic. That weird branch that treats one closed book differently from every other? That is a tranche of policies migrated in from another licence in some distant corporate past, policies that stubbornly crawl off the books at their own pace rather than running off as the assumptions suggest. The hardcoded matrix of flags in the decrement logic? That is handling multiple causal surrender and lapse events, where the interaction effects were agreed through industry negotiation rather than derived from first principles.</p>



<p>Consider the products themselves. Conventional with-profits policies from the 1970s and 1980s, now-defunct retail discretionary smoothed bonus products, universal life variants with guarantee structures that differ by tranche because of policy wording glitches that affected business written during a narrow window. These are not edge cases. In a mature life insurer&#8217;s book, they are the book. Every product variant that was ever sold, however briefly, however accidentally, lives in the model forever.</p>



<p>You can refactor the syntax. You can rename the variables. You can restructure the control flow. You can attempt to enforce coding standards. The essential complexity survives every rewrite, because it was never a function of the code to begin with. It was in the contracts, the policy wordings, the historical decisions, and the accumulated institutional memory of the actuarial team.</p>



<p>This is why model rewrites so often converge back towards the same complexity as the original. The optimistic timeline assumes the new model will be simpler. It will not be simpler. It will be the same complexity with less battle-testing.</p>



<p><strong>The rabbit hole goes dee</strong>p</p>



<p>I recently fell down a rabbit hole reading about why COBOL systems persist in banking. The reason turned out to be more interesting than I expected, and it illustrates something important about legacy systems in general.</p>



<p>COBOL performs arithmetic in decimal. Not binary floating-point, which is what R, Python, C, and virtually every modern language use by default, but actual base-10 arithmetic. This matters because in binary floating-point, 0.1 cannot be represented exactly. It is not a rounding issue or an implementation bug. One-tenth in base 2 is a repeating fraction, the same way one-third is repeating in base 10. The practical consequence is that 0.1 + 0.2 does not equal 0.3 in any language that uses IEEE 754 doubles. Try it in R. It returns FALSE. Excel, incidentally, will tell you it returns TRUE, because Microsoft decided decades ago to silently paper over the issue with heuristic rounding at the display level. It is a load-bearing lie: technically dishonest, pragmatically essential, and the foundation upon which the entire global financial system&#8217;s spreadsheets rest.</p>



<p>For actuarial modelling this rarely matters in practice. You are working with estimates and probabilities, and 15 significant digits of precision is more than enough. But the point is not about COBOL or Excel specifically. It is about how deep the assumptions in any system go. The banking world discovered, when they tried to move off COBOL, that the decimal arithmetic was not just a feature of the language but a load-bearing property of the entire ecosystem. Rounding behaviour, reconciliation logic, audit trails: all of it assumed exact decimal representation.</p>



<p>Actuarial models have their own version of this. Assumptions about evaluation order, about when intermediate rounding occurs, about how decrements interact, about the precise sequence of operations in a monthly projection step. These assumptions are rarely documented because the people who wrote the model did not think of them as assumptions. They were just &#8220;how it works.&#8221; Until someone tries to replicate &#8220;how it works&#8221; in a new environment and discovers that a hundred small implicit choices produce a hundred small differences, each individually immaterial, collectively significant, and individually painful to diagnose.</p>



<p><strong>The documentation mirage</strong></p>



<p>The standard diagnosis at this point is: &#8220;Well, we should have documented it properly.&#8221; And yes, in an ideal world, every modelling decision would be recorded, every assumption justified, every edge case explained. But documentation has a half-life. The moment you write it, it starts decaying. And the effort to keep it current competes with the effort to actually do the work it documents.</p>



<p>Models most in need of documentation are the complex ones that change frequently, which are precisely the ones where documentation goes stale fastest. The simple stable model that has not changed in five years has beautiful documentation. The critical model that three people are iterating on weekly has a README from 2019 and some optimistic comments about &#8220;come back to this&#8221; in the code.</p>



<p>Good documentation requires a different skill from good modelling. Explaining why you made a choice is harder than making the choice. Most documentation ends up describing what the model does, which anyone with the code can see, rather than why it does it that way, which is the thing that is actually lost when someone leaves.</p>



<p>So when someone says &#8220;we will document the old model thoroughly before we migrate,&#8221; treat that with the scepticism it deserves. It is not that documentation is worthless. It is that comprehensive documentation of a complex actuarial model is closer to a research project than a task on a Gantt chart, and it will never be truly complete. The knowledge that matters most, the kind that explains why line 437 exists, often lives only in the model itself and in the memories of the people who built it. Sometimes the most valuable documentation in the entire codebase is a comment that says &#8220;do not remove this.&#8221; It tells you nothing about what the code does. It tells you the one thing that matters: someone before you tried removing it, and something terrible happened.</p>



<p><strong>The testing problem is nearly intractable</strong></p>



<p>The textbook software development answer to safe migration/refactoring is: write comprehensive tests against the old system, then verify the new system produces the same results. This sounds clean. It falls apart quickly in practice.</p>



<p>An actuarial model is not best thought of as a simple function that takes an input and returns an output. It is a function of data, assumptions, methodology, regulatory basis, reporting date, and a constellation of configuration choices. To truly test it, you would need to verify results across combinations of all of these dimensions: base and stressed assumptions, multiple products, different data vintages, BEL, SCR, RM, RA, EV, ORSA projections and more. The required test suite is, for practical purposes, infinite.</p>



<p>But even if you could write enough tests, testing locks in current behaviour, not correct behaviour. If the existing model has a subtle bug that slightly misstates the impact of a particular stress scenario, your tests will faithfully preserve that bug. You now have a comprehensive test suite that gives you high confidence in reproducing the wrong answer. Which is arguably worse than no tests, because it creates false certainty.</p>



<p>Conversely, tests that are too simple create their own risks. A test that says &#8220;the total reserve is within 1% of the old model&#8221; might pass while masking a situation where two large errors in opposite directions cancel out. Over time, as the portfolio changes and one of those errors stops being offset, the discrepancy surfaces, and by then nobody remembers that the migration was the cause.</p>



<p>The practical approach is something looser than formal test suites: attribution analyses, movement analyses, and sense checks that tell you why results changed, not just whether they changed. An unexplained difference is not a rounding tolerance to be waved through. It is an unknown.</p>



<p><strong>The replication question</strong></p>



<p>Here is a question that derails more migration projects than any technical challenge: during the rebuild, the team discovers that the old model has a bug. Maybe the lapse rates for a particular cohort are being applied incorrectly. Maybe a decrement interaction is not handling concurrent events properly. The old model has been producing results with this error for years, and those results have been reported, audited, and relied upon.</p>



<p>Do you replicate the bug in the new system to maintain consistency? Or do you fix it?</p>



<p>There is no clean answer. Replicating the bug feels deeply unsatisfying. Every professional instinct says to fix it now that you have found it. But fixing it means your &#8220;like-for-like&#8221; migration is no longer like-for-like, and every future reconciliation has to account for the correction. The reconciliation work, which is already the hardest part of any migration, becomes significantly harder when you are trying to separate platform differences from methodology changes.</p>



<p>My view is that, in general, replication first, correction later, is the lesser evil. Get the new system producing the same numbers as the old one, including the known (or newly identified) bugs, and then fix the bugs as a subsequent, documented change with its own impact assessment. It is slower. It is unsatisfying. But it is the approach that keeps the audit trail clean and the actuarial team&#8217;s confidence intact.</p>



<p>This only works if errors are logged rigorously at the point of discovery. Each one needs a description of the issue, the products and tranches affected, an estimate of the financial impact, and enough technical detail that a reader coming to the register months later can find commonality across findings and know where to start when the correction work begins. A vague note that says &#8220;lapse rates may be slightly off for product X&#8221; is not useful. A note that says &#8220;the lapse decrement for product X, tranches written between 2003 and 2007, is applied before the surrender decrement rather than simultaneously, resulting in an estimated overstatement of reserves of approximately R2m&#8221; gives the next person something to work with.</p>



<p><strong>One big model or many small ones?</strong></p>



<p>A migration forces a structural question that is easy to defer and hard to answer well: should the new platform use a single large model with flags and indicators to handle product variation, or multiple smaller models that are individually simpler but collectively harder to manage?</p>



<p>The single-model approach is appealing because it eliminates duplication. Core logic like decrements, lapse rules, and economic scenario generation lives in one place. Change it once, and every product picks up the change. But the model becomes increasingly complex, the flag-and-indicator logic becomes its own source of bugs, and a change intended for one product can have unintended consequences for others. Testing a single change requires running everything, which in a large model can mean hours of runtime.</p>



<p>The multi-model approach is appealing because each model is smaller, easier to understand, and faster to run. But it introduces duplication, and duplicated logic mutates over time the way DNA does: small transcription errors accumulate with each copy, and eventually two models that should be applying the same lapse basis are not. One gets updated, the other does not. A fix is applied in three of the five copies but missed in the other two. Maintaining consistency across a library of models requires discipline and tooling that is easy to underestimate.</p>



<p>There is no universally right answer. But the choice should be made deliberately at the start of a migration, not allowed to emerge organically, because reversing it later is extremely expensive.</p>



<p><strong>Living with two systems</strong></p>



<p>A related pragmatic question: does every product need to migrate?</p>



<p>For a mature life insurer, the long tail of the book often includes products that are tiny, declining, and odd. They might represent a few hundred policies with unique features that would take weeks to replicate in the new platform. The cost of migration far exceeds the operational benefit, especially if the product will run off within a few years anyway.</p>



<p>The temptation is to leave these in the old system and migrate everything else. This can work, but it introduces its own pain. Running two modelling environments means maintaining two sets of assumptions, two data feeds, two run processes. If the old system is not integrated into the new orchestration and workflow environment, the residual products become a manual process that someone has to remember to kick off, reconcile, and consolidate. Automated kick-off of external models outside the main controller environment is possible in principle, but brittle in practice: it adds integration points, error handling, and monitoring requirements that erode the simplicity gains of leaving the products behind.</p>



<p>Over time, the old system becomes an unloved orphan: patched reluctantly, understood by fewer and fewer people, and increasingly fragile.</p>



<p>The decision should be explicit and time-bound. If the plan is to leave products in the old system, there should be a clear runoff date after which those products will either be migrated or, if they are small enough, approximated in the new system. An open-ended commitment to maintain two platforms in parallel is a commitment that tends to last much longer than anyone intended.</p>



<p><strong>The case for migrating anyway</strong></p>



<p>Given all of this, why would anyone migrate? Because the reasons to move are real, even if the process is painful.</p>



<p>The strongest argument is rarely about the actuarial code itself. The core projection logic, the bit that actually calculates reserves and capital, is broadly the same complexity regardless of the platform. The arithmetic is not all that special. The case for migration is about everything around that core: better long-term vendor support, modern workflow and automation capabilities, improved system architecture that enables genuine runtime improvements, proper change control and audit trails, user management, cloud processing, and the ability to integrate with modern data pipelines.</p>



<p>A legacy model might produce perfectly good numbers, but if the assumption update process involves manually editing text files, if change control is a folder of dated ZIP archives, if running a stress scenario means waiting overnight for a batch job, then the platform is constraining the business even if the arithmetic is fine.</p>



<p>Migration also presents an opportunity, if managed carefully, to clean up decades of accumulated inconsistencies. Not the load-bearing hacks, which exist for good reason, but the other kind: the copy-pasted subroutine that was modified slightly for each product and now exists in seven inconsistent versions. The assumption tables that use three different date conventions because they were built by three different people over fifteen years. The configuration settings that nobody is sure are still active. A migration done with eyes open can rationalise these, as long as the team resists the temptation to rationalise everything at once.</p>



<p><strong>What not to do</strong></p>



<p>One recurring temptation is to skip the vendor platforms entirely and build a bespoke system from the ground up in Python, or Julia, or whatever the language of the moment happens to be. The argument is appealing: we know our business better than any vendor, modern languages are fast enough, and we will have complete control.</p>



<p>I am sympathetic to this, because I have done it. In the early 2000s, I built a proof-of-concept actuarial system on an open-source stack: PHP and C++ on the back end, HTML and JavaScript on the front end, with memoized calculation so that values were computed on demand and cached for reuse. It was designed from the ground up to be standards-compliant so the server could run on a laptop, on premises, or in the nascent cloud. It worked &#8211; I&#8217;m still impressed with young me there. The core system logic was not the hard part.</p>



<p>The hard part was everything else. The assumptions manager. The data input validation and transformation. Change control and version history. User management and access permissions. Audit logging. Batch processing and job scheduling. Error handling and recovery. Reporting and output formatting. The ability to offload computation to remote infrastructure. That was where I bailed on the project.</p>



<p>Building a basic actuarial projection engine is a manageable problem. A competent developer can get a working prototype running in weeks (it took me a little longer&#8230;). But a projection engine is perhaps 20% of what an actuarial modelling platform needs to be. The other 80% is the engineering infrastructure that makes it usable, auditable, and safe in a production environment with multiple users, regulatory oversight, and real money at stake. That 80% is what the established vendor platforms have spent decades building, and it is what a bespoke system will spend years rediscovering.</p>



<p>The comparison is often made to a spreadsheet. Excel&#8217;s calculation engine is straightforward. What makes Excel a product is everything around it: the interface, the formatting, the collaboration features, the ecosystem. Building &#8220;Excel but for our specific needs&#8221; sounds efficient until you realise how much of the value is in the parts you thought were trivial.</p>



<p><strong>A pragmatic framework</strong></p>



<p>If you are considering a migration, here is what I would suggest.</p>



<ol class="wp-block-list">
<li>Be honest about the motivation. If the primary driver is &#8220;the code is complex,&#8221; that is not a good enough reason. The new code will be complex too, eventually, because the problem domain is complex. If the driver is &#8220;the vendor&#8217;s support is no longer working&#8221; ,&#8221; or &#8220;our current architecture cannot support the automation and workflow improvements the business needs,&#8221; those are real reasons that justify real investment.</li>



<li>Plan for the migration to take longer than you expect. (Hofstadter&#8217;s Law applies with full force here: <em>it always takes longer than you expect, even when you take into account Hofstadter&#8217;s Law</em>). Every model migration I&#8217;ve seen that stayed on its original timeline did so by cutting scope, not by being faster than expected. Budget for the edge cases, the discovered bugs, the reconciliation work, and the institutional knowledge that only surfaces when someone tries to replicate it. If your initial estimate is eighteen months, plan for three years and you might finish in two and a half.</li>



<li>Decide your replication and error-handling policy upfront. I have argued for replicating first and correcting later, with a rigorous error log that gives subsequent teams enough detail to act on. Either way, what matters is that the policy is deliberate and that discoveries are recorded with care. Not having a policy is not an option.</li>



<li>Invest in attribution analysis rather than pass/fail testing. You need to understand why results differ, not just detect that they differ. A 0.1% difference with a clear explanation traced to a specific implementation choice is better than a 0.0% difference that you achieved by accident.</li>



<li>Make deliberate structural choices early. One model or many? Which products migrate and which stay behind, and for how long? These decisions shape the entire project and are expensive to reverse.</li>



<li>Resist the temptation to improve the model and migrate it simultaneously. The migration alone is a large enough project. Bundle it with methodology changes and you lose the ability to diagnose whether a difference in output comes from the new platform or the new approach. Migrate first. Improve second. The discipline to separate these is the single biggest predictor of success.  (One exception here might be preparing for GPU acceleration or improved vectorisation etc.)</li>
</ol>



<p>Joel Spolsky was right that rewrites are dangerous. Sonos learned it the hard way. Netscape learned it before them. But Spolsky was writing about software companies, where the old product is still shipping and generating revenue while the new one is being built. Actuarial model migrations are a different beast: you cannot run two production models indefinitely, the regulatory environment is evolving whether you migrate or not, and eventually the cost of not migrating exceeds the cost of migrating.</p>



<p>The trick is to go in with realistic expectations about how hard it will be, a clear-eyed understanding of what you are actually gaining (hint: it is not cleaner code), and enough humility to respect the load-bearing hacks you will encounter along the way. That comment that says &#8220;whatever you do, do not remove this&#8221;? Read it as a colleague speaking to you across time. They learned something the hard way. Your job is to learn it without repeating the pain.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2026/03/17/why-actuarial-model-migrations-are-hard/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Calibration is not Validation</title>
		<link>https://twentythirdfloor.co.za/2025/10/22/calibration-is-not-validation/</link>
					<comments>https://twentythirdfloor.co.za/2025/10/22/calibration-is-not-validation/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Wed, 22 Oct 2025 14:43:27 +0000</pubDate>
				<category><![CDATA[Actuarial and Risk]]></category>
		<category><![CDATA[business tools]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[managing uncertainty]]></category>
		<category><![CDATA[measurement]]></category>
		<category><![CDATA[modelling]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=3193</guid>

					<description><![CDATA[I am an actuary, not an economist, although I hold economics in high regard as a field. It tackles questions that are fascinating, ambitious, and sometimes messy in ways that make me slightly jealous. Still, I remain an actuary, and perhaps that makes me a little more sceptical of certain techniques. Maybe it is because [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>I am an actuary, not an economist, although I hold economics in high regard as a field. It tackles questions that are fascinating, ambitious, and sometimes messy in ways that make me slightly jealous. Still, I remain an actuary, and perhaps that makes me a little more sceptical of certain techniques. Maybe it is because they do not fit neatly into my actuarial toolkit. Or maybe it is because actuaries are trained to test, back-test, and analyse actual versus expected results, to understand confidence intervals and likelihood, and to ask, above all, whether the model works.</p>



<p>I once read that meteorologists are better calibrated forecasters than stock pickers. By calibrated, I do not mean they are better or worse at forecasting, but that their level of confidence matches their accuracy. When they believe they are 80 % likely to be right, they are right about 80 % of the time. When they are uncertain, their forecasts are indeed less accurate. Stock pickers, and I suspect some economists, tend to be less well calibrated. They are not necessarily poor forecasters, but they are often overconfident, and that is a different problem altogether.</p>



<p>The point came from <em>Superforecasting</em> by Philip Tetlock and Dan Gardner, which explored how some individuals become remarkably well-calibrated forecasters through constant feedback and disciplined self-assessment. One reason meteorologists perform better is feedback. Stock pickers and economists can always point to exceptional events that explain why forecasts went wrong. Who knew there would be a drought, or that Russia would invade Ukraine, or that COVID-19 would shut down economies? There is always a convenient exogenous shock. Weather forecasters do not have that luxury. They live by feedback. They issue forecasts every day and are judged immediately by outcomes they cannot explain away. Their models evolve constantly because their results are tested constantly. </p>



<p>That contrast came to mind when I first encountered Computable General Equilibrium (CGE) models about a decade ago. They were intriguing. A little too clever, perhaps, and impressive in their scale. Thousands of equations, countless parameters, and from all of that emerges the predicted effect of an intervention on GDP, employment, or wages—sometimes quoted to two decimal places. At the time, it seemed remarkable, but I could not see the transparency I wanted. There was little evidence of how these models were calibrated, how reliable they were, or how confident one should be in their results.</p>



<p>I came across them again recently. I am not saying CGE models are unhelpful or that their results are wrong. They can be useful for exploring direction and mechanism &#8211; how substitution between sectors or between labour and capital might unfold. They are elegant frameworks for thinking through equilibrium interactions. What concerns me is the way they are sometimes used. There is often little effort to quantify uncertainty, measure accuracy, or report diagnostics that would tell us how well the model is performing. That makes me uneasy.</p>



<p>I would like to see genuinely robust studies that take a CGE model, generate predictions, and check them against what actually happens. Yes, there will always be surprises, but if the models barely outperform a simple trend line, the enormous complexity and opacity seem hard to justify.</p>



<p>Even before that, I would want to see what the model predicts with <em>no intervention at all</em>. CGE models are built to find a general equilibrium, but there is no guarantee the economy we feed in is itself in equilibrium. The first step should surely be to see what the model does on its own. If its natural equilibrium is very different from the starting point, that tells us something. Either the real economy is far from equilibrium, or the model’s structure is not reflecting it well.</p>



<p>I am not suggesting this problem occurs frequently, but the diagnostic results are rarely reported, and that makes me wonder whether it sometimes does. If the model is not allowed to reach its internal equilibrium before the intervention is applied, the change in GDP or other results could be partly driven by the model’s own adjustment toward equilibrium. It would be useful to know.</p>



<p>I would also like to see how stable the results are when the model is run with successive years’ data. If we input the economy as it stood each year, do the parameters and balances remain consistent? If not, that raises questions about the model’s stability. For example, can it predict the next year’s social accounting matrix (the SAM) with any meaningful accuracy? If it cannot, then I am not sure how much confidence we can place in the counterfactual results.</p>



<p>As I understand it, CGE models are calibrated rather than statistically estimated. They rely on factual data inputs, some parameters solved to achieve equilibrium, and elasticities imported from previous studies. Those elasticities differ across the literature, and the uncertainty around them is often considerable. How confident are we in those numbers? What happens if we vary them within plausible ranges? If small changes produce very different equilibria even before any intervention, then those elasticities are critical. If the results remain fairly stable, that is reassuring.</p>



<p>We could also test how much the estimated impact of a policy or intervention depends on these elasticity choices. If the results swing widely, confidence in the model’s precision should be low. And if the model’s internal uncertainty interval for GDP, wages, or productivity is wider than the intervention effect, that should be stated clearly.</p>



<p>In actuarial work, we routinely perform analysis of surplus to understand why results differ from expectations. We ask whether deviations stem from data, assumptions, or the model itself. That discipline drives improvement and professional scepticism.</p>



<p>Actuaries are not perfect. There are areas of our own work where experience analysis or model validation is weak. Some solvency projections (ORSA AvE notably, but there are others) , for example, are never properly reconciled to outcomes. That is disappointing, but at least the mindset of testing and validation is embedded in the profession. The actuarial control cycle is still taught.</p>



<p>We are also learning from &#8220;new&#8221; data science, which takes validation seriously. Models are trained and tested on different data, evaluated out of sample and out of time, and using techniques such as Monte Carlo Cross Validation (a new discovery for me) or k-fold cross-validation. These approaches help ensure that models perform reliably, not just on the data that built them but on data they have never seen.</p>



<p>I would like to see economists apply similar rigour to CGE modelling. Calibration is not validation. Without testing, backtesting, and clear communication of uncertainty, the apparent precision of these models can be misleading.</p>



<p>CGE models can be valuable tools, but their uncertainties and dependencies are often poorly understood, poorly expressed, and underappreciated.</p>



<p>Perhaps I am missing something. Perhaps these diagnostic checks are done quietly somewhere. I would be glad to be corrected by economists who understand these models better than I do. I am genuinely open to learning more.</p>



<p>Because if these models can withstand that kind of scrutiny, they deserve confidence. If they cannot, they still have value, but we should be honest about what they are: structured thought experiments with useful stories to understand. Not forecasts &#8211; and those second decimals places should never be shown.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2025/10/22/calibration-is-not-validation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Capital Modelling for parametric insurance &#8211; intro</title>
		<link>https://twentythirdfloor.co.za/2024/10/21/capital-modelling-for-parametric-insurance-intro/</link>
					<comments>https://twentythirdfloor.co.za/2024/10/21/capital-modelling-for-parametric-insurance-intro/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Mon, 21 Oct 2024 09:01:56 +0000</pubDate>
				<category><![CDATA[Actuarial and Risk]]></category>
		<category><![CDATA[alternative investments]]></category>
		<category><![CDATA[capital]]></category>
		<category><![CDATA[capital structure]]></category>
		<category><![CDATA[climate change]]></category>
		<category><![CDATA[insurance]]></category>
		<category><![CDATA[managing uncertainty]]></category>
		<category><![CDATA[measurement]]></category>
		<category><![CDATA[microinsurance]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[Solvency Assessment and Management]]></category>
		<category><![CDATA[Solvency II]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=3063</guid>

					<description><![CDATA[As parametric insurance gains traction, insurers face specific challenges in capital modeling and regulatory capital navigation. I have a longer paper coming out on this, but if you&#8217;re looking for an intro, here are some of the interesting and different aspects compared to more traditional insurance. 1. Regulatory Uncertainty: The treatment of parametric insurance under [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>As parametric insurance gains traction, insurers face specific challenges in capital modeling and regulatory capital navigation. I have a longer paper coming out on this, but if you&#8217;re looking for an intro, here are some of the interesting and different aspects compared to more traditional insurance.<br /><br />1. <strong>Regulatory Uncertainty</strong>: The treatment of parametric insurance under frameworks like Solvency II and SAM remains ambiguous. Insurers must engage proactively with regulators to establish appropriate methodologies. Regulators have the challenge of how to shoe-horn parametric insurance into a regulatory framework that was not designed with this in mind. For example, in South Africa, a of 2024 at least, parametric non-life insurance is approved on  case by case basis under a regulatory sandbox, but as &#8220;non insurance business&#8221;.  This is because under current regulations, &#8220;non life insurance&#8221; must be on an indemnity basis.<br /><br />2. <strong>Line of Business Allocation</strong>: Fitting parametric products into traditional lines of business is complex. Many parametric products resemble inwards non-proportional reinsurance more than direct insurance, with payouts triggered by specific events. Even then, there is no guarantee that the standard premium volatility factors are appropriate. Insurers may need to explore Undertaking/Insurer Specific Parameters (USP / ISP) or transition to partial internal models. For now, this &#8220;non insurance business&#8221; approved in South Africa has typically been allocated to the agriculture LoB for capital purposes. This may match the nature of the business (typically drought or rainfall related) but there is no reason to believe that the variability in claims will match that of other agricultural business. I wonder whether &#8220;inwards non proportional reinsurance&#8221; might be a better fit in some ways. The reserve risk parameters will hopefully be too conservative &#8211; since the a key idea behind parametric insurance is very quick and objective claim settlement without extended reporting or payment delays.<br /><br />3. <strong>Portfolio Size and Trigger Remoteness</strong>: The risk profile changes significantly with smaller portfolio sizes and trigger remoteness. As triggers become more remote, the capital required relative to premium increases. At a certain point, the 99.5th VaR can fall well outside the 3-sigma range, challenging standard deviation-based approaches. <br /><br />4. <strong>Diversification Effects</strong>: Understanding correlation between parametric triggers, and at different levels of triggers, means approaches like copula modeling might be necessary. Student t copulas are a likely candidate.  As portfolios grow and become more diversified this may moderate. However, there will almost always be fewer sensors / indices than individual policyholders and risk exposures. Therefore I expect challenges on diversification to continue.<br /><br />5. <strong>Attritional vs. Catastrophic Losses</strong>: The binary nature of parametric triggers blurs the line between attritional and catastrophic losses. <br /><br />6. <strong>Time Series vs. One-Year Capital View</strong>: While sensor data forms a time series that could be modeled using techniques like SARIMAX or GARCH-X, the one-year capital view required by regulations doesn&#8217;t necessarily need to incorporate this time series structure. The complex physics-based models that are increasingly used for pricing and prediction will likely remain too unwieldy for capital purposes for an extended period.<br /><br />7. <strong>Climate risk and trends</strong>: An advantage of parametric insurance is the typical clean time-series sensor records (necessary for pricing and risk management). However, the continued relevance of historical records is at risk given climate change for many key parametric coverages.<br /><br />8. <strong>Demonstrating Appropriateness</strong>: The Head of Actuarial Function (HAF) faces the challenge of demonstrating that the chosen capital approach appropriately reflects the risk profile of parametric products. The approach needs to work within the regulatory framework, but the result must still be reasonable. </p>



<figure class="wp-block-image size-large"><a href="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2024/10/image.png"><img fetchpriority="high" decoding="async" width="1024" height="273" src="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2024/10/image-1024x273.png" alt="" class="wp-image-3065" srcset="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2024/10/image-1024x273.png 1024w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2024/10/image-300x80.png 300w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2024/10/image-768x204.png 768w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2024/10/image.png 1093w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p><br /><br />As the parametric insurance market evolves, so too must our approach to capital modeling. The challenges are significant, but so are the opportunities for innovation and more accurate risk assessment.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2024/10/21/capital-modelling-for-parametric-insurance-intro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Weighting waiting</title>
		<link>https://twentythirdfloor.co.za/2024/05/11/weighting-waiting/</link>
					<comments>https://twentythirdfloor.co.za/2024/05/11/weighting-waiting/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Sat, 11 May 2024 10:43:13 +0000</pubDate>
				<category><![CDATA[complexity]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[optimisation]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2863</guid>

					<description><![CDATA[Navigating Complexity in Queue Management: Slightly serious insights from the Motor Vehicle Licence Renewal Office Queue management at the motor vehicle licence renewal office offers a window into a realm of complexity that extends far beyond the waiting room. Exploring priority queuing and weighted fair queuing (WFQ), we uncover a world of probabilistic models, dynamic [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Navigating Complexity in Queue Management: Slightly serious insights from the Motor Vehicle Licence Renewal Office</p>



<p>Queue management at the motor vehicle licence renewal office offers a window into a realm of complexity that extends far beyond the waiting room. Exploring priority queuing and weighted fair queuing (WFQ), we uncover a world of probabilistic models, dynamic rules, and real-world applications that challenge conventional wisdom.</p>



<p>Upon arrival, patrons encounter priority queuing, where elderly individuals receive absolute precedence to accommodate potential mobility challenges. While this prioritisation addresses (quite reasonably!) the needs of a vulnerable group, it can lead to excessively prolonged waits for others, depending on the arrival rate of elderly patrons and the dynamics of the queue. Consideration of different objective functions for various demographics, including the young and old, could unveil alternative optimal solutions.</p>



<p>Actuaries are used to implicitly allowing for objective functions that aim to minimise mean squared errors, but this isn&#8217;t the only possibility. Aside from different penalties for waiting times for all participants, explicitly considering different costs to different groups of individuals makes it more interesting.</p>



<p>In contrast to absolute priority queuing, WFQ introduces a probabilistic element, ensuring that even low-priority individuals have a chance of being served at every point in time. The weights can be tuned for those different groups, still achieving prioritisation for the elderly. While wait times for low-priority customers will still be longer than priority customers, they remain finite, underscoring the equitable nature of this approach. I can imagine an algorithm where the weight depends on the wait &#8211; the longer the duration of the existing wait the more an individual is prioritised.</p>



<p>The network packets to which WFQ most commonly applies probability aren&#8217;t conscious, and therefore their experience of the wait isn&#8217;t important. For humans, the conscious experience of knowing that you don&#8217;t have to wait until every individual in a priority group is served before you might make the wait more palatable. I&#8217;m not a fan of gamification; overall this seems to have result in evil outcomes, greedily addictive algorithms and a worse society overall. However, the introduction of a little randomness and the possibility of a serendipitous early shot at renewing a licence might be a net positive.</p>



<p>Beyond the motor vehicle licence renewal office, the principles of queue management find relevance in diverse fields, including insurance companies. By leveraging similar concepts, insurers can prioritise claims payment or customer service based on factors like severity or urgency, but also explicit objective functions to optimise for target response times within particular bands, aiming for prompt resolution while maintaining fairness and efficiency. Sometimes the maths will demonstrate that based on demand and supply of support calls, failing these objectives is inevitable. Modelling can determine how often that may occur and then you can weigh up the costs of more call centre agents with the unappealing customer experiences.</p>



<p>These waiting processes should ring bells from prior study of queuing processes, of exponential, poisson, negative binomial and gamma distributions. These provide a mathematical framework for understanding and optimising queue management, revealing the hidden complexities behind seemingly simple processes. While you may not think about claims processes as queuing processes, there are some surprising linkages there too.</p>



<p>For me, delving into the dynamics of network switching provided some fun insights. In network architecture, switches play a critical role in directing data packets efficiently across networks. However, the limited capacity of switches can lead to packet loss during times of congestion. Buffers within switches temporarily store packets to alleviate congestion, but if overwhelmed, they are forced to drop packets, resulting in packet loss and network underperformance.</p>



<p>A smarter (yet initially counterintuitive step) is to apply Random Early Detection (RED), a mechanism that deliberately drops packets in anticipation of the switch being overwhelmed. Under RED, these strategically dropped packets provide information to network endpoints to manage the speed of transmission to prevent larger problems down the line. To an extent, this can can be likened to passengers on an overbooked flight being paid to take a different flight. However, unlike RED, this approach does not alert endpoints or other passengers to slow transmission rates, highlighting the unique challenges and solutions in network management.</p>



<p>While queue management may appear remote from your regular work, some exploration might be worth the time spent. By embracing probabilistic models, dynamic rules, and real-world applications, we may see a way to apply our skills in new areas, or even learn from the significant advancements in network modelling in our financial services world.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2024/05/11/weighting-waiting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Harmless error</title>
		<link>https://twentythirdfloor.co.za/2022/08/12/harmless-error/</link>
					<comments>https://twentythirdfloor.co.za/2022/08/12/harmless-error/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Fri, 12 Aug 2022 06:57:18 +0000</pubDate>
				<category><![CDATA[complexity]]></category>
		<category><![CDATA[insight]]></category>
		<category><![CDATA[modelling]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2820</guid>

					<description><![CDATA[I&#8217;m listening to a legal &#8220;true crime&#8221; podcast. Guilty-as-anything defendant keeps complaining about this error, this oversight, this unfair ruling.&#160; But the thing is, none of those things really mattered. They didn&#8217;t materially contribute to the guilty verdict. The judge can say, when refusing an appeal, that those are &#8220;harmless errors&#8221; in that they did [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>I&#8217;m listening to a legal &#8220;true crime&#8221; podcast. Guilty-as-anything defendant keeps complaining about this error, this oversight, this unfair ruling.&nbsp; But the thing is, none of those things really mattered. They didn&#8217;t materially contribute to the guilty verdict. The judge can say, when refusing an appeal, that those are &#8220;harmless errors&#8221; in that they did no harm.</p>



<p>Back to my world &#8211; often the best model is no model. If you must have a model, a simple model is better than a complex model. Simplifications aren&#8217;t just not a bad thing, they are good and necessary.</p>



<p>Complexity has massive downsides &#8211; run-time, increased risk of errors, more involved documentation requirements, longer development time, longer handover time, longer pick-back-up-months-later time, and harder to explain to clients.</p>



<p>Finding the appropriate simplifications is key to so much of what we do.&nbsp; Approximations are not even just &#8220;harmless errors&#8221; they are a critical feature.</p>



<p>And yes, she totally killed her husband.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2022/08/12/harmless-error/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Downwards counterfactual analysis</title>
		<link>https://twentythirdfloor.co.za/2017/10/30/downwards-counterfactual-analysis/</link>
					<comments>https://twentythirdfloor.co.za/2017/10/30/downwards-counterfactual-analysis/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Mon, 30 Oct 2017 07:00:09 +0000</pubDate>
				<category><![CDATA[Actuarial and Risk]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[insurance]]></category>
		<category><![CDATA[life insurance]]></category>
		<category><![CDATA[managing uncertainty]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[Solvency Assessment and Management]]></category>
		<category><![CDATA[Solvency II]]></category>
		<category><![CDATA[systemic risk]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2570</guid>

					<description><![CDATA[Stress and scenario testing are important risk assessment tools.Â  They also provide useful ways to prepare in advance for adverse scenarios so that management doesn&#8217;t have to create everything from first principles when something similar occurs. But trying to imagine scenarios, particularly very severe scenarios, isn&#8217;t straightforward. We don&#8217;t have many examples of very extreme [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Stress and scenario testing are important risk assessment tools.Â  They also provide useful ways to prepare in advance for adverse scenarios so that management doesn&#8217;t have to create everything from first principles when something similar occurs.</p>
<p>But trying to imagine scenarios, particularly very severe scenarios, isn&#8217;t straightforward. We don&#8217;t have many examples of very extreme events.</p>
<p>Some insurers will dream up scenarios from scratch. It&#8217;s also common to refer to prior events and run the current business through those dark days. The Global Financial Crisis is a favourite &#8211; how would our business manage under credit spread spikes, drying up of liquidity, equity fall markets, higher lapses, lower sales, higher retrenchment claims, higher individual and corporate defaults, switches of funds out of equities, early withdrawals and surrenders and increased call centre volumes?</p>
<p><em>Downwards counterfactual analysis</em> is the:<span id="more-2570"></span></p>
<ul>
<li>analysis</li>
<li>of events different (counter to) actual facts</li>
<li>that are worse (downwards) than reality</li>
</ul>
<p>For stress testing, we could take a past scenario and <em>make it worse</em>. What might have happened in 2007/2008 if African Bank had failed then, rather than a few years later? What would have been the result of an SA government sovereign downgrade at the same time, or if a major insurer got their hedging wrong enough to be really in trouble? What if the Cape Town water crisis hit at the same time and resulted in a cholera outbreak?</p>
<p>Some of those options are natural progressions of the factual scenario, whereas others (water + cholera) are mere add-ons.Â  The strongest sort of counterfactual analysis is where the original scenario was better than it might have been due to good luck. Tweaking that to an equally likely or even more likely but worse scenario powerfully shows how close we came to real disaster. A change in the prevailing wind during the Fukushima nuclear disaster is an obvious one.</p>
<p><a href="https://www.lloyds.com/news-and-insight/risk-insight/library/understanding-risk/reimagining-history">Lloyds and RMS have put out a fascinating paper on downwards counterfactual analysis called &#8220;Reimagining history&#8221;</a>.</p>
<p>It&#8217;s interesting stuff and well worth a full read.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2017/10/30/downwards-counterfactual-analysis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Island Life</title>
		<link>https://twentythirdfloor.co.za/2017/10/23/island-life/</link>
					<comments>https://twentythirdfloor.co.za/2017/10/23/island-life/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Mon, 23 Oct 2017 19:03:53 +0000</pubDate>
				<category><![CDATA[insight]]></category>
		<category><![CDATA[measurement]]></category>
		<category><![CDATA[modelling]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2560</guid>

					<description><![CDATA[There is a Mauritian insurer called Island Life. Best name ever for an insurance company. I firmly believe in anthropogenic climate change. I am not an expert, but my reading has convinced me of the seriousness of the issues, the overwhelming evidence that it is humans at fault. Having young children makes me seriously concerned [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><em>There is a Mauritian insurer called Island Life. Best name ever for an insurance company.</em></p>
<p>I firmly believe in anthropogenic climate change. I am not an expert, but my reading has convinced me of the seriousness of the issues, the overwhelming evidence that it is humans at fault. Having young children makes me seriously concerned about our ability to remedy the mess we&#8217;re in for their sake.</p>
<p>Part of my very inwards focussed, selfish research was on the practical impact for where I live. Unfortunately for my cycling aspirations, this is current on the bottom slopes of Table Mountain.Â  Fortunately for my flood risk, the same.</p>
<p>The screen capture below is of an extreme, and hopefully not realistic, 30m rise in sea levels.Â  TheÂ <a href="http://geology.com/sea-level-rise/">website I used for visualising the impact of sea level rises</a> makes no claims to accuracy, but it is interesting all the same.</p>
<p><figure id="attachment_2561" aria-describedby="caption-attachment-2561" style="width: 774px" class="wp-caption alignnone"><img decoding="async" class="size-full wp-image-2561" src="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_close.png" alt="" width="774" height="464" srcset="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_close.png 774w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_close-300x180.png 300w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_close-768x460.png 768w" sizes="(max-width: 774px) 100vw, 774px" /><figcaption id="caption-attachment-2561" class="wp-caption-text">Oranjezicht in Cape Town mostly stays above the water line even with 30m rise in sea level</figcaption></figure></p>
<p><span id="more-2560"></span></p>
<p>The fact that my house is on dry land doesn&#8217;t nothing to address the loss of the Cape Town Foreshore and most of the city.Â  The picture is worse in the Netherlands of course, but all of our reclaimed &#8220;foreshore&#8221; is obviously gone.</p>
<p>However, the part that I missed until I zoomed out a little is that my dream of living on an island may just come true.Â  Not exactly what I had hoped for playing Kokomo.</p>
<p><figure id="attachment_2562" aria-describedby="caption-attachment-2562" style="width: 782px" class="wp-caption alignnone"><img decoding="async" class="wp-image-2562 size-full" src="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_wide.png" alt="" width="782" height="473" srcset="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_wide.png 782w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_wide-300x181.png 300w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Oranjezicht_30m_wide-768x465.png 768w" sizes="(max-width: 782px) 100vw, 782px" /><figcaption id="caption-attachment-2562" class="wp-caption-text">I always wanted to live on an island</figcaption></figure></p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2017/10/23/island-life/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Do Data Lakes hide Loch Ness Monsters?</title>
		<link>https://twentythirdfloor.co.za/2017/10/22/do-data-lakes-hide-loch-ness-monsters/</link>
					<comments>https://twentythirdfloor.co.za/2017/10/22/do-data-lakes-hide-loch-ness-monsters/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Sun, 22 Oct 2017 07:30:26 +0000</pubDate>
				<category><![CDATA[complexity]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[operational risk]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2546</guid>

					<description><![CDATA[I had a discussion with a client recently about the virtues of ensuring data written into a data warehouse is rock solid and understood and well defined. My training and experience has given me high confidence that this is the right way forward for typical actuarial data.Â  Here I&#8217;m talking in force policy data files, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I had a discussion with a client recently about the virtues of ensuring data written into a data warehouse is rock solid and understood and well defined.</p>
<p>My training and experience has given me high confidence that this is the right way forward for typical actuarial data.Â  Here I&#8217;m talking in force policy data files, movements, transactions, and so on.Â  This is really well structured data that will be used many times by different people and can easily be processed once, &#8220;on write&#8221;, stored in the data warehouse to be reliably and simply retrieved whenever necessary.<span id="more-2546"></span></p>
<p>The particular issue was effectively about a single transaction, a single claim, being recorded as two separate items because of administration system limitations that required the claim to be processed as two equal amounts rather than a single claim. I can understand wanting to possiblyÂ <em>also</em> store the two separate transactions for audit trail purposes, but in terms of the claim for movements and analysis runs and checking against policy rules, it needs to reflect the product, business, actuarial model and customer reality of a single claim.</p>
<p>If the data is permanently stored as two separate, equal transactions, the end consumer of that data will always need to know to combine them, that they&#8217;re not duplicates (well they are, but they&#8217;re not &#8211; see how confusing it can be?). It really is standard practice for data warehouses to have &#8220;schema on write&#8221; in place. This talks to the structure of the data, but also the cleaning and transformation, application of business and validation rules to the data to fit the data definitions exactly.</p>
<p>And then I heard about Data Lakes. At first, these same a little like a new buzzword for data warehouse. But in fact it is quite different. The idea behind a data like is to store large amounts of unstructured data, as it comes, and figure out what to do with it later.</p>
<p>This is &#8220;schema on read&#8221;.</p>
<p>If you can imagine an actual lake, full of different things, sand and mud and fish and seaweed, but also boats and piers and old anchors and cool water and warm water and maybe the occasional Loch Ness Monster. Some of it may be structured, most of it not, and you don&#8217;t need to define what you will store ahead of time. You just throw it all in the data lake and &#8220;figure out what to do with it later&#8221;</p>
<p>The value of a data lake is that it is flexible. Nothing is lost from the original data. If a brand new purpose for the data arises that wasn&#8217;t even imagined when the data was originally stored, no avenues have been closed off. This is not true for a data warehouse.</p>
<p>However, for the types of data used for a simple actuarial valuation, locking down the exact data to be used to ensure results are consistent, that all valid policies are valued, that the analysis of experience and surplus work correctly, a rigid, reliable data source is required.</p>
<p>If a data lake is to be used, then another store of the highly structured, cleaned and transformed and validated data will be required to support the time-sensitive standard valuation processes. Whether this isÂ  data warehouse feeding off the data lake, or just a simple data base, I suppose if up for debate. But a data lake on its own holds too many monsters to be used raw.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2017/10/22/do-data-lakes-hide-loch-ness-monsters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is Systemic Risk?</title>
		<link>https://twentythirdfloor.co.za/2017/10/16/what-is-systemic-risk/</link>
					<comments>https://twentythirdfloor.co.za/2017/10/16/what-is-systemic-risk/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Mon, 16 Oct 2017 11:40:17 +0000</pubDate>
				<category><![CDATA[Actuarial and Risk]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[financial risk]]></category>
		<category><![CDATA[insight]]></category>
		<category><![CDATA[insurance]]></category>
		<category><![CDATA[life insurance]]></category>
		<category><![CDATA[liquidity risk]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[systemic risk]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2520</guid>

					<description><![CDATA[Systemic risk is risk to the &#8220;system&#8221; in some way. In the financial services world, it is often defined in one of two ways: The risk of contagion, whereÂ failure of an entity leads to distress or failures of others [micro prudential] The risk of an event that can trigger serious consequences for the real economy. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Systemic risk is risk to the &#8220;system&#8221; in some way. In the financial services world, it is often defined in one of two ways:</p>
<p><figure id="attachment_2527" aria-describedby="caption-attachment-2527" style="width: 712px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-2527" src="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Venn-systemic.png" alt="" width="712" height="468" srcset="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Venn-systemic.png 712w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/Venn-systemic-300x197.png 300w" sizes="auto, (max-width: 712px) 100vw, 712px" /><figcaption id="caption-attachment-2527" class="wp-caption-text">Systemic risk can be defined in two ways</figcaption></figure></p>
<ul>
<li>The risk of contagion, whereÂ failure of an entity leads to distress or failures of others [micro prudential]</li>
<li>The risk of an<i> </i>event that can trigger serious consequences for the real economy. [macro prudential]</li>
</ul>
<p><span id="more-2520"></span></p>
<p>If you are a narrowly focussed prudential regulator, you might be concerned with the micro-prudential view. After the Global Financial Crisis acted as a reminder of the Great Depression, the impact on the real economy of failures within the financial sector now cannot be ignored.</p>
<p>Individual entities can fail and, possibly, be well managed through their failure to limit the financial impact on customers. The failure of several entities could similarly be limited in the breadth of its impact. Mass job losses, decline in GDP, failure of businesses outside the financial sector and other leakage into the real economy has costs measured as percentage of GDP foregone, likely over several years. Inevitably this a much larger hit than the failure of even several entities.</p>
<p>I don&#8217;t view this as a choice, either the micro view or the macro view. The failure of several entities is more likely to drive real economy effects. As I&#8217;ll discuss when in a later post when I talk about &#8220;Tsunamis&#8221;, no individual entity has to fail for their to real economy implications. Similarly, the failure of several financial services entities that doesn&#8217;t have significant real economy impacts is clearly undesirable.</p>
<p>The most useful view is of both of these as systemic risks and outcomes to be avoided.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2017/10/16/what-is-systemic-risk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Modelling one side of a two-sided problem</title>
		<link>https://twentythirdfloor.co.za/2017/10/13/modelling-one-side-of-a-two-sided-problem/</link>
					<comments>https://twentythirdfloor.co.za/2017/10/13/modelling-one-side-of-a-two-sided-problem/#respond</comments>
		
		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Fri, 13 Oct 2017 16:40:42 +0000</pubDate>
				<category><![CDATA[Actuarial and Risk]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[Equity Risk Premium]]></category>
		<category><![CDATA[insight]]></category>
		<category><![CDATA[investments]]></category>
		<category><![CDATA[life insurance]]></category>
		<category><![CDATA[market risk]]></category>
		<category><![CDATA[measurement]]></category>
		<category><![CDATA[modelling]]></category>
		<guid isPermaLink="false">https://twentythirdfloor.co.za/?p=2507</guid>

					<description><![CDATA[Ah models, my old friends. You&#8217;re always wrong, but sometimes helpful. Often dangerous too. A recent article in The Actuary magazine addressed whether &#8220;de-risking in members&#8217; best interests?&#8220;Â  I say &#8220;recent&#8221; even though it&#8217;s from August because I am a little behind on my The Actuary reading. In the article, the authors demonstrate that by [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ah models, my old friends. You&#8217;re always wrong, but sometimes helpful. Often dangerous too.<img loading="lazy" decoding="async" class="wp-image-2510 size-medium alignright" src="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/happiness-2411764_640-300x135.jpg" alt="" width="300" height="135" srcset="https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/happiness-2411764_640-300x135.jpg 300w, https://twentythirdfloor.co.za/blog_files/wp-content/uploads/2017/10/happiness-2411764_640.jpg 640w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>A recent article in The Actuary magazine addressed whether &#8220;<a href="http://www.theactuary.com/features/2017/08/is-de-risking-in-members-best-interests/">de-risking in members&#8217; best interests?</a>&#8220;Â  I say &#8220;recent&#8221; even though it&#8217;s from August because I am a little behind on my The Actuary reading.</p>
<p>In the article, the authors demonstrate that by modelling the impact of covenant risk, optimal investment portfolios for Defined Benefit (DB) pensions actually have more risky assets than if this covenant risk is ignored.</p>
<p><em>The covenant they refer to is the obligation of the sponsor to make good deficits within the pension fund. Covenant risk then is the risk that the sponsor is unable (typically through its own insolvency) to make good on this promise.</em></p>
<p>On the surface it should seem counterintuitive that by modelling an additional risk to pensioners, the answer is to invest in riskier assets, thus increasing risk.</p>
<blockquote><p>The explanation proffered by the authors is that the higher expected returns from riskier assets allow the fund to potentially build up surplus, thus reducing the risks of covenant failure.</p></blockquote>
<p>I can follow that logic, particularly in the case where the dependence between DB fund insolvency and sponsor default is week. It doesn&#8217;t mean it&#8217;s a useful result.<span id="more-2507"></span></p>
<p>The optimisation considered only one side of the equation &#8211; what is in members&#8217; best interests. It ignores the other side of the problem &#8211; the financial impact (expectation and variability around that) for the sponsor&#8217;s financial position.</p>
<p>To take it to the extreme, if every sponsor just liquidated all its assets and transferred them to the DB fund, that would be a pretty good outcome for fund members. Not so much for the sponsor.</p>
<p>Without having seen the detailed model results, what I expect is happening is that the increased allocation towards risky assets is increasing expected returns (as it should) but also increasing the risk to the sponsor of having to put in additional funds. Any time this is done and the sponsor doesn&#8217;t default, there is no downside for fund members. The only risk to fund members is the combination of being underfunded and sponsor default.</p>
<p>The risk to the sponsor of increased frequency of injections required has been well established for decades. Depending on what you are willing to assume about risk premiums for risky assets and the assumed risk appetite, the higher expected return might outweigh the increased risk. This is not a point to be glossed over let alone left entirely untouched.</p>
<p>It also raises an awkward question about what they&#8217;ve modelled in terms of the covenant in the &#8220;no covenant risk&#8221; scenario. Surely if one models the covenant and not risk to the covenant, all benefits should always be paid to the members, regardless of asset mix?</p>
<p>I&#8217;m not at all convinced that these results are reliable. But either way, the fact that they are optimising and showing results for only one side of a two sided problem makes the approach utterly flawed.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://twentythirdfloor.co.za/2017/10/13/modelling-one-side-of-a-two-sided-problem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
