{"id":144373,"date":"2026-10-02T05:03:23","date_gmt":"2026-10-02T03:03:23","guid":{"rendered":"https:\/\/news.abusizz.ch\/dsv-aktie-durch-konsequente-akquisitionen-zur-globalen-logistikspitze\/"},"modified":"2026-10-02T05:03:23","modified_gmt":"2026-10-02T03:03:23","slug":"dsv-aktie-durch-konsequente-akquisitionen-zur-globalen-logistikspitze","status":"publish","type":"post","link":"https:\/\/news.abusizz.ch\/de\/dsv-aktie-durch-konsequente-akquisitionen-zur-globalen-logistikspitze\/","title":{"rendered":"DSV Aktie: Durch konsequente Akquisitionen zur globalen Logistikspitze"},"content":{"rendered":"<div>\n<div id=\"attachment_92293\" style=\"width: 1510px\" class=\"wp-caption aligncenter\">\n<p id=\"caption-attachment-92293\" class=\"wp-caption-text\">Die historische \u00dcbernahme von DB Schenker festigt die Position von DSV als gr\u00f6\u00dfter globaler Logistikanbieter. (Foto: Magnific.com, KimSunHo)<\/p>\n<\/div>\n<p>Der d\u00e4nische Logistiker DSV blickt auf eine 50-j\u00e4hrige Erfolgsgeschichte zur\u00fcck. Aus einem kleinen Konsortium aus Frachtf\u00fchrern wurde der gr\u00f6\u00dfte Transportanbieter der Welt. Besiegelt wurde diese Marktstellung durch die \u00dcbernahme von DB Schenker f\u00fcr rund 106 Milliarden D\u00e4nische Kronen im April 2025. Damit steht der ge\u00fcbte Serieneink\u00e4ufer nun vor der gr\u00f6\u00dften Integration der Firmengeschichte. Rund 160.000 Mitarbeiter und ein Pro-forma-Umsatz von rund 300 Milliarden D\u00e4nischen Kronen m\u00fcssen zusammengebracht werden.<\/p>\n<p>CEO Jens Lund, der seit 2002 bei DSV ist, best\u00e4tigt, dass die Integration bereits weiter fortgeschritten ist als geplant. Mitte 2026 waren bereits \u00fcber 60 L\u00e4nder vollst\u00e4ndig integriert. Bis Ende 2027 soll die Migration in das DSV-System abgeschlossen sein.<\/p>\n<h3>Asset-Light als Ursprung des Gesch\u00e4ftsmodells<\/h3>\n<p>Um DSV als Investment besser zu verstehen, ist ein Blick in die Firmengeschichte von Bedeutung. <a href=\"https:\/\/www.dsv.com\/de-de\/\" target=\"_blank\" rel=\"noopener\">DSV<\/a> wurde von 9 unabh\u00e4ngigen d\u00e4nischen Frachtf\u00fchrern gegr\u00fcndet, die unter zunehmendem Wettbewerbsdruck ihre Kapazit\u00e4ten besser auslasten und administrative Kosten teilen wollten. Die Philosophie baute von Beginn an auf einem Asset-Light-Gesch\u00e4ftsmodell auf. Anstatt in einen teuren Fuhrpark zu investieren und hohe Kapitalkosten zu tragen, agierte DSV prim\u00e4r als Speditionsunternehmen. Das bedeutet, dass DSV Waren gegen eine Provision bewegt, aber die Risiken und Kosten des Fuhrparks bei den Eigent\u00fcmern verbleiben. Durch die dezentrale Organisationskultur war DSV von Beginn an nah am Kunden. Diese Kundenn\u00e4he zeichnet DSV bis heute aus.<\/p>\n<h3>B\u00f6rsengang als Startpunkt der internationalen Expansion<\/h3>\n<p>Das Management erkannte das langfristige Wachstumspotenzial dieses Gesch\u00e4ftsmodells, weshalb es 1987 den Gang an die Kopenhagener B\u00f6rse wagte. Das durch den IPO eingesammelte Kapital half DSV, die ersten gr\u00f6\u00dferen Zuk\u00e4ufe zu t\u00e4tigen und erstmals international Fu\u00df zu fassen. Schrittweise wurden Akquisitionen durchgef\u00fchrt, um sowohl das Leistungsportfolio als auch die regionale Abdeckung zu erweitern. DSV wusste, dass organisches Wachstum in dieser Branche stets zu gering ist, um im globalen Logistikmarkt die kritische Masse zu erreichen.<\/p>\n<p>\u00a0<\/p>\n<div class=\"chartwrapper\" id=\"chartwrapper\" data-chartid=\"6abe731a8950f\"><\/div>\n<p>    <script id=\"tvChartLoader\" async src=\"https:\/\/unpkg.com\/lightweight-charts@4.2.0\/dist\/lightweight-charts.standalone.production.js\"><\/script><\/p>\n<p>    <script id=\"declarations\">\n    var chartid = \"6abe731a8950f\";\n    function renderTV(kursData, chartData,companyName,currency, chartHeight, chartWidth, code, exchange, kursDate, hidetitle, hidelegend, chartid) {      \n    \tconsole.log(\"render chart with id\", document.querySelector(`[data-chartid=\"${chartid}\"]`));\n        let width = chartWidth?chartWidth:600;\n        let ratio = 2\n        let height = chartHeight?chartHeight:(width\/ratio);\n        document.querySelector(`[data-chartid=\"${chartid}\"]`).style.height = chartHeight +50\n        document.querySelector(`[data-chartid=\"${chartid}\"]`).style.width = chartWidth<\/p>\n<p>        \/\/ formatter for x achis dates\n        function customXAchsisFormetter(timePoint, tickMarkType, locale) {\n            let formatOptions = {};\n            const date = new Date(timePoint);<\/p>\n<p>            if(tickMarkType <=1){\n                formatOptions = {day: \"numeric\", month: \"short\",year: \"numeric\",}\n\n            }else{\n                formatOptions = {day: \"numeric\", month: \"short\",year: \"numeric\",}\n            }\n            \/\/ from given date we should use only as UTC date or timestamp\n            \/\/ but to format as locale date we can convert UTC date to local date\n            const localDateFromUtc = new Date(\n                date.getUTCFullYear(),\n                date.getUTCMonth(),\n                date.getUTCDate()\n            );\n\n            return localDateFromUtc.toLocaleString(locale, formatOptions);\n        }\n\n        \/\/create buttons\n        function createSimpleSwitcher(items, activeItem, activeItemChangedCallback) {\n            var switcherElement = document.createElement(\"div\");\n            switcherElement.classList.add(\"switcher\");\n\n            var intervalElements = items.map(function (item) {\n                var itemEl = document.createElement(\"button\");\n                itemEl.innerText = item;\n                itemEl.classList.add(\"switcher-item\");\n                itemEl.classList.toggle(\"switcher-active-item\", item === activeItem);\n                itemEl.addEventListener(\"click\", function () {\n                    onItemClicked(item);\n                });\n                switcherElement.appendChild(itemEl);\n                return itemEl;\n            });\n\n            function onItemClicked(item) {\n                if (item === activeItem) {\n                    return;\n                }\n\n                intervalElements.forEach(function (element, index) {\n                    element.classList.toggle(\"switcher-active-item\", items[index] === item);\n                });\n\n                activeItem = item;\n\n                activeItemChangedCallback(item);\n            }\n\n            return switcherElement;\n        }\n        \/\/ loading: true or false\n        function handleAsyncUI(loading){\n            var IntervalButtons = document.getElementsByClassName(\"switcher-item\");\n             for(var i = 0; i < IntervalButtons.length; i++){\n                IntervalButtons[i].disabled = loading;\n             } \n             var chart = document.getElementsByClassName(\"tv-lightweight-charts\")[0];\n             if(loading){\n            \n            chart.style[\"display\"] = \"flex\"\n            chart.style[\"align-items\"] = \"center\"\n            chart.style[\"justify-content\"] = \"center\"\n\n            var loadingIndicator = document.createElement(\"div\");\n            loadingIndicator.classList.add(\"loader\");\n            \/\/loadingIndicator.innerText = \"Loading\";\n            loadingIndicator.id =\"loadingIndicator\"\n            chart.appendChild(loadingIndicator);\n             }else{\n            document.getElementById(\"loadingIndicator\").remove();\n            chart.style[\"display\"] = null\n            chart.style[\"align-items\"] =null\n            chart.style[\"justify-content\"] = null\n             }\n\n        }\n        var intervals = [\"1M\",\"3M\",\"6M\",\"1Y\",\"3Y\",\"5Y\"];\n        var seriesesData = new Map([\n            [\"1M\", []], \/\/ 1m (interval daten?), 3m, 6m, 1y, 3y, 5y\n            [\"3M\", []],\n            [\"6M\", []],\n            [\"1Y\", chartData],\n            [\"3Y\", []],\n            [\"5Y\", []],\n        ]);\n        var switcherElement = createSimpleSwitcher(intervals, intervals[3], syncToInterval);\n        var chartElement = document.createElement(\"div\");\n        const chart = LightweightCharts.createChart(chartElement, {\n            width: width,\n            height: height,\n            rightPriceScale: {\n                scaleMargins: {\n                    top: 0.2,\n                    bottom: 0.2,\n                },\n                borderVisible: false,\n            },\n            timeScale: {\n                borderVisible: false,\n                lockVisibleTimeRangeOnResize: true,\n\n                rightOffset:1,\n                tickMarkFormatter:customXAchsisFormetter\n\n            },\n            grid: {\n                horzLines: {\n                    color: \"#eee\",\n                    visible: false,\n                },\n                vertLines: {\n                    color: \"#ffffff\",\n                },\n            },\n            crosshair: {\n                horzLine: {\n                    visible: false,\n                    labelVisible: false\n                },\n                vertLine: {\n                    visible: true,\n                    style: 0,\n                    width: 2,\n                    color: \"rgba(80, 50, 25, 0.1)\",\n                    labelVisible: false,\n                }\n            },\n            handleScroll: {\n                mouseWheel: false,\n                pressedMouseMove: false,\n                horzTouchDrag: false,\n                vertTouchDrag: false\n            },\n            handleScale: {\n                axisPressedMouseMove: false,\n                mouseWheel: false,\n                pinch: false,\n            },\n        });\n        var areaSeries = null;\n        var positionDIV = document.querySelector(`[data-chartid=\"${chartid}\"]`)\n        positionDIV.appendChild(chartElement);\n        positionDIV.appendChild(switcherElement);\n        function httpGetAsync(theUrl, callback) {\n            var xmlHttp = new XMLHttpRequest();\n            xmlHttp.onreadystatechange = function () {\n                if (xmlHttp.readyState == 4 &#038;&#038; xmlHttp.status == 200)\n                    callback(xmlHttp.responseText);\n            }\n            xmlHttp.open(\"GET\", theUrl, true); \/\/ true for asynchronous \n            xmlHttp.send(null);\n        }\n        function formatDate(date) {\n            \n            var month = \"\" + (date.getMonth()+1);\n            var day = \"\" + date.getDate();\n            var year = date.getFullYear();\n\n            if (month.length < 2) \n                month = \"0\" + month;\n            if (day.length < 2) \n                day = \"0\" + day;\n            return [year, month, day].join(\"-\");\n        }\n        function getTimeframe(interval){\n            let from = null;\n            let to = formatDate(new Date());\n            switch (interval) {\n                case \"1M\": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;\n                case \"3M\": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;\n                case \"6M\": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;\n                case \"1Y\": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;\n                case \"3Y\": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;\n                case \"5Y\": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;\n                default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));\n                \n                }\n            return {from:from, to:to}\n        }\t\n        \/\/ what happens on button click\n        function syncToInterval(interval) {\n            if (areaSeries &#038;&#038; seriesesData.get(interval).length <=0) {\n                console.log(\"GETTING REMOTE DATA\")\n\n                chart.removeSeries(areaSeries);\n                areaSeries = null;\n                let apiToken = \"za1j116n2273ab1vxukuh6\"\n                let timeframe = getTimeframe(interval)\n                let filter = \"adjusted_close\"\n                handleAsyncUI(true)\t\t\t\t\t\t\n                httpGetAsync(\"https:\/\/api.leeway.tech\/api\/v1\/public\/historicalquotes\/\"+encodeURIComponent(code+\".\"+exchange)+\"?apitoken=\"+apiToken+\"&#038;filter=\"+filter+\"&#038;from=\"+timeframe.from+\"&#038;to=\"+timeframe.to, function (res) {\t\n                    let newData = []\n                    newData = JSON.parse(res)\/\/.map(el=>newData.push({time:el.date, value:el.close}))\n                    \/\/ newData = newData.map(el=>{\n                    \/\/     console.log(el.time.year)\n                    \/\/     console.log(el.time.month)\n                    \/\/     console.log(el.time.day)\n                    \/\/     console.log(el)\n                    \/\/     console.log(new Date(el.time.year, el.time.month-1, el.time.day));\n                    \/\/     return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})\n                    console.log(\"newData\")\n                    console.log(newData)\n                    seriesesData.set(interval, newData)\n                    areaSeries = chart.addAreaSeries({\n                        topColor: \"rgba(33, 108, 173, 0.56)\",\n                        bottomColor: \"rgba(33, 108, 173, 0.04)\",\n                        lineColor: \"rgba(33, 108, 173, 1)\",\n                    lineWidth: 2,\n                });\n                kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value\n                areaSeries.setData(seriesesData.get(interval));\n                chart.timeScale().fitContent();\n                handleAsyncUI(false)\t\n                    })\n            }else{\n                console.log(\"GETTING LOADED DATA\")\n                if(areaSeries){\n                    console.log(\"DELETING  LOADED DATA FROM CHART\")\n                    chart.removeSeries(areaSeries);\n                    areaSeries = null;\n                }\n                kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value\n                areaSeries = chart.addAreaSeries({\n                topColor: \"rgba(33, 108, 173, 0.56)\",\n                bottomColor: \"rgba(33, 108, 173, 0.04)\",\n                lineColor: \"rgba(33, 108, 173, 1)\",\n                lineWidth: 2,\n            });\n            areaSeries.setData(seriesesData.get(interval));<\/p>\n<p>            chart.timeScale().fitContent();\n            }<\/p>\n<p>        }\n        \/\/ data interval at startup\n        syncToInterval(intervals[3]);\n        \/\/ Name and Kurs as Text in legend<\/p>\n<p>        var watermark = document.createElement(\"img\")\n        watermark.classList.add(\"watermark\")\n        watermark.setAttribute(\"src\", \"https:\/\/api.leeway.tech\/leeway-sign.png\")\n        var testA = document.querySelector(`[data-chartid=\"${chartid}\"]`)\n        var testB = document.querySelector(`[data-chartid=\"${chartid}\"]`).getBoundingClientRect();\n        var test =  testA.getElementsByTagName(\"canvas\")[0].getBoundingClientRect();\n        watermark.style.position = \"absolute\";\n        watermark.style.width = \"90px\";\n        watermark.style.height = \"30px\";\n        watermark.style.display = \"block\";\n        \/\/watermark.style.z-index = \"1000000\";\n        watermark.style.bottom = \"0\";\n        watermark.style.right = \"10px\";<\/p>\n<p>        let linkLW = document.createElement(\"a\")\n        linkLW.href=\"https:\/\/www.ftd.de\/leeway-tech\";\n        linkLW.target = \"_blank\";\n        linkLW.appendChild(watermark)\n        \/\/ append to DOM<\/p>\n<p>        \/\/div-chartwrapper -> div -> div ->  table  -> tr ->  td td -> div\n        const myElementA = document.querySelector(`[data-chartid=\"${chartid}\"]`);\n        let myElementB = myElementA.childNodes[0]\n        let myElementC = myElementB.childNodes[0]\n        let myElementD = myElementC.childNodes[0]\n        let myElementE = myElementD.childNodes[0]\n        let myElementF = myElementE.childNodes[1]\n        let myElementG = myElementF.childNodes[0]\n        myElementG.appendChild(linkLW);<\/p>\n<p>        if(hidelegend == \"false\"){\n            console.log(\"SHOW LEGEND!\")\n            var legend = document.createElement(\"div\");\n            legend.classList.add(\"legend\");\n            var offsets = document.querySelector(`[data-chartid=\"${chartid}\"]`).getBoundingClientRect();\n            var chartwrapperTop = offsets.top;<\/p>\n<p>            var legendHeight = height *-1\n            if(legendHeight>-210){legendHeight = -210;}\n            legend.style.top = legendHeight*1.2  + \"px\"\n            positionDIV.appendChild(legend);<\/p>\n<p>            if(hidetitle == \"false\"){\n                var firstRow = document.createElement(\"div\");\n                firstRow.classList.add(\"titleText\");\t<\/p>\n<p>            }<\/p>\n<p>            var secondRow = document.createElement(\"div\");\n            secondRow.classList.add(\"secondRow\");\t<\/p>\n<p>            if(kursData !== null){\n                if(hidetitle == \"false\"){\n                    firstRow.innerText = companyName\n                    legend.appendChild(firstRow);\n                }<\/p>\n<p>                secondRow.innerText = kursDate +\": \" + Number(kursData).toFixed(2) + \" \"+currency;\n                 legend.appendChild(secondRow);\n            }else{\n                if(hidetitle == \"false\"){\n                    firstRow.innerText = companyName\n                    legend.appendChild(firstRow);\n                }<\/p>\n<p>                legend.appendChild(secondRow);\n            }<\/p>\n<p>            \/\/ cursor moving and handling third row of legend\n            chart.subscribeCrosshairMove((param) => {\n                if (param.time) {\n                    let options = { weekday: \"short\", year: \"numeric\", month: \"numeric\", day: \"numeric\" };\n                    let currentDate = new Date(param.time).toLocaleDateString(\"de-DE\", options)\n                    const price = param.seriesData.get(areaSeries).value;\n                    secondRow.innerText = currentDate + \":  \" + price.toFixed(2) + \" \"+(currency?currency:\" \");\n                }\n            else {\n                secondRow.innerText = kursDate +\": \" + Number(kursData).toFixed(2) + \" \"+currency;<\/p>\n<p>            }\n            });<\/p>\n<p>        }<\/p>\n<p>    }\n    function httpGetAsync(theUrl, callback) {\n            var xmlHttp = new XMLHttpRequest();\n            xmlHttp.onreadystatechange = function () {\n                if (xmlHttp.readyState == 4 && xmlHttp.status == 200)\n                    callback(xmlHttp.responseText);\n            }\n            xmlHttp.open(\"GET\", theUrl, true); \/\/ true for asynchronous \n            xmlHttp.send(null);\n        };\n    function getTimeframe(interval){\n            let from = null;\n            let to = formatDate(new Date());\n            switch (interval) {\n                case \"1M\": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;\n                case \"3M\": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;\n                case \"6M\": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;\n                case \"1Y\": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;\n                case \"3Y\": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;\n                case \"5Y\": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;\n                default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));<\/p>\n<p>                }\n            return {from:from, to:to}\n        };\n        function formatDate(date) {<\/p>\n<p>            var  month = \"\" + (date.getMonth()+1);\n            var   day = \"\" + date.getDate();\n            var   year = date.getFullYear();<\/p>\n<p>            if (month.length < 2) \n                month = \"0\" + month;\n            if (day.length < 2) \n                day = \"0\" + day;\n\n            return [year, month, day].join(\"-\");\n        };\n    <\/script><br \/>\n    <script id=\"main\"><\/p>\n<p>    var scriptTV = document.querySelector(\"#tvChartLoader\");\n    scriptTV.addEventListener(\"load\", function() {\n        var chartid = \"6abe731a8950f\";<\/p>\n<p>        var companyName = \"DSV A\/S\";\n        if(companyName.length <=0){\n        companyName = \"DSV - CO\";\n        }\n        var code = \"DSV\";\n        var exchange = \"CO\";\n        var currency =\"DKK\";\n        var kursData = null;\n        var kursDataDate = null;\n        var chartHeight = \"\";\n        var chartWidth = \"250\"\n        var hidetitle = \"false\"\n        var hidelegend = \"false\"\n        let apiToken = \"za1j116n2273ab1vxukuh6\"\n        chartWidth = document.querySelector(`[data-chartid=\"${chartid}\"]`).offsetWidth\n        var chartData = [];\n        var timeframe = getTimeframe(\"1Y\");\n        var filter = \"adjusted_close\";\n        \n        httpGetAsync(\"https:\/\/api.leeway.tech\/api\/v1\/public\/historicalquotes\/\"+encodeURIComponent(code+\".\"+exchange)+\"?apitoken=\"+apiToken+\"&#038;filter=\"+filter+\"&#038;from=\"+timeframe.from+\"&#038;to=\"+timeframe.to, function (res) {\t\n            let newData = null;\n             chartData = newData = JSON.parse(res)\n            \/\/ chartData =  chartData.map(el=>{return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})\n             kursData = chartData[chartData.length-1].value\n             let options = { weekday: \"short\", year: \"numeric\", month: \"numeric\", day: \"numeric\" };\n             kursDataDate = chartData[chartData.length-1].time\n             let kursDate = new Date(kursDataDate.split(\"-\")[0], Number(kursDataDate.split(\"-\")[1])-1, kursDataDate.split(\"-\")[2]).toLocaleDateString(\"de-DE\", options)<\/p>\n<p>             renderTV(kursData,chartData,companyName,currency, Number(chartHeight), Number(chartWidth), code, exchange, kursDate, hidetitle, hidelegend, chartid)\n        });\n    });\n<\/script><\/p>\n<p>Das Management begann, ein Integrationsprotokoll zu definieren, um Zuk\u00e4ufe nach definierten Regeln z\u00fcgig in das DSV-System einzugliedern und Doppelgleisigkeiten abzustellen. Im Fokus stand dabei stets die Asset-Light-Philosophie. Mit der \u00dcbernahme der DFDS Dan Transport Group im Jahr 2000 vervierfachte sich DSV und entwickelte sich zu einem globalen Logistikplayer. Mit dem erweiterten Leistungsportfolio deckte das Unternehmen nun auch Luft- und Seefracht ab und erhielt direkten Zugang zu den Weltm\u00e4rkten. Damit entstand auch die Grundlage f\u00fcr die heutige Aufteilung in 3 Divisionen: Road mit 32 Prozent, Air &amp; Sea mit 56 Prozent und Contract Logistics mit 18 Prozent.<\/p>\n<h3>Konsolidierung als Weg zur globalen Marktf\u00fchrerschaft<\/h3>\n<p>DSV folgte bei \u00dcbernahmen stets einem klaren Prinzip: M\u00e4rkte, Netzwerke und Kundenvertr\u00e4ge werden \u00fcbernommen, w\u00e4hrend die operative Integration konsequent \u00fcber die eigene IT-Infrastruktur gesteuert wird. So entstehen Synergien, eine einheitliche Datenbasis \u00fcber alle globalen Aktivit\u00e4ten hinweg und die Grundlage f\u00fcr Skaleneffekte sowie Margenoptimierung.<\/p>\n<p>Die Internationalisierung setzte sich mit entscheidenden \u00dcbernahmen von UTi Worldwide, Panalpina und Global Integrated Logistics fort. Dadurch st\u00e4rkte DSV seine Position in Luft- und Seefracht, Zollabwicklung, Kontraktlogistik sowie in Wachstumsm\u00e4rkten wie den USA, Afrika und dem Nahen Osten. Letztlich besiegelte die \u00dcbernahme von DB Schenker DSVs f\u00fchrende Position als gr\u00f6\u00dfter Frachtf\u00fchrer der Welt.<\/p>\n<h3>Margenst\u00e4rke und antizyklisches Bewertungspotenzial<\/h3>\n<p>Margenentwicklung im Fokus: Statt kurzfristige Quartalsergebnisse zu stark zu gewichten, die durch \u00dcbernahmen und die Zyklizit\u00e4t der Branche h\u00e4ufig verzerrt werden, lohnt sich bei DSV vor allem der Blick auf Margenentwicklung und Kapitalrenditen. In den vergangenen 10 Jahren konnte DSV die Bruttomarge um 6 Prozentpunkte steigern; heute bel\u00e4uft sie sich auf 27 Prozent. Von 2024 auf 2025 gelang sogar ein Anstieg um 4 Prozentpunkte, obwohl die Synergien aus der DB-Schenker-\u00dcbernahme erst bis Ende 2026 greifen. Diese Tatsache er\u00f6ffnet weiteres Potenzial f\u00fcr Margenverbesserungen.<\/p>\n<div data-elementor-type=\"section\" data-elementor-id=\"66258\" class=\"elementor elementor-66258\" data-elementor-post-type=\"elementor_library\">\n<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6a31268 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6a31268\" data-element_type=\"section\" data-e-type=\"section\">\n<div class=\"elementor-container elementor-column-gap-default\">\n<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d8de066\" data-id=\"d8de066\" data-element_type=\"column\" data-e-type=\"column\">\n<div class=\"elementor-widget-wrap elementor-element-populated\">\n<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-d76eb4c elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d76eb4c\" data-element_type=\"section\" data-e-type=\"section\" data-settings='{\"background_background\":\"classic\"}'>\n<div class=\"elementor-container elementor-column-gap-default\">\n<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ca0c4b8\" data-id=\"ca0c4b8\" data-element_type=\"column\" data-e-type=\"column\">\n<div class=\"elementor-widget-wrap elementor-element-populated\">\n<div class=\"elementor-element elementor-element-e160fbf elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"e160fbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2000\" height=\"2000\"src=\"https:\/\/news.abusizz.ch\/wp-content\/uploads\/2026\/10\/DSV-Aktie-Durch-konsequente-Akquisitionen-zur-globalen-Logistikspitze.png\" class=\"attachment-full size-full wp-image-78515\" alt=\"Smartbroker Dashboard \/ Quelle: Smartbroker Presse\" srcset=\"https:\/\/news.abusizz.ch\/wp-content\/uploads\/2026\/10\/DSV-Aktie-Durch-konsequente-Akquisitionen-zur-globalen-Logistikspitze.png 2000w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-300x300.png 300w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-1024x1024.png 1024w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-150x150.png 150w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-768x768.png 768w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-1536x1536.png 1536w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-80x80.png 80w\" sizes=\"(max-width: 2000px) 100vw, 2000px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-b89ab12\" data-id=\"b89ab12\" data-element_type=\"column\" data-e-type=\"column\">\n<div class=\"elementor-widget-wrap elementor-element-populated\">\n<div class=\"elementor-element elementor-element-a2c7edf elementor-absolute elementor-widget elementor-widget-text-editor\" data-id=\"a2c7edf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings='{\"_position\":\"absolute\"}' data-widget_type=\"text-editor.default\">\n<div class=\"elementor-widget-container\">\n<p style=\"font-size: 12px; color: #999999; text-align: center;\">Anzeige<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-4f36c6a elementor-widget elementor-widget-heading\" data-id=\"4f36c6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n<div class=\"elementor-widget-container\">\n<h5 class=\"elementor-heading-title elementor-size-default\">Bei anderen Depots investieren Sie in Ordergeb\u00fchren, bei Smartbroker+ in Ihren Verm\u00f6gensaufbau.<\/h5>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-e6be341 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"e6be341\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n<div class=\"elementor-widget-container\">\n<ul class=\"elementor-icon-list-items\">\n<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\"><br \/>\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">kostenlose Depotf\u00fchrung<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\"><br \/>\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Ordergeb\u00fchren ab 0\u20ac<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\"><br \/>\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">kostenlose ETF-Sparpl\u00e4ne<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-90958e7 elementor-widget elementor-widget-html\" data-id=\"90958e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n<div class=\"elementor-widget-container\">\n<div class=\"button-container\">\n        <a class=\"box-affiliate\" href=\"https:\/\/www.ftd.de\/go\/smartbroker-depot\/\" target=\"_blank\">Zu Smartbroker*<\/a><\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section><\/div>\n<p>Gewinnentwicklung und antizyklische Chance: Auch die Gewinnentwicklung unterstreicht die St\u00e4rke des Gesch\u00e4ftsmodells. In den vergangenen 10 Jahren stiegen die Gewinne durchschnittlich um 18 Prozent pro Jahr. Aktion\u00e4re wurden mit einer j\u00e4hrlichen Rendite von 15,5 Prozent belohnt. Da sich in den letzten 5 Jahren die Zyklizit\u00e4t der Branche st\u00e4rker bemerkbar machte, folgte nach einem deutlichen Gewinnanstieg in der Pandemie eine Gewinnkompression, wobei der Gewinn im Mittel um 15 Prozent gesteigert wurde. Genau aus der aktuellen zyklischen Schw\u00e4che heraus ergibt sich eine antizyklische Chance, bevor die Integration von Schenker auf den Gewinn wirkt und der Markt wieder an Dynamik gewinnt.<\/p>\n<h3>Agenda 2030: Technologie, KI und Effizienzhebel<\/h3>\n<p>Um den Ausblick abzurunden, soll auch die strategische Vision f\u00fcr Ende 2030 unter dem Titel \u201eLeverage to Lead\u201c erw\u00e4hnt werden. Ziel ist es, den Gr\u00f6\u00dfenvorteil in einen dauerhaften technologischen Vorsprung zu verwandeln. Daf\u00fcr investiert DSV massiv in die eigene Enterprise Data Platform und in die Anwendung von KI. Dazu geh\u00f6ren auch eine gezielte Routenplanung mithilfe von Algorithmen f\u00fcr die t\u00e4gliche Flotte, die rund 20.000 Lkw umfasst, sowie Automatisierung in der Kontraktlogistik mit autonomen Inventurdrohnen. Bis 2030 erwartet DSV dadurch Produktivit\u00e4tssteigerungen von rund 9 Milliarden D\u00e4nischen Kronen. Das entspricht einer Margenverbesserung um weitere 4 Prozentpunkte.<\/p>\n<h3>Bewertung: Attraktiv, aber abh\u00e4ngig vom n\u00e4chsten Wachstumsschritt<\/h3>\n<p>Derzeit verarbeitet die DSV-Aktie in einer volatilen Seitw\u00e4rtsphase die Kurs\u00fcbertreibung aus den Corona-Jahren. Damit nimmt schrittweise auch die Bewertung ab, die sich beim n\u00e4chsten Wirtschaftsaufschwung und durch Synergieeffekte verbessern kann. F\u00fcr den Weltmarktf\u00fchrer wird aktuell ein erwartetes KGV von 20 bezahlt. Hinzu kommt eine FCF-Rendite von 7 Prozent sowie der Ausblick auf steigende Margen durch Synergieeffekte und technologische Optimierungen. In den n\u00e4chsten Jahren wird sich DSV st\u00e4rker auf die technologischen Hebel konzentrieren, w\u00e4hrend die teuren Akquisitionen in gewohnter Manier in Kapitalrenditen f\u00fcr Aktion\u00e4re \u00fcberf\u00fchrt werden sollen.<\/p>\n<p>Der Beitrag <a href=\"https:\/\/www.ftd.de\/boerse\/aktien\/dsv-aktie-durch-konsequente-akquisitionen-zur-globalen-logistikspitze\/\">DSV Aktie: Durch konsequente Akquisitionen zur globalen Logistikspitze<\/a> erschien zuerst auf <a href=\"https:\/\/www.ftd.de\/\">ftd.de<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Die historische \u00dcbernahme von DB Schenker festigt die Position von DSV als gr\u00f6\u00dfter globaler Logistikanbieter. (Foto: Magnific.com, KimSunHo) Der d\u00e4nische Logistiker DSV blickt auf eine 50-j\u00e4hrige Erfolgsgeschichte zur\u00fcck. Aus einem kleinen Konsortium aus Frachtf\u00fchrern wurde der gr\u00f6\u00dfte Transportanbieter der Welt. Besiegelt wurde diese Marktstellung durch die \u00dcbernahme von DB Schenker f\u00fcr rund 106 Milliarden D\u00e4nische [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":144374,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[22,1],"tags":[],"class_list":["post-144373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ft","category-topstory"],"_links":{"self":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts\/144373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/comments?post=144373"}],"version-history":[{"count":0,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts\/144373\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/media\/144374"}],"wp:attachment":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/media?parent=144373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/categories?post=144373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/tags?post=144373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}