Merge pull request #952 from datopian/openspending/moers-anomaly
OpenSpending: Moers Anomaly story
This commit is contained in:
commit
8a5acb7012
284
examples/openspending/content/stories/moers-anomaly-2016.mdx
Normal file
284
examples/openspending/content/stories/moers-anomaly-2016.mdx
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
---
|
||||||
|
title: An Exploration of Moers' 2016 Budget Anomaly
|
||||||
|
date: 06/13/2023
|
||||||
|
---
|
||||||
|
|
||||||
|
_Note: The currency in this post has been converted to USD using an average exchange rate of 1 EUR = 1.20 USD.
|
||||||
|
Additionally, the text values for account groups have been loosely translated to English. You can find the
|
||||||
|
original dataset here: [Moers budget dataset](https://www.openspending.org/@os-data/moers-all)_
|
||||||
|
|
||||||
|
In the fiscal landscape of Moers, Germany, 2016 stands out as an anomaly. An examination of the budget allocations
|
||||||
|
for this particular year shows a significant surge in spending across various areas. After this anomalous
|
||||||
|
spike, spending patterns then seemed to resume their previous trajectory of a slow, steady climb in the
|
||||||
|
following years. While it's tempting to dismiss this as an irregularity, it's worth exploring the potential
|
||||||
|
underlying causes of this fiscal fluctuation.
|
||||||
|
|
||||||
|
<VegaLite
|
||||||
|
spec={{
|
||||||
|
$schema: 'https://vega.github.io/schema/vega-lite/v5.json',
|
||||||
|
title: 'Spending by Account Group',
|
||||||
|
description: 'Spending by Account Group',
|
||||||
|
data: {
|
||||||
|
url: 'https://storage.openspending.org/moers-all/moers-sums.csv',
|
||||||
|
},
|
||||||
|
transform: [
|
||||||
|
{
|
||||||
|
calculate: "format(datum.amount / 1e6 * 1.20, '$,.1f') + 'M'",
|
||||||
|
as: 'formattedAmountMillion',
|
||||||
|
},
|
||||||
|
{ calculate: 'datum.amount / 1e9 * 1.20', as: 'amountBillion' },
|
||||||
|
],
|
||||||
|
mark: 'bar',
|
||||||
|
height: 400,
|
||||||
|
width: 350,
|
||||||
|
encoding: {
|
||||||
|
x: {
|
||||||
|
field: 'date',
|
||||||
|
type: 'temporal',
|
||||||
|
timeUnit: 'utcyear',
|
||||||
|
title: 'Year',
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
field: 'amount',
|
||||||
|
type: 'quantitative',
|
||||||
|
title: 'Spending (USD in millions)',
|
||||||
|
axis: {
|
||||||
|
format: '~s',
|
||||||
|
labelExpr: "format(datum.value / 1e6 * 1.20, '$,.0f') + 'M'",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
field: 'account group',
|
||||||
|
type: 'nominal',
|
||||||
|
title: 'Account Group',
|
||||||
|
scale: {
|
||||||
|
domain: [
|
||||||
|
'Activated Own Work',
|
||||||
|
'Balance Expenses',
|
||||||
|
'Care Expenses',
|
||||||
|
'Donations And General Levies',
|
||||||
|
'Expenses For Material And Services',
|
||||||
|
'Extraordinary Expenses',
|
||||||
|
'Extraordinary Income',
|
||||||
|
'Other Ordinary Expenses',
|
||||||
|
'Other Ordinary Income',
|
||||||
|
'Other Transfer Income',
|
||||||
|
'Personnel Expenses',
|
||||||
|
'Private Law Performance Fees',
|
||||||
|
'Public-Service Performance Fees',
|
||||||
|
'Taxes And Similar Charges',
|
||||||
|
'Transfer Expenses',
|
||||||
|
],
|
||||||
|
range: [
|
||||||
|
'#EF5350',
|
||||||
|
'#F06292',
|
||||||
|
'#BA68C8',
|
||||||
|
'#9575CD',
|
||||||
|
'#7986CB',
|
||||||
|
'#64B5F6',
|
||||||
|
'#4FC3F7',
|
||||||
|
'#4DD0E1',
|
||||||
|
'#4DB6AC',
|
||||||
|
'#81C784',
|
||||||
|
'#AED581',
|
||||||
|
'#DCE775',
|
||||||
|
'#FFF176',
|
||||||
|
'#FFD54F',
|
||||||
|
'#FFB74D',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tooltip: [
|
||||||
|
{ field: 'account group', type: 'nominal', title: 'Account Group' },
|
||||||
|
{
|
||||||
|
field: 'formattedAmountMillion',
|
||||||
|
type: 'ordinal',
|
||||||
|
title: 'Spending (USD)',
|
||||||
|
},
|
||||||
|
{ field: 'date', type: 'temporal', title: 'Year', format: '%Y' }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
## Why?
|
||||||
|
|
||||||
|
One possible explanation could be the global refugee crisis that was unfolding around this time, particularly
|
||||||
|
in Germany. While we can't assert this connection definitively due to the lack of specific data, it's an angle
|
||||||
|
worth examining to better understand the budget anomaly of 2016.
|
||||||
|
|
||||||
|
For instance, the "Donations and General Levies" account group saw a distinct increase in 2016. This could be
|
||||||
|
reflective of Moers' attempts to provide immediate support to incoming refugees, although we can only speculate
|
||||||
|
at this point.
|
||||||
|
|
||||||
|
<VegaLite
|
||||||
|
spec={{
|
||||||
|
$schema: 'https://vega.github.io/schema/vega-lite/v5.json',
|
||||||
|
title: 'Donations and General Levies',
|
||||||
|
description: 'Donations and General Levies',
|
||||||
|
data: {
|
||||||
|
url: 'https://storage.openspending.org/moers-all/moers-sums.csv',
|
||||||
|
},
|
||||||
|
transform: [
|
||||||
|
{ filter: "datum['account group']==='Donations And General Levies'" },
|
||||||
|
{
|
||||||
|
calculate: "format(datum.amount / 1e6 * 1.20, '$,.1f') + 'M'",
|
||||||
|
as: 'formattedAmountMillion',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
mark: {
|
||||||
|
type: 'area',
|
||||||
|
line: true,
|
||||||
|
point: true,
|
||||||
|
},
|
||||||
|
width: 400,
|
||||||
|
height: 400,
|
||||||
|
encoding: {
|
||||||
|
x: {
|
||||||
|
field: 'date',
|
||||||
|
type: 'temporal',
|
||||||
|
timeUnit: 'utcyear',
|
||||||
|
title: 'Year',
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
field: 'amount',
|
||||||
|
type: 'quantitative',
|
||||||
|
title: 'Spending (USD in millions)',
|
||||||
|
axis: {
|
||||||
|
format: '~s',
|
||||||
|
labelExpr: "format(datum.value / 1e6 * 1.20, '$,.0f') + 'M'",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
title: 'Account Group',
|
||||||
|
field: 'account group',
|
||||||
|
scale: {
|
||||||
|
domain: ['Donations And General Levies'],
|
||||||
|
range: ['#9575CD'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tooltip: [
|
||||||
|
{ field: 'account group', type: 'nominal', title: 'Area' },
|
||||||
|
{
|
||||||
|
field: 'formattedAmountMillion',
|
||||||
|
type: 'ordinal',
|
||||||
|
title: 'Spending (USD in millions)',
|
||||||
|
},
|
||||||
|
{ field: 'date', type: 'temporal', title: 'Year', format: '%Y' }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
Similarly, "Expenses for Material and Services" also experienced an upswing. This could suggest
|
||||||
|
that the town was working to establish necessary infrastructure and resources for the newcomers. It's plausible
|
||||||
|
that procurement of essential supplies and services to aid the refugees was a factor contributing to this budget
|
||||||
|
increase.
|
||||||
|
|
||||||
|
The rise in "Personnel Expenses" may suggest an expansion of the town's workforce during this period. Additional
|
||||||
|
staffing in areas like interpretation, social work, healthcare, and administration would be necessary to handle
|
||||||
|
the influx of refugees.
|
||||||
|
|
||||||
|
The two account groups that experienced the most substantial raw monetary increases were "Taxes and Similar Charges"
|
||||||
|
and "Transfer Expenses". Both these categories more than doubled in size during the year, a significant surge
|
||||||
|
especially considering their already high baseline spending. This could be for a variety of reasons.
|
||||||
|
|
||||||
|
For "Taxes and Similar Charges", the hike could indicate the town adjusting local taxation to meet the additional
|
||||||
|
expenditures, or it could reflect an increase in income from other sources falling under this group. The influx
|
||||||
|
of refugees and the resulting uptick in economic activity may have also led to a rise in the collection of certain
|
||||||
|
local taxes or fees.
|
||||||
|
|
||||||
|
Concurrently, the "Transfer Expenses" spike could be an indication of heightened social welfare payments, costs
|
||||||
|
associated with refugee integration, and funds transferred to other entities managing the crisis. These financial
|
||||||
|
escalations are a testament to the extensive and multifaceted financial impact the refugee crisis had on the town's
|
||||||
|
budget.
|
||||||
|
|
||||||
|
<VegaLite
|
||||||
|
spec={{
|
||||||
|
$schema: 'https://vega.github.io/schema/vega-lite/v5.json',
|
||||||
|
title: 'Largest Spending by Account Group',
|
||||||
|
description: 'Largest Spending by Account Group',
|
||||||
|
data: {
|
||||||
|
url: 'https://storage.openspending.org/moers-all/moers-sums.csv',
|
||||||
|
},
|
||||||
|
transform: [
|
||||||
|
{
|
||||||
|
filter: {
|
||||||
|
field: 'account group',
|
||||||
|
oneOf: [
|
||||||
|
'Donations And General Levies',
|
||||||
|
'Expenses For Material And Services',
|
||||||
|
'Personnel Expenses',
|
||||||
|
'Taxes And Similar Charges',
|
||||||
|
'Transfer Expenses'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
calculate: "format(datum.amount / 1e6 * 1.20, '$,.1f') + 'M'",
|
||||||
|
as: 'formattedAmountMillion',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
mark: {
|
||||||
|
type: 'line',
|
||||||
|
point: true,
|
||||||
|
},
|
||||||
|
width: 400,
|
||||||
|
height: 400,
|
||||||
|
encoding: {
|
||||||
|
x: {
|
||||||
|
field: 'date',
|
||||||
|
type: 'temporal',
|
||||||
|
timeUnit: 'utcyear',
|
||||||
|
title: 'Year'
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
field: 'amount',
|
||||||
|
type: 'quantitative',
|
||||||
|
title: 'Spending (USD in millions)',
|
||||||
|
axis: {
|
||||||
|
format: '~s',
|
||||||
|
labelExpr: "format(datum.value / 1e6 * 1.20, '$,.0f') + 'M'",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
field: 'account group',
|
||||||
|
type: 'nominal',
|
||||||
|
title: 'Account Group',
|
||||||
|
scale: {
|
||||||
|
domain: [
|
||||||
|
'Donations And General Levies',
|
||||||
|
'Expenses For Material And Services',
|
||||||
|
'Personnel Expenses',
|
||||||
|
'Taxes And Similar Charges',
|
||||||
|
'Transfer Expenses'
|
||||||
|
],
|
||||||
|
range: [
|
||||||
|
'#9575CD',
|
||||||
|
'#7986CB',
|
||||||
|
'#AED581',
|
||||||
|
'#FFD54F',
|
||||||
|
'#FFB74D'
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tooltip: [
|
||||||
|
{ field: 'account group', type: 'nominal', title: 'Area' },
|
||||||
|
{
|
||||||
|
field: 'formattedAmountMillion',
|
||||||
|
type: 'ordinal',
|
||||||
|
title: 'Spending (USD in millions)',
|
||||||
|
},
|
||||||
|
{ field: 'date', type: 'temporal', title: 'Year', format: '%Y' }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
By 2017, these budget items returned to their pre-2016 levels, which may suggest that the town had successfully
|
||||||
|
adapted to the new circumstances, perhaps by implementing more cost-effective strategies.
|
||||||
|
|
||||||
|
While this exploration offers a compelling perspective, it's important to note that these are theories derived
|
||||||
|
from the available budget data and the concurrent global events of the time. It underscores how global crises,
|
||||||
|
like the refugee crisis, may potentially impact not just national budgets, but also the fiscal management of
|
||||||
|
smaller towns like Moers.
|
||||||
Loading…
x
Reference in New Issue
Block a user