[{"id":"tile_1739971371224","date":1791879353251,"json":"{\"components\":[{\"plotOptions\":{\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"subtitle\":{\"text\":\"\"}},\"col\":0,\"dataPlatformQueryParams\":[{\"topicId\":\"umsatz_vmr_s\",\"timeBased\":true},{\"topicId\":\"umsatz_vmr_a\",\"timeBased\":true}],\"alt\":\"\",\"main\":false,\"type\":\"highcharts\",\"colors\":[\"#3366CC\",\"#CC0033\",\"#339966\",\"#66CCFF\",\"#FF9900\",\"#333366\",\"#FF6600\",\"#66CC66\",\"#990033\",\"#2C6622\",\"#FFCC33\",\"#660022\"],\"series\":[],\"colexpand\":2,\"row\":0,\"chart\":{\"plotOptions\":{\"area\":{},\"bar\":{\"point\":{\"events\":{\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\",\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\"}}},\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"line\":{},\"column\":{\"point\":{\"events\":{\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\",\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\"}}}},\"yAxis\":[{\"min\":-0.2,\"tickInterval\":0.1,\"opposite\":false,\"type\":\"linear\",\"title\":{\"text\":\"\",\"align\":\"high\",\"y\":-25,\"reserveSpace\":false,\"rotation\":0,\"textAlign\":\"left\",\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"textOverflow\":\"ellipsis\",\"overflow\":\"hidden\",\"whiteSpace\":\"nowrap\",\"width\":350}},\"labels\":{\"formatter\":\"function() { return `${Number((this.value * 100).toFixed(0)).toLocaleString('de-DE', {minimumFractionDigits: 0, maximumFractionDigits: 0})}`}\",\"mathPow\":100,\"prefix\":\"\",\"decimals\":0,\"align\":\"right\",\"suffix\":\"\",\"formatterIdentifier\":\"MATH_MULTIPLIER\"}},{\"opposite\":true,\"type\":\"linear\",\"title\":{\"text\":\"\",\"align\":\"high\",\"y\":-25,\"reserveSpace\":false,\"rotation\":0,\"textAlign\":\"right\",\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"textOverflow\":\"ellipsis\",\"overflow\":\"hidden\",\"whiteSpace\":\"nowrap\",\"width\":350}},\"labels\":{\"align\":\"left\"}}],\"xAxis\":[{\"type\":\"datetime\",\"labels\":{\"format\":\"{value:%b '%y}\",\"formatterIdentifier\":\"MONTHS\"}}],\"series\":[{\"data\":[[1659312000000,0.0103039846638368],[1661990400000,0.0908212891293924],[1664582400000,-0.0894072985549841],[1667260800000,0.104226933491843],[1669852800000,-0.0716149591149591],[1672531200000,-0.0601496428198124],[1675209600000,0.010966810966811],[1677628800000,0.167603339442069],[1680307200000,-0.194799754642714],[1682899200000,0.079239467714261],[1685577600000,0.0419961010624573],[1688169600000,-0.107804982983241],[1690848000000,-0.00939126020268086],[1693526400000,0.0637061476939038],[1696118400000,-0.0426951181518201],[1698796800000,0.041012438183797],[1701388800000,-0.135595265257769],[1704067200000,-0.0260418257729087],[1706745600000,0.0692482417041647],[1709251200000,0.0355486840853687],[1711929600000,-0.0279767433542884],[1714521600000,-0.0434245338190043],[1717200000000,0.0460610619990662],[1719792000000,-0.00612184102628299],[1722470400000,-0.0829685652171394],[1725148800000,0.0825129045714831],[1727740800000,0.00210903265333582],[1730419200000,0.020653383963731],[1733011200000,-0.121916894167991],[1735689600000,-0.0279995028284223],[1738368000000,0.0388765451117427],[1740787200000,0.0709],[1743465600000,-0.0791],[1746057600000,-0.0137694538786123],[1748736000000,0.022],[1751328000000,0.0286],[1754006400000,-0.1342],[1756684800000,0.164550514179481],[1759276800000,-0.0303],[1761955200000,0.0301],[1764547200000,-0.1002],[1767225600000,-0.0832],[1769904000000,0.0555],[1772323200000,0.117886687442442]],\"dashStyle\":\"Solid\",\"custom\":{\"name\":\"Schätzung (t+20)\"},\"name\":\"Schätzung (t+20)\",\"index\":0,\"id\":\"umsatz_vmr_s\"},{\"data\":[[1659312000000,-4.79255100643571E-4],[1661990400000,0.118706760737037],[1664582400000,-0.0729243203526819],[1667260800000,0.0984743411927878],[1669852800000,-0.075046176046176],[1672531200000,-0.054006830027785],[1675209600000,0.0123685837971552],[1677628800000,0.171700427611484],[1680307200000,-0.1874366146441],[1682899200000,0.103414339112703],[1685577600000,0.0532594227409052],[1688169600000,-0.108746773357352],[1690848000000,0.003911874523673],[1693526400000,0.0653406758345917],[1696118400000,-0.029063144513704],[1698796800000,0.0566382561247451],[1701388800000,-0.119509256625979],[1704067200000,-0.0448779269469247],[1706745600000,0.0680239378479693],[1709251200000,0.0307820788717703],[1711929600000,0.00296618839547119],[1714521600000,-0.0574295268585423],[1717200000000,0.0408763178313588],[1719792000000,-0.00872169949323836],[1722470400000,-0.082011241031224],[1725148800000,0.108655362399342],[1727740800000,-0.00634004551722902],[1730419200000,0.0121246663818127],[1733011200000,-0.0868687387590912],[1735689600000,-0.0284479082641817],[1738368000000,0.057],[1740787200000,0.0951],[1743465600000,-0.0639199458283221],[1746057600000,-0.0095],[1748736000000,0.008],[1751328000000,0.0281],[1754006400000,-0.143649781309152],[1756684800000,0.1752],[1759276800000,-0.0259],[1761955200000,0.017],[1764547200000,-0.0662],[1767225600000,-0.0801],[1769904000000,0.0690211777671112],[1772323200000,null]],\"dashStyle\":\"Solid\",\"custom\":{\"name\":\"Vorläufige amtliche Ergebnisse (t+45)\"},\"name\":\"Vorläufige amtliche Ergebnisse (t+45)\",\"index\":1,\"id\":\"umsatz_vmr_a\"}],\"subtitle\":{\"text\":\"\"},\"tooltip\":{\"shared\":true,\"crosshairs\":true,\"borderColor\":\"#B0B5B7\",\"mathOperation\":\"MATH_MULTIPLIER\",\"valueDecimals\":2,\"shadow\":true,\"shape\":\"rect\",\"dateFormat\":{\"label\":\"Monatlich (z.B. Oktober 2023)\",\"key\":\"MONTHLY\"},\"positioner\":\"function (labelWidth, labelHeight, point) {\\n      const chart = this.chart;\\n      const chartPosition = chart.pointer.getChartPosition();\\n      const defaultSpacing = 12;\\n      const topBarHeight = document.querySelector(\\\".topbar\\\")?.getBoundingClientRect().height || 50;\\n\\n      \\n      let tooltipYPos = -labelHeight - defaultSpacing;\\n      let customLineHeightShorten = 0;\\n      if (window.scrollY + topBarHeight > chartPosition.top + tooltipYPos) {\\n        tooltipYPos = window.scrollY + topBarHeight - chartPosition.top;\\n        customLineHeightShorten = Math.abs(-labelHeight - defaultSpacing - tooltipYPos);\\n      }\\n      let tooltipXPos = this.chart.plotLeft + point.plotX - labelWidth / 2;\\n\\n      \\n      const tooltipContainer = document.querySelector(\\\".highcharts-tooltip-container\\\");\\n      if (tooltipContainer) {\\n        const plotOffsetTop = this.chart?.plotTop\\n          ? (this.chart?.types?.[0] === \\\"line\\\" && this.chart?.types?.length < 2\\n              ? this.chart.plotHeight + this.chart.plotTop\\n              : this.chart.plotTop) -\\n            customLineHeightShorten +\\n            defaultSpacing\\n          : 0 - customLineHeightShorten;\\n        tooltipContainer.setAttribute(\\\"data-plot-top-offset\\\", plotOffsetTop.toString());\\n      }\\n\\n      if (this.chart?.types?.[0] === \\\"bar\\\") {\\n        tooltipXPos = tooltipXPos - point.h / 2;\\n      }\\n\\n     \\n      if ((this.chart?.types?.[0] === \\\"map\\\" || this.chart?.types?.[0] === \\\"pie\\\" || this.chart?.types?.[0] === \\\"column\\\") && tooltipContainer) {\\n        const fixedLabelX = tooltipContainer.getAttribute(\\\"data-fixed-tooltip-x\\\");\\n        if (fixedLabelX) {\\n          tooltipXPos = Number(fixedLabelX) - labelWidth / 2;\\n        }\\n        if(this.chart?.types?.[0] === \\\"column\\\" && fixedLabelX) {\\n          tooltipXPos = this.chart.plotLeft + Number(fixedLabelX) - labelWidth / 2;\\n        }\\n      }\\n      if(this.chart?.types?.[0] === \\\"bar\\\" && this.chart?.yAxis?.length === 2) {\\n        if(point.plotX <= (this.chart.plotWidth / 2) && this.chart?.yAxis?.[0]?.len && this.chart?.yAxis?.[0]?.left && false) {\\n          tooltipXPos = this.chart.yAxis[0].left - labelWidth/2 + this.chart.yAxis[0].len - (point.h / 2);\\n        }\\n      }  \\n\\n      return {\\n        x: tooltipXPos,\\n        y: tooltipYPos\\n      };\\n    }\",\"enabled\":true,\"animation\":false,\"mathPow\":\"100\",\"formatter\":\"function() {\\n  \\n      const createCustomLine = () => { \\n    let pointXValue = null;\\n    let pointYValue = null;\\n\\n    \\n  this?.points?.forEach((item) => {\\n    pointXValue = pointXValue === null ? item?.point?.plotX : item?.point?.plotX < pointXValue ? item?.point?.plotX : pointXValue;\\n    pointYValue = pointYValue === null ? item?.point?.plotY : item?.point?.plotY < pointYValue ? item?.point?.plotY : pointYValue;\\n  })\\n    ;\\n    let offsetChart = 60 + 12;\\n    const highchartTooltipContainer = document.querySelector('div.highcharts-tooltip-container');\\n    if(highchartTooltipContainer) {\\n      offsetChart = Number(highchartTooltipContainer.getAttribute('data-plot-top-offset'));\\n    }\\n    \\n  if(highchartTooltipContainer) {\\n    const tooltipFixedXPos = this?.point?.plotX || 0;\\n    highchartTooltipContainer.setAttribute('data-fixed-tooltip-x', tooltipFixedXPos.toString());\\n  };\\n    \\n    // -1 to prevent line touch the x-axis\\n    let customLineHeight = pointYValue + offsetChart - 1; \\n\\n    if(customLineHeight < 0) {\\n      customLineHeight = 0;\\n    }\\n\\n    return `<style>\\n    .highcharts-label span:first-child::before{\\n      position:absolute;\\n      content:'';\\n      bottom: -9px;\\n      left:50%;\\n      width:1px;\\n      height: ${customLineHeight}px;\\n      background:#B0B5B7;\\n      transform: translate(-100%, 100%);\\n    }</style>`;\\n  };;\\n      const customLine = createCustomLine();\\n      const formatDate = function(timestamp) {const date = new Date(timestamp) || new Date(); const monthNames = [\\\"Januar\\\",\\\"Februar\\\",\\\"März\\\",\\\"April\\\",\\\"Mai\\\",\\\"Juni\\\",\\\"Juli\\\",\\\"August\\\",\\\"September\\\",\\\"Oktober\\\",\\\"November\\\",\\\"Dezember\\\"]; return `${monthNames[date.getMonth()]} ${date.getFullYear()}`;}; const header = `<style>\\n    .highcharts-tooltip-container .highcharts-tooltip span{\\n      line-height: 18px !important;\\n    } \\n  </style><span style='margin-bottom: 4px; display: inline-block; width: 100%; text-align: center; line-height: 20px;'><b>${formatDate(this?.x)}</b></span><br>`;\\n      const getBodyFunc = () => { let pointFormat = \\\"<div><span style='display: inline-block; width: 10px; height: 10px; background-color: {pointColor}; margin-right: 4px;'></span><b>{pointValue} %</b> {pointName}</div>\\\";\\n    let bodyString = \\\"\\\";\\n    let pointCalcFunc = function(pointValue) {\\n    let tmpPointValue = Number(pointValue * 100);\\n    return new Intl.NumberFormat(\\\"de-DE\\\", { maximumFractionDigits: 2, minimumFractionDigits: 2 }).format(tmpPointValue);\\n  };;\\n    let pointFillFunc = function(pointString, pointColor, pointValue, pointName) { \\n    return pointString.replace(\\\"{pointColor}\\\", pointColor).replace(\\\"{pointValue}\\\", pointValue).replace(\\\"{pointName}\\\", pointName);\\n  };; \\n    this?.points?.forEach((point) => {\\n      let pointColor = point?.color || \\\"\\\"; \\n      let pointName = point?.series?.userOptions?.custom?.name || point?.series?.name || \\\"\\\";\\n      bodyString += pointFillFunc(pointFormat, pointColor, pointCalcFunc(point?.y), pointName);\\n    })\\n\\n    return bodyString;\\n  };;\\n      const body = getBodyFunc();\\n      return header + body + customLine;\\n    }\",\"headerFormat\":\"<b>{series.name}</b><br>\",\"borderRadius\":2,\"useHTML\":true,\"valuePrefix\":\"\",\"outside\":true,\"pointFormat\":\"{point.category:%d.%m.%Y}: {point.y:.,0f}\",\"style\":{\"lineHeight\":\"undefined\"},\"valueSuffix\":\" %\",\"footerFormat\":\"\"},\"title\":{\"text\":\"\"},\"chart\":{\"zoomType\":\"xy\",\"type\":\"column\",\"marginTop\":60}},\"rowexpand\":1,\"order\":1},{\"plotOptions\":{\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"subtitle\":{\"text\":\"\"}},\"col\":0,\"dataPlatformQueryParams\":[{\"topicId\":\"plausibilisiert\",\"timeBased\":true},{\"topicId\":\"fehlend\",\"timeBased\":true},{\"topicId\":\"unplausibilisiert\",\"timeBased\":true}],\"alt\":\"\",\"main\":false,\"type\":\"highcharts\",\"colors\":[\"#3366CC\",\"#CC0033\",\"#339966\",\"#66CCFF\",\"#FF9900\",\"#333366\",\"#FF6600\",\"#66CC66\",\"#990033\",\"#2C6622\",\"#FFCC33\",\"#660022\"],\"series\":[],\"colexpand\":2,\"row\":0,\"chart\":{\"plotOptions\":{\"area\":{},\"bar\":{\"point\":{\"events\":{\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\",\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\"}}},\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"line\":{},\"column\":{\"point\":{\"events\":{\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\",\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\"}}}},\"yAxis\":[{\"tickInterval\":0.2,\"max\":1,\"type\":\"linear\",\"title\":{\"reserveSpace\":false,\"offset\":0,\"textAlign\":\"left\",\"rotation\":0,\"x\":0,\"y\":-20,\"style\":{\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"whiteSpace\":\"nowrap\",\"color\":\"#272C2D\",\"fontSize\":\"16px\",\"fontWeight\":\"400\"},\"text\":\"\",\"align\":\"high\"},\"labels\":{\"formatter\":\"function() { return `${Number((this.value * 100).toFixed(0)).toLocaleString('de-DE', {minimumFractionDigits: 0, maximumFractionDigits: 0})}`}\",\"mathPow\":100,\"prefix\":\"\",\"decimals\":0,\"suffix\":\"\",\"formatterIdentifier\":\"MATH_MULTIPLIER\"}},{\"type\":\"linear\",\"title\":{\"reserveSpace\":false,\"offset\":0,\"textAlign\":\"left\",\"rotation\":0,\"x\":0,\"y\":-20,\"style\":{\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"whiteSpace\":\"nowrap\",\"color\":\"#272C2D\",\"fontSize\":\"16px\",\"fontWeight\":\"400\"},\"text\":\"\",\"align\":\"high\"}}],\"xAxis\":[{\"type\":\"datetime\",\"labels\":{\"format\":\"{value:%b '%y}\",\"formatterIdentifier\":\"MONTHS\"}}],\"series\":[{\"data\":[[1767225600000,0.569250398724083],[1769904000000,0.593936887644739],[1772323200000,0.540978977094446]],\"dashStyle\":\"Solid\",\"custom\":{\"name\":\"Plausibilisiert vorliegend\"},\"name\":\"Plausibilisiert vorliegend\",\"index\":0,\"id\":\"plausibilisiert\"},{\"data\":[[1767225600000,0.308325358851675],[1769904000000,0.266764219366332],[1772323200000,0.334923125196109]],\"dashStyle\":\"Solid\",\"custom\":{\"name\":\"Noch fehlend\"},\"name\":\"Noch fehlend\",\"index\":2,\"id\":\"fehlend\"},{\"data\":[[1767225600000,0.122424242424242],[1769904000000,0.13929889298893],[1772323200000,0.124097897709445]],\"dashStyle\":\"Solid\",\"custom\":{\"name\":\"Unplausibilisiert\"},\"name\":\"Unplausibilisiert\",\"index\":1,\"id\":\"unplausibilisiert\"}],\"subtitle\":{\"text\":\"\"},\"tooltip\":{\"shared\":true,\"crosshairs\":true,\"borderColor\":\"#B0B5B7\",\"mathOperation\":\"MATH_MULTIPLIER\",\"valueDecimals\":2,\"shadow\":true,\"shape\":\"rect\",\"dateFormat\":{\"label\":\"Monatlich (z.B. Oktober 2023)\",\"key\":\"MONTHLY\"},\"positioner\":\"function (labelWidth, labelHeight, point) {\\n      const chart = this.chart;\\n      const chartPosition = chart.pointer.getChartPosition();\\n      const defaultSpacing = 12;\\n      const topBarHeight = document.querySelector(\\\".topbar\\\")?.getBoundingClientRect().height || 50;\\n\\n      \\n      let tooltipYPos = -labelHeight - defaultSpacing;\\n      let customLineHeightShorten = 0;\\n      if (window.scrollY + topBarHeight > chartPosition.top + tooltipYPos) {\\n        tooltipYPos = window.scrollY + topBarHeight - chartPosition.top;\\n        customLineHeightShorten = Math.abs(-labelHeight - defaultSpacing - tooltipYPos);\\n      }\\n      let tooltipXPos = this.chart.plotLeft + point.plotX - labelWidth / 2;\\n\\n      \\n      const tooltipContainer = document.querySelector(\\\".highcharts-tooltip-container\\\");\\n      if (tooltipContainer) {\\n        const plotOffsetTop = this.chart?.plotTop\\n          ? (this.chart?.types?.[0] === \\\"line\\\" && this.chart?.types?.length < 2\\n              ? this.chart.plotHeight + this.chart.plotTop\\n              : this.chart.plotTop) -\\n            customLineHeightShorten +\\n            defaultSpacing\\n          : 0 - customLineHeightShorten;\\n        tooltipContainer.setAttribute(\\\"data-plot-top-offset\\\", plotOffsetTop.toString());\\n      }\\n\\n      if (this.chart?.types?.[0] === \\\"bar\\\") {\\n        tooltipXPos = tooltipXPos - point.h / 2;\\n      }\\n\\n     \\n      if ((this.chart?.types?.[0] === \\\"map\\\" || this.chart?.types?.[0] === \\\"pie\\\" || this.chart?.types?.[0] === \\\"column\\\") && tooltipContainer) {\\n        const fixedLabelX = tooltipContainer.getAttribute(\\\"data-fixed-tooltip-x\\\");\\n        if (fixedLabelX) {\\n          tooltipXPos = Number(fixedLabelX) - labelWidth / 2;\\n        }\\n        if(this.chart?.types?.[0] === \\\"column\\\" && fixedLabelX) {\\n          tooltipXPos = this.chart.plotLeft + Number(fixedLabelX) - labelWidth / 2;\\n        }\\n      }\\n      if(this.chart?.types?.[0] === \\\"bar\\\" && this.chart?.yAxis?.length === 2) {\\n        if(point.plotX <= (this.chart.plotWidth / 2) && this.chart?.yAxis?.[0]?.len && this.chart?.yAxis?.[0]?.left && false) {\\n          tooltipXPos = this.chart.yAxis[0].left - labelWidth/2 + this.chart.yAxis[0].len - (point.h / 2);\\n        }\\n      }  \\n\\n      return {\\n        x: tooltipXPos,\\n        y: tooltipYPos\\n      };\\n    }\",\"enabled\":true,\"animation\":false,\"mathPow\":\"100\",\"formatter\":\"function() {\\n  \\n      const createCustomLine = () => { \\n    let pointXValue = null;\\n    let pointYValue = null;\\n\\n    \\n  this?.points?.forEach((item) => {\\n    pointXValue = pointXValue === null ? item?.point?.plotX : item?.point?.plotX < pointXValue ? item?.point?.plotX : pointXValue;\\n    pointYValue = pointYValue === null ? item?.point?.plotY : item?.point?.plotY < pointYValue ? item?.point?.plotY : pointYValue;\\n  })\\n    ;\\n    let offsetChart = 60 + 12;\\n    const highchartTooltipContainer = document.querySelector('div.highcharts-tooltip-container');\\n    if(highchartTooltipContainer) {\\n      offsetChart = Number(highchartTooltipContainer.getAttribute('data-plot-top-offset'));\\n    }\\n    \\n  if(highchartTooltipContainer) {\\n    const tooltipFixedXPos = this?.point?.plotX || 0;\\n    highchartTooltipContainer.setAttribute('data-fixed-tooltip-x', tooltipFixedXPos.toString());\\n  };\\n    \\n    // -1 to prevent line touch the x-axis\\n    let customLineHeight = pointYValue + offsetChart - 1; \\n\\n    if(customLineHeight < 0) {\\n      customLineHeight = 0;\\n    }\\n\\n    return `<style>\\n    .highcharts-label span:first-child::before{\\n      position:absolute;\\n      content:'';\\n      bottom: -9px;\\n      left:50%;\\n      width:1px;\\n      height: ${customLineHeight}px;\\n      background:#B0B5B7;\\n      transform: translate(-100%, 100%);\\n    }</style>`;\\n  };;\\n      const customLine = createCustomLine();\\n      const formatDate = function(timestamp) {const date = new Date(timestamp) || new Date(); const monthNames = [\\\"Januar\\\",\\\"Februar\\\",\\\"März\\\",\\\"April\\\",\\\"Mai\\\",\\\"Juni\\\",\\\"Juli\\\",\\\"August\\\",\\\"September\\\",\\\"Oktober\\\",\\\"November\\\",\\\"Dezember\\\"]; return `${monthNames[date.getMonth()]} ${date.getFullYear()}`;}; const header = `<style>\\n    .highcharts-tooltip-container .highcharts-tooltip span{\\n      line-height: 18px !important;\\n    } \\n  </style><span style='margin-bottom: 4px; display: inline-block; width: 100%; text-align: center; line-height: 20px;'><b>${formatDate(this?.x)}</b></span><br>`;\\n      const getBodyFunc = () => { let pointFormat = \\\"<div><span style='display: inline-block; width: 10px; height: 10px; background-color: {pointColor}; margin-right: 4px;'></span><b>{pointValue} %</b> {pointName}</div>\\\";\\n    let bodyString = \\\"\\\";\\n    let pointCalcFunc = function(pointValue) {\\n    let tmpPointValue = Number(pointValue * 100);\\n    return Intl.NumberFormat(\\\"de-DE\\\", {maximumFractionDigits: 2, minimumFractionDigits: 2}).format(tmpPointValue);};;\\n    let pointFillFunc = function(pointString, pointColor, pointValue, pointName) { \\n    return pointString.replace(\\\"{pointColor}\\\", pointColor).replace(\\\"{pointValue}\\\", pointValue).replace(\\\"{pointName}\\\", pointName);\\n  };; \\n    this?.points?.forEach((point) => {\\n      let pointColor = point?.color || \\\"\\\"; \\n      let pointName = point?.series?.userOptions?.custom?.name || point?.series?.name || \\\"\\\";\\n      bodyString += pointFillFunc(pointFormat, pointColor, pointCalcFunc(point?.y), pointName);\\n    })\\n\\n    return bodyString;\\n  };;\\n      const body = getBodyFunc();\\n      return header + body + customLine;\\n    }\",\"headerFormat\":\"<b>{series.name}</b><br>\",\"borderRadius\":2,\"useHTML\":true,\"valuePrefix\":\"\",\"outside\":true,\"pointFormat\":\"{point.category:%d.%m.%Y}: {point.y:.,0f}\",\"style\":{\"lineHeight\":\"undefined\"},\"valueSuffix\":\" %\",\"footerFormat\":\"\"},\"title\":{\"text\":\"\"},\"chart\":{\"zoomType\":\"xy\",\"type\":\"column\",\"marginTop\":60}},\"rowexpand\":1,\"order\":2},{\"col\":2,\"yAxisUnit\":\"in Prozent\",\"subtitle\":\"\",\"colexpand\":1,\"text\":\"<p>Diese Werte ermöglichen es, die Schätzqualität des aktuellen Berichtsmonats besser eingrenzen zu können. Je geringer der prozentuale Anteil der plausibilisiert vorliegenden Meldungen, desto höher die Anzahl der zu imputierenden fachlichen Betriebsteile.&nbsp;</p>\",\"infoButtonText\":\"Zu sehen ist die Datenverfügbarkeit und -Struktur der vergangenen drei Monate. \",\"row\":0,\"type\":\"text\",\"title\":\"\",\"belongsTo\":2,\"rowexpand\":1},{\"col\":2,\"yAxisUnit\":\"in Prozent (unbereinigt)\",\"subtitle\":\"\",\"colexpand\":1,\"text\":\"<section class=\\\"compact-tile-module_widget-container__rFIfJ\\\" style=\\\"-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(39, 44, 45);display:grid;font-family:StatisSans;font-size:16px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;gap:16px 0px;grid-template:&quot;widget0 divider0 widget1&quot; 1fr / 1fr 26px 1fr;letter-spacing:normal;orphans:2;padding-top:8px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;\\\"><div class=\\\"widgetItem0\\\" style=\\\"-webkit-font-smoothing:antialiased;box-sizing:border-box;font-family:StatisSans;grid-area:widget0;\\\"><div class=\\\"widget-module_wrapper__K5IZW\\\" style=\\\"-webkit-font-smoothing:antialiased;box-sizing:border-box;display:flex;flex-direction:column;font-family:StatisSans;margin-bottom:auto;\\\"><div class=\\\"widget-module_num__uJMZn\\\" style=\\\"-webkit-font-smoothing:antialiased;align-items:center;box-sizing:border-box;color:rgb(0, 89, 172);display:flex;font-family:StatisSans;font-size:24px;height:24px;line-height:1;text-align:center;\\\"><strong>11,79 %&nbsp;</strong></div><div class=\\\"widget-module_description__u3THG\\\" style=\\\"-webkit-font-smoothing:antialiased;box-sizing:border-box;color:rgb(79, 80, 83);font-family:StatisSans;font-size:14px;margin-top:8px;white-space:normal;width:261.392px;\\\">Umsatz-Frühschätzung zu t+20: Veränderungsrate zum Vormonat (unbereinigt)&nbsp;</div><div class=\\\"widget-module_description__u3THG\\\" style=\\\"-webkit-font-smoothing:antialiased;box-sizing:border-box;color:rgb(79, 80, 83);font-family:StatisSans;font-size:14px;margin-top:8px;white-space:normal;width:261.392px;\\\">&nbsp;</div><div class=\\\"widget-module_description__u3THG\\\" style=\\\"-webkit-font-smoothing:antialiased;box-sizing:border-box;color:rgb(79, 80, 83);font-family:StatisSans;font-size:14px;margin-top:8px;white-space:normal;width:261.392px;\\\">&nbsp;</div><div class=\\\"widget-module_num__uJMZn\\\" style=\\\"-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0px;align-items:center;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(0, 89, 172);display:flex;font-family:StatisSans;font-size:24px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;height:24px;letter-spacing:normal;line-height:1;orphans:2;text-align:center;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;\\\">-2,53 %&nbsp;</div><div class=\\\"widget-module_description__u3THG\\\" style=\\\"-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(79, 80, 83);font-family:StatisSans;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;margin-top:8px;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;width:266.2px;word-spacing:0px;\\\">Umsatz-Frühschätzung zu t+20: Veränderungsrate zum Vormonat&nbsp;<br>(preis-, kalender- und saisonbereinigt)&nbsp;</div></div></div></section><p>Abgebildet sind die Vormonatsveränderungsraten des unbereinigten Umsatzaggregats. Die blauen Balken stellen die Schätzungen zu t+20 dar, die auf einem durchschnittlichen Schätzanteil von ca. 40 % basieren, während die roten Balken die vorläufigen amtlichen Ergebnisse zeigen. Am aktuellen Rand ist stets nur die Schätzung sichtbar, da diese 25 Tage vor den amtlichen Ergebnissen zur Verfügung steht.<o:p></o:p></p><p data-start=\\\"474\\\" data-end=\\\"975\\\">Die t+20-Schätzungen ermöglichen eine frühzeitige Bereitstellung aussagekräftiger Daten auf experimenteller Basis mit einem durchschnittlich geringen Schätzfehler. Sie liefern somit eine zeitnahe Indikation zur Umsatzentwicklung im Verarbeitenden Gewerbe und dienen als eine Informationsgrundlage der wirtschaftlichen Entwicklung.<o:p></o:p></p><p data-start=\\\"977\\\" data-end=\\\"1317\\\">Diese Gegenüberstellung ermöglicht eine detaillierte Analyse der Schätzgenauigkeit und zeigt die Abweichungen zwischen den frühzeitigen Schätzungen und den vorläufigen Ergebnissen. Zudem werden die erheblichen Umsatzschwankungen sichtbar, die von Monat zu Monat auftreten können und eine Herausforderung für die Schätzungen darstellen.</p><p data-start=\\\"977\\\" data-end=\\\"1317\\\">Die folgende Tabelle repräsentiert zentrale statistische Kennzahlen zur Beurteilung der Prognosegüte, die anhand der absoluten und relativen Abweichungen der Schätzungen in Prozent ermittelt wurden. Diese Kennzahlen bieten eine fundierte Grundlage zur Einschätzung der Genauigkeit und Zuverlässigkeit der Prognosen. In Kombination ermöglichen diese Kennzahlen eine detaillierte und differenzierte Analyse der Prognosegüte, die es erlaubt, systematische Fehler oder Verzerrungen in den Schätzung zu identifizieren und gegebenenfalls die Prognosemethoden zu optimieren. Diese Auswertungen tragen dazu bei, die Zuverlässigkeit der Frühschätzungen zu bewerten und die Modellgenauigkeit kontinuierlich zu verbessern.&nbsp;</p><p data-start=\\\"977\\\" data-end=\\\"1317\\\">&nbsp;</p><figure class=\\\"table\\\" style=\\\"width:391pt;\\\"><table style=\\\"border-collapse:collapse;\\\" border=\\\"0\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" width=\\\"521\\\"><tbody><tr style=\\\"height:14.4pt;\\\" height=\\\"19\\\"><td style=\\\"height:14.4pt;width:62pt;\\\" height=\\\"19\\\" width=\\\"83\\\">&nbsp;</td><td style=\\\"width:193pt;\\\" width=\\\"257\\\">Relative absolute Abweichung<span style=\\\"mso-spacerun:yes;\\\">&nbsp;</span></td><td style=\\\"width:136pt;\\\" width=\\\"181\\\">Relative Abweichung</td></tr><tr style=\\\"height:14.4pt;\\\" height=\\\"19\\\"><td style=\\\"height:14.4pt;\\\" height=\\\"19\\\">Standardabweichung</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">0,96%</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">1,38%</td></tr><tr style=\\\"height:14.4pt;\\\" height=\\\"19\\\"><td style=\\\"height:14.4pt;\\\" height=\\\"19\\\">Maximum</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">3,84%</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">1,97%</td></tr><tr style=\\\"height:14.4pt;\\\" height=\\\"19\\\"><td style=\\\"height:14.4pt;\\\" height=\\\"19\\\">Minimum</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">0,04%</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">-3,84%</td></tr><tr style=\\\"height:14.4pt;\\\" height=\\\"19\\\"><td style=\\\"height:14.4pt;\\\" height=\\\"19\\\">Mittelwert</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">1,16%</td><td class=\\\"xl65\\\" style=\\\"text-align:right;\\\">-0,58%</td></tr></tbody></table></figure>\",\"infoButtonText\":\"Die nachfolgende Grafik zeigt die Vormonatsveränderungsraten (unbereinigt) der t+20-Schätzungen im Vergleich zu den vorläufig veröffentlichten amtlichen Ergebnissen über den gesamten Betrachtungszeitraum. Während die amtlichen vorläufigen Ergebnisse 45 Tage nach Ende des Berichtsmonats (t+45) bereitgestellt werden, liegen diese Schätzungen bereits nach 20 Tagen (t+20) vor. Dargestellt sind die Vormonatsveränderungsraten des unbereinigten Umsatzaggregats im Verarbeitenden Gewerbe (B+C).\",\"row\":0,\"type\":\"text\",\"title\":\"\",\"belongsTo\":1,\"rowexpand\":1},{\"hideSeries\":[],\"description\":\"\",\"main\":false,\"type\":\"compact\",\"title\":\"Verarbeitendes Gewerbe: Schätzung des Umsatzaggregats\",\"widgets\":[{\"num\":\"11,79 %\",\"icon\":\"ArrowUpRight\",\"refDate\":\"None\",\"foundExactReference\":false,\"desc\":\"Umsatz-Frühschätzung zu t+20: Veränderungsrate zum Vormonat (unbereinigt) *\"},{\"num\":\"2,66 %\",\"icon\":\"ArrowDownRight\",\"refDate\":null,\"foundExactReference\":false,\"desc\":\"Umsatz-Frühschätzung zu t+20: Veränderungsrate zum Vormonat \\n(preis-, kalender- und saisonbereinigt) *\"}],\"widgetConfig\":[{\"infoText\":\"Umsatz-Frühschätzung zu t+20: Veränderungsrate zum Vormonat (unbereinigt) *\",\"timeEntity\":2592000000,\"unit\":\"%\",\"topicId\":\"umsatz_vmr_s\",\"arrowEnabled\":true,\"formulaType\":\"ABSOLUTE\",\"timeReference\":\"NONE\",\"factor\":100,\"operator\":\"TIMES\",\"decimalPlace\":2},null]},{\"smallTitle\":\"Verarbeitendes Gewerbe: t+20-Schätzung Umsatzaggregat (unbereinigt)\",\"imageChart\":\"\",\"variant\":2,\"type\":\"teaser\"}],\"attachments\":[{\"name\":\"Verarbeitendes Gewerbe: Schätzung des Umsatzaggregats.csv\",\"type\":\"csv\"},{\"name\":\"Verarbeitendes Gewerbe: Schätzung des Umsatzaggregats.xlsx\",\"type\":\"xlsx\"}],\"sources\":[{\"qualitySource\":6,\"link\":\"www.destatis.de\",\"name\":\"Statistisches Bundesamt \",\"quality\":2},{\"qualitySource\":1,\"name\":\"\",\"link\":\"\",\"quality\":1}],\"source\":\"[Statistisches Bundesamt ](www.destatis.de); []()\",\"title\":\"Verarbeitendes Gewerbe: Schätzung des Umsatzaggregats\",\"minHeight\":0,\"lastUpdated\":1776685225445,\"maxHeight\":0,\"introtext\":\"\",\"id\":\"tile_1739971371224\",\"lang\":\"de\",\"cols\":3,\"height\":4,\"maxWidth\":0,\"previewImg\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<Error><Code>MethodNotAllowed</Code><Message>The specified method is not allowed against this resource.</Message><Method>POST</Method><ResourceType>OBJECT</ResourceType><RequestId>XR89PSYRNZD46N9N</RequestId><HostId>XSMoOZ/QAtmu1+8obauzH4EumGM6SvGj8+33uBnYW6eUnNH+aXFxTvPwGJQpfTB7+QjGUE5ndrw=</HostId></Error>\",\"workflow\":\"manual\",\"minWidth\":0,\"dateUpload\":\"20. April 2026\",\"rows\":1,\"version\":\"2.0\",\"tags\":[],\"width\":5,\"category\":\"Wirtschaftsaktivität und aktuelle Konjunkturindikatoren\",\"embeddable\":false,\"dataVersionDate\":\"März 2026\"}","title":"Verarbeitendes Gewerbe: Schätzung des Umsatzaggregats"}]