{"id":270,"date":"2026-08-23T15:39:41","date_gmt":"2026-08-23T15:39:41","guid":{"rendered":"https:\/\/tobolist.com\/?page_id=270"},"modified":"2026-08-30T19:33:34","modified_gmt":"2026-08-30T19:33:34","slug":"cases","status":"publish","type":"page","link":"https:\/\/tobolist.com\/es\/cases\/","title":{"rendered":"Trabajo"},"content":{"rendered":"\n<!-- =====================================================================\n     TOBOLIST \u00b7 \/cases\/ (Work) \u00b7 MARCADO v2\n     ---------------------------------------------------------------------\n     SUSTITUYE POR COMPLETO al bloque HTML actual de la pagina Work.\n     Borra el contenido del bloque existente y pega este entero.\n\n     Cambios respecto a la v1:\n       \u00b7 Los cinco casos reales, enlazados a sus URLs.\n       \u00b7 Fuera las metricas inventadas. La columna derecha muestra\n         ahora las capacidades implicadas, que si son verificables en\n         cada pagina de caso.\n       \u00b7 Fuera la seccion \"How we write these\": prometia seis\n         apartados que los casos publicados no tienen.\n       \u00b7 Nueva matriz de capacidades y nueva seccion de stack.\n       \u00b7 FAQ reescrita entera: seis objeciones reales de compra en vez\n         de seis preguntas sobre confidencialidad.\n\n     Sin <style>. Sin <script> ejecutable. El unico <script> es el\n     JSON-LD del final, que es DATOS.\n     ===================================================================== -->\n\n<div class=\"tb-next tb-page tb-work\">\n\n  <nav class=\"tb-nav\" aria-label=\"Main\">\n    <a class=\"tb-nav-brand\" href=\"\/\" aria-label=\"Tobolist - home\">\n      <svg viewBox=\"0 0 402 58\" role=\"img\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n      <path fill=\"currentColor\" d=\"M 203.97 1.55 C 204.73 3.77 205.5 5.96 206.26 8.13 C 207.02 10.3 207.76 12.55 208.47 14.88 C 208.06 14.98 207.68 15.11 207.32 15.26 C 207.02 15.42 206.66 15.55 206.26 15.65 C 205.29 13.48 204.35 11.72 203.43 10.38 C 202.57 8.99 201.7 7.88 200.84 7.05 C 199.72 6.02 198.4 5.32 196.87 4.96 C 195.34 4.6 193.84 4.41 192.37 4.41 C 189.42 4.41 187.48 4.65 186.57 5.11 C 185.55 5.58 185.04 6.51 185.04 7.9 L 185.04 49.04 C 185.04 50.54 185.6 51.59 186.72 52.21 C 187.74 52.78 189.95 53.07 193.36 53.07 L 193.36 55.55 L 171.84 55.55 L 171.84 53.07 C 174.89 53.07 176.95 52.81 178.02 52.29 C 179.45 51.62 180.16 50.54 180.16 49.04 L 180.16 7.28 C 180.16 6.2 179.75 5.45 178.94 5.04 C 178.18 4.62 176.62 4.41 174.28 4.41 C 172.5 4.41 170.67 4.57 168.79 4.88 C 166.96 5.19 165.38 5.91 164.05 7.05 C 163.5 7.52 162.96 8.08 162.45 8.75 C 161.95 9.38 161.36 10.2 160.7 11.23 C 160.29 11.91 159.91 12.57 159.55 13.25 C 159.2 13.87 158.82 14.54 158.41 15.26 C 158.11 15.11 157.8 14.98 157.49 14.88 C 157.24 14.72 156.96 14.56 156.65 14.41 C 157.42 12.24 158.18 10.1 158.94 7.98 C 159.71 5.86 160.47 3.72 161.23 1.55 Z M 203.97 1.55 \"\/>\n      <path fill=\"currentColor\" d=\"M 234.5 37.96 C 234.5 43.74 232.88 48.37 229.62 51.83 C 226.52 55.29 222.55 57.02 217.71 57.02 C 212.83 57.02 208.84 55.29 205.73 51.83 C 202.48 48.37 200.85 43.74 200.85 37.96 C 200.85 32.18 202.48 27.55 205.73 24.09 C 208.84 20.63 212.83 18.9 217.71 18.9 C 222.55 18.9 226.52 20.63 229.62 24.09 C 232.88 27.55 234.5 32.18 234.5 37.96 Z M 229.31 37.96 C 229.31 33.21 228.19 29.31 225.95 26.26 C 223.87 23.21 221.12 21.69 217.71 21.69 C 214.36 21.69 211.55 23.21 209.32 26.26 C 207.13 29.31 206.04 33.21 206.04 37.96 C 206.04 42.66 207.11 46.56 209.24 49.66 C 211.43 52.65 214.25 54.15 217.71 54.15 C 221.02 54.15 223.77 52.65 225.95 49.66 C 228.19 46.61 229.31 42.71 229.31 37.96 Z M 229.31 37.96 \"\/>\n      <path fill=\"currentColor\" d=\"M 269.72 37.8 C 269.72 43.43 268.14 48 264.99 51.52 C 263.52 53.17 261.89 54.46 260.11 55.39 C 258.38 56.37 256.37 56.86 254.08 56.86 C 249.65 56.86 246.04 55.52 243.24 52.83 C 242.83 53.35 242.45 53.84 242.09 54.3 C 241.79 54.82 241.43 55.34 241.03 55.86 L 239.27 55.86 L 239.27 9.3 C 239.27 8.16 239.02 7.36 238.51 6.89 C 238 6.38 236.78 6.12 234.84 6.12 C 234.79 5.86 234.74 5.58 234.69 5.27 C 234.64 4.96 234.59 4.68 234.54 4.41 C 236.17 3.8 237.75 3.18 239.27 2.55 C 240.8 1.94 242.35 1.32 243.93 0.7 L 243.93 22 C 246.42 19.93 249.8 18.9 254.08 18.9 C 258.76 18.9 262.52 20.58 265.37 23.94 C 268.27 27.35 269.72 31.97 269.72 37.8 Z M 264.61 37.88 C 264.61 33.18 263.52 29.39 261.33 26.5 C 260.26 25.1 258.96 24.02 257.43 23.24 C 255.96 22.46 254.28 22.08 252.4 22.08 C 249.14 22.08 246.32 23.27 243.93 25.64 L 243.93 49.81 C 246.27 52.34 249.09 53.61 252.4 53.61 C 255.8 53.61 258.71 52.09 261.1 49.04 C 263.44 46.2 264.61 42.48 264.61 37.88 Z M 264.61 37.88 \"\/>\n      <path fill=\"currentColor\" d=\"M 308.05 37.96 C 308.05 43.74 306.42 48.37 303.16 51.83 C 300.06 55.29 296.09 57.02 291.26 57.02 C 286.37 57.02 282.38 55.29 279.27 51.83 C 276.02 48.37 274.39 43.74 274.39 37.96 C 274.39 32.18 276.02 27.55 279.27 24.09 C 282.38 20.63 286.37 18.9 291.26 18.9 C 296.09 18.9 300.06 20.63 303.16 24.09 C 306.42 27.55 308.05 32.18 308.05 37.96 Z M 302.86 37.96 C 302.86 33.21 301.74 29.31 299.5 26.26 C 297.41 23.21 294.66 21.69 291.26 21.69 C 287.9 21.69 285.1 23.21 282.86 26.26 C 280.68 29.31 279.58 33.21 279.58 37.96 C 279.58 42.66 280.65 46.56 282.79 49.66 C 284.97 52.65 287.8 54.15 291.26 54.15 C 294.56 54.15 297.31 52.65 299.5 49.66 C 301.74 46.61 302.86 42.71 302.86 37.96 Z M 302.86 37.96 \"\/>\n      <path fill=\"currentColor\" d=\"M 324.46 55.55 L 309.81 55.55 L 309.81 53.07 C 311.8 53.07 313.14 52.78 313.86 52.21 C 314.46 51.7 314.77 50.59 314.77 48.88 L 314.77 8.52 C 314.77 7.64 314.46 7.02 313.86 6.66 C 313.25 6.25 311.95 6.04 309.96 6.04 L 309.51 4.18 C 311.13 3.56 312.79 2.97 314.46 2.4 C 316.14 1.78 317.8 1.16 319.43 0.54 L 319.43 48.88 C 319.43 50.48 319.71 51.57 320.27 52.14 C 320.67 52.39 321.21 52.6 321.87 52.76 C 322.58 52.96 323.45 53.07 324.46 53.07 Z M 324.46 55.55 \"\/>\n      <path fill=\"currentColor\" d=\"M 340.23 4.34 C 340.23 5.58 339.82 6.61 339.01 7.44 C 338.19 8.26 337.18 8.68 335.95 8.68 C 334.84 8.68 333.89 8.26 333.13 7.44 C 332.42 6.61 332.06 5.58 332.06 4.34 C 332.06 3.1 332.44 2.07 333.21 1.24 C 333.97 0.41 334.89 0 335.95 0 C 337.18 0 338.19 0.41 339.01 1.24 C 339.82 2.07 340.23 3.1 340.23 4.34 Z M 343.81 55.62 L 329.54 55.62 L 329.54 53.07 C 331.63 53.07 332.98 52.76 333.59 52.14 C 334.1 51.67 334.35 50.82 334.35 49.58 L 334.35 27.27 C 334.35 26.13 334.12 25.36 333.66 24.95 C 333.11 24.48 331.76 24.25 329.62 24.25 L 329.31 22.54 L 339.01 18.82 L 339.01 49.58 C 339.01 51.03 339.23 51.93 339.69 52.29 C 340.36 52.81 341.73 53.07 343.81 53.07 Z M 343.81 55.62 \"\/>\n      <path fill=\"currentColor\" d=\"M 375.11 46.64 C 375.11 48.75 374.52 50.64 373.36 52.29 C 373.1 52.55 372.84 52.81 372.59 53.07 C 372.39 53.32 372.16 53.58 371.9 53.84 C 369.61 55.86 366.51 56.86 362.59 56.86 C 359.9 56.86 357.56 56.42 355.57 55.55 C 355.32 55.44 355.06 55.36 354.81 55.31 C 354.61 55.31 354.38 55.31 354.12 55.31 L 353.36 55.31 C 352.8 55.57 352.27 55.78 351.76 55.93 C 351.25 56.14 350.71 56.34 350.16 56.55 C 349.44 54.59 348.7 52.68 347.94 50.82 C 347.18 48.91 346.44 46.97 345.73 45.01 C 345.93 44.86 346.11 44.7 346.26 44.54 C 346.46 44.39 346.7 44.26 346.95 44.16 C 349.14 47.26 351.22 49.53 353.21 50.97 C 356.36 53.04 359.46 54.07 362.52 54.07 C 364.91 54.07 366.92 53.32 368.55 51.83 C 369.87 50.48 370.53 48.86 370.53 46.95 C 370.53 45.71 370.05 44.6 369.08 43.61 C 368.88 43.46 368.62 43.28 368.32 43.07 C 368.01 42.87 367.66 42.63 367.25 42.38 C 366.59 41.96 365.72 41.55 364.66 41.14 C 363.59 40.67 362.29 40.18 360.76 39.66 C 358.37 38.84 356.39 38.09 354.81 37.42 C 353.23 36.7 352.04 36 351.22 35.32 C 348.17 33.41 346.64 30.88 346.64 27.73 C 346.64 24.84 347.99 22.54 350.69 20.84 C 352.72 19.55 355.27 18.9 358.32 18.9 C 360.96 18.9 363.69 19.42 366.48 20.45 C 366.89 20.35 367.32 20.17 367.79 19.91 C 368.24 19.6 368.75 19.24 369.31 18.82 C 370.02 20.68 370.73 22.57 371.45 24.48 C 372.16 26.34 372.87 28.22 373.58 30.14 C 373.33 30.24 373.07 30.37 372.82 30.52 C 372.62 30.68 372.39 30.81 372.13 30.91 C 370.86 28.43 369.16 26.42 367.02 24.87 C 363.87 22.75 360.96 21.69 358.32 21.69 C 356.39 21.69 354.86 22.03 353.74 22.7 C 352.06 23.63 351.22 25.23 351.22 27.5 C 351.22 28.95 351.96 30.19 353.44 31.22 C 353.64 31.32 353.84 31.43 354.05 31.53 C 354.25 31.63 354.48 31.74 354.73 31.84 C 355.45 32.25 356.34 32.69 357.41 33.16 C 358.47 33.62 359.67 34.06 360.99 34.47 C 363.74 35.35 366 36.23 367.79 37.11 C 369.61 37.93 371.02 38.71 371.98 39.43 C 374.07 41.14 375.11 43.54 375.11 46.64 Z M 375.11 46.64 \"\/>\n      <path fill=\"currentColor\" d=\"M 396.65 47.95 C 396.91 48.16 397.14 48.34 397.34 48.5 C 397.59 48.65 397.85 48.8 398.1 48.96 C 397.19 51.13 395.94 52.94 394.36 54.38 C 392.58 56.09 390.65 56.94 388.56 56.94 C 385.82 56.94 383.73 55.93 382.3 53.92 C 381.9 53.2 381.57 52.37 381.31 51.44 C 381.06 50.51 380.93 49.48 380.93 48.34 L 380.93 22.7 L 374.98 22.7 L 374.98 20.22 C 377.73 20.22 379.76 19.16 381.08 17.04 C 382.56 14.62 383.3 11.16 383.3 6.66 L 385.59 6.66 L 385.59 19.68 L 395.58 19.68 L 395.58 22.7 L 385.59 22.7 L 385.59 48.88 C 385.59 51.62 387.01 52.99 389.86 52.99 C 392.15 52.99 394.41 51.31 396.65 47.95 Z M 396.65 47.95 \"\/>\n      <path fill=\"var(--tb-mark,#FF4001)\" d=\"M 102.74 0.61 L 30.22 0.61 C 15.14 0.61 2.91 13 2.91 28.29 L 2.91 29.11 C 2.91 44.4 15.14 56.8 30.22 56.8 L 102.74 56.8 C 117.82 56.8 130.05 44.4 130.05 29.11 L 130.05 28.29 C 130.05 13 117.82 0.61 102.74 0.61 Z M 117.73 45.16 C 113.47 49.48 107.8 51.86 101.78 51.86 C 95.75 51.86 90.08 49.48 85.82 45.16 C 84.41 43.72 83.19 42.11 82.21 40.38 C 78.98 34.67 72.98 31.15 66.5 31.14 L 66.48 31.14 C 60 31.14 54.01 34.65 50.77 40.35 C 49.79 42.09 48.56 43.7 47.12 45.16 C 42.86 49.48 37.2 51.86 31.17 51.86 C 25.14 51.86 19.47 49.48 15.21 45.16 C 6.41 36.24 6.41 21.72 15.21 12.8 C 19.48 8.48 25.14 6.11 31.17 6.11 C 37.2 6.11 42.87 8.48 47.12 12.8 C 48.56 14.25 49.79 15.87 50.77 17.61 C 54.01 23.31 60 26.82 66.48 26.82 L 66.5 26.82 C 72.99 26.81 78.98 23.29 82.21 17.59 C 83.19 15.85 84.41 14.24 85.82 12.8 C 90.09 8.48 95.75 6.11 101.78 6.11 C 107.8 6.11 113.48 8.48 117.73 12.8 C 122 17.12 124.34 22.87 124.34 28.98 C 124.34 35.09 122 40.84 117.73 45.16 Z M 117.73 45.16 \"\/>\n      <\/svg>\n    <\/a>\n    <ul class=\"tb-nav-links\">\n      <li><a href=\"\/services\/\">Services<\/a><\/li>\n      <li><a href=\"\/cases\/\" aria-current=\"page\">Work<\/a><\/li>\n      <li><a href=\"\/insights\/\">Insights<\/a><\/li>\n      <li><a href=\"\/about\/\">About<\/a><\/li>\n    <\/ul>\n    <a class=\"tb-nav-cta\" href=\"\/contact\/\">Contact<\/a>\n  <\/nav>\n\n\n  <!-- ============================================================\n       01 \u00b7 CABECERA\n       ============================================================ -->\n  <header class=\"tb-whead\">\n    <p class=\"tb-eyebrow-2\">Work<\/p>\n    <h1 class=\"tb-whead-h\">\n      Five projects. Same two people <em>on every one.<\/em>\n    <\/h1>\n    <p class=\"tb-lede\">\n      SAP warehouses, edge streaming, marketing attribution and automated data quality \u2014\n      across industrial, finance, telco and education. Every one of them needed at least two\n      of our three capabilities, which is the whole argument for having them in the same team.\n    <\/p>\n\n    <dl class=\"tb-wstats\">\n      <div>\n        <dt>Projects delivered<\/dt>\n        <dd>Five, across four sectors<\/dd>\n      <\/div>\n      <div>\n        <dt>Most common starting point<\/dt>\n        <dd>SAP data rebuilt by hand every month<\/dd>\n      <\/div>\n      <div>\n        <dt>Capabilities per project<\/dt>\n        <dd>Two of three, every time<\/dd>\n      <\/div>\n      <div>\n        <dt>People on your project<\/dt>\n        <dd>The two who scoped it<\/dd>\n      <\/div>\n    <\/dl>\n  <\/header>\n\n\n  <!-- ============================================================\n       02 \u00b7 INDICE DE CASOS\n       Filas anchas tipo registro. La columna derecha muestra los\n       SERVICIOS implicados, no una metrica: los casos publicados no\n       traen cifras, y poner una inventada aqui se detecta en la\n       primera llamada.\n       ============================================================ -->\n  <section class=\"tb-windex\" id=\"cases\">\n    <div class=\"tb-windex-top\">\n      <p class=\"tb-lead-label\">Selected work<\/p>\n      <p class=\"tb-windex-note\">Client names withheld where we do not yet have written permission.<\/p>\n    <\/div>\n\n    <div class=\"tb-wlist\">\n\n      <a class=\"tb-wrow\" href=\"\/case-industrial\/\">\n        <span class=\"tb-wrow-n\">01<\/span>\n        <div class=\"tb-wrow-main\">\n          <span class=\"tb-wrow-sector\">Industrial<\/span>\n          <h2 class=\"tb-wrow-h\">Automated recognized revenue and analytical P&amp;L<\/h2>\n          <p class=\"tb-wrow-d\">\n            Financial and hiring reports lived inside SAP and were rebuilt by hand every\n            month \u2014 days of work before anyone trusted the numbers. We modelled the raw SAP\n            tables into a Databricks warehouse feeding live Power BI dashboards the finance\n            team reads directly.\n          <\/p>\n          <ul class=\"tb-tags\">\n            <li>SAP<\/li><li>Databricks<\/li><li>Power BI<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"tb-wrow-side\">\n          <span class=\"tb-wrow-mk\">Capabilities<\/span>\n          <ul class=\"tb-wrow-svc\">\n            <li>Data architecture<\/li>\n            <li>Business intelligence<\/li>\n          <\/ul>\n          <span class=\"tb-wrow-go\">Read the case <i aria-hidden=\"true\">&rarr;<\/i><\/span>\n        <\/div>\n      <\/a>\n\n      <a class=\"tb-wrow\" href=\"\/case-finance\/\">\n        <span class=\"tb-wrow-n\">02<\/span>\n        <div class=\"tb-wrow-main\">\n          <span class=\"tb-wrow-sector\">Finance<\/span>\n          <h2 class=\"tb-wrow-h\">SAP accounting insights in Power BI<\/h2>\n          <p class=\"tb-wrow-d\">\n            Accounting data arrived as manual SAP dumps into Excel, uploaded to a local\n            server and crossed against the CRM by hand. We automated the export into\n            Databricks, modelled it against the CRM, and turned a monthly cost figure into\n            a daily one.\n          <\/p>\n          <ul class=\"tb-tags\">\n            <li>SAP ECC<\/li><li>Databricks<\/li><li>Spark<\/li><li>Power BI<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"tb-wrow-side\">\n          <span class=\"tb-wrow-mk\">Capabilities<\/span>\n          <ul class=\"tb-wrow-svc\">\n            <li>Data engineering<\/li>\n            <li>Business intelligence<\/li>\n          <\/ul>\n          <span class=\"tb-wrow-go\">Read the case <i aria-hidden=\"true\">&rarr;<\/i><\/span>\n        <\/div>\n      <\/a>\n\n      <a class=\"tb-wrow\" href=\"\/case-telco\/\">\n        <span class=\"tb-wrow-n\">03<\/span>\n        <div class=\"tb-wrow-main\">\n          <span class=\"tb-wrow-sector\">Telco<\/span>\n          <h2 class=\"tb-wrow-h\">Exploiting edge data<\/h2>\n          <p class=\"tb-wrow-d\">\n            Network health and OSS metrics sat scattered across edge devices with no unified\n            view, so problems surfaced only after they had already hit the network. We built\n            a real-time path from Node-RED at the edge through Kafka and PySpark into live\n            Grafana dashboards, across a hybrid on-premise and cloud setup.\n          <\/p>\n          <ul class=\"tb-tags\">\n            <li>Node-RED<\/li><li>Kafka<\/li><li>Airflow<\/li><li>PySpark<\/li><li>Grafana<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"tb-wrow-side\">\n          <span class=\"tb-wrow-mk\">Capabilities<\/span>\n          <ul class=\"tb-wrow-svc\">\n            <li>Data architecture<\/li>\n            <li>Data engineering<\/li>\n          <\/ul>\n          <span class=\"tb-wrow-go\">Read the case <i aria-hidden=\"true\">&rarr;<\/i><\/span>\n        <\/div>\n      <\/a>\n\n      <a class=\"tb-wrow\" href=\"\/case-education\/\">\n        <span class=\"tb-wrow-n\">04<\/span>\n        <div class=\"tb-wrow-main\">\n          <span class=\"tb-wrow-sector\">Education<\/span>\n          <h2 class=\"tb-wrow-h\">Modelling ROI and sales funnel from digital marketing<\/h2>\n          <p class=\"tb-wrow-d\">\n            Marketing data sat in parquet files with no foreign keys to join it to the\n            financial data, so nobody could say which campaigns paid for themselves. We built\n            the ETL from landing to gold and the relationships between the two verticals, then\n            surfaced the target KPIs in Power BI.\n          <\/p>\n          <ul class=\"tb-tags\">\n            <li>Databricks<\/li><li>Power BI<\/li><li>ETL<\/li><li>SEO data<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"tb-wrow-side\">\n          <span class=\"tb-wrow-mk\">Capabilities<\/span>\n          <ul class=\"tb-wrow-svc\">\n            <li>Data engineering<\/li>\n            <li>Business intelligence<\/li>\n          <\/ul>\n          <span class=\"tb-wrow-go\">Read the case <i aria-hidden=\"true\">&rarr;<\/i><\/span>\n        <\/div>\n      <\/a>\n\n      <a class=\"tb-wrow\" href=\"\/case-data-quality\/\">\n        <span class=\"tb-wrow-n\">05<\/span>\n        <div class=\"tb-wrow-main\">\n          <span class=\"tb-wrow-sector\">Data platform<\/span>\n          <h2 class=\"tb-wrow-h\">Data quality reporting powered by AI<\/h2>\n          <p class=\"tb-wrow-d\">\n            Quality problems went undetected until corrupted data had already reached the BI\n            layer. We centralised the signals from Azure Data Factory jobs, Databricks jobs\n            and table schemas behind the DQX framework, and used an LLM to turn the raw rule\n            output into reports the client&#8217;s team actually reads.\n          <\/p>\n          <ul class=\"tb-tags\">\n            <li>Azure Data Factory<\/li><li>Databricks<\/li><li>DQX<\/li><li>LLM<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"tb-wrow-side\">\n          <span class=\"tb-wrow-mk\">Capabilities<\/span>\n          <ul class=\"tb-wrow-svc\">\n            <li>Data architecture<\/li>\n            <li>Data engineering<\/li>\n          <\/ul>\n          <span class=\"tb-wrow-go\">Read the case <i aria-hidden=\"true\">&rarr;<\/i><\/span>\n        <\/div>\n      <\/a>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       03 \u00b7 MATRIZ DE CAPACIDADES\n       Sustituye a la seccion \"How we write these\", que prometia una\n       plantilla de seis apartados que los casos reales no cumplen.\n       Esto si es verificable: sale de la seccion \"Services involved\"\n       de cada caso, y demuestra de un vistazo el argumento central\n       de \/services\/ \u2014 que ningun proyecto real usa una sola\n       capacidad.\n       ============================================================ -->\n  <section class=\"tb-sec tb-matrix-sec\" id=\"capabilities\">\n    <p class=\"tb-lead-label\">Capabilities per project<\/p>\n    <h2 class=\"tb-h3\">No project used just one of the three.<\/h2>\n    <p class=\"tb-lede tb-lede-narrow\">\n      This is the argument for keeping architecture, engineering and BI in the same team,\n      shown rather than claimed. Every handover between these three is a place where a\n      project normally loses two weeks.\n    <\/p>\n\n    <div class=\"tb-matrix-wrap\">\n      <table class=\"tb-matrix\">\n        <caption class=\"tb-vh\">Which of the three capabilities each project required<\/caption>\n        <thead>\n          <tr>\n            <th scope=\"col\">Project<\/th>\n            <th scope=\"col\">Data architecture<\/th>\n            <th scope=\"col\">Data engineering<\/th>\n            <th scope=\"col\">Business intelligence<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr>\n            <th scope=\"row\"><span class=\"tb-mx-s\">Industrial<\/span> Recognized revenue &amp; P&amp;L<\/th>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-off\"><span aria-hidden=\"true\">&mdash;<\/span><span class=\"tb-vh\">No<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><span class=\"tb-mx-s\">Finance<\/span> SAP accounting in Power BI<\/th>\n            <td class=\"tb-mx-off\"><span aria-hidden=\"true\">&mdash;<\/span><span class=\"tb-vh\">No<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><span class=\"tb-mx-s\">Telco<\/span> Edge data in real time<\/th>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-off\"><span aria-hidden=\"true\">&mdash;<\/span><span class=\"tb-vh\">No<\/span><\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><span class=\"tb-mx-s\">Education<\/span> Marketing ROI modelling<\/th>\n            <td class=\"tb-mx-off\"><span aria-hidden=\"true\">&mdash;<\/span><span class=\"tb-vh\">No<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><span class=\"tb-mx-s\">Data platform<\/span> AI-powered quality reporting<\/th>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-on\"><span aria-hidden=\"true\">&#9679;<\/span><span class=\"tb-vh\">Yes<\/span><\/td>\n            <td class=\"tb-mx-off\"><span aria-hidden=\"true\">&mdash;<\/span><span class=\"tb-vh\">No<\/span><\/td>\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n\n    <p class=\"tb-matrix-foot\">\n      Read the three capabilities in detail:\n      <a href=\"\/services\/data-architecture\/\">data architecture<\/a>,\n      <a href=\"\/services\/data-engineering\/\">data engineering<\/a>,\n      <a href=\"\/services\/business-intelligence\/\">business intelligence<\/a>.\n    <\/p>\n  <\/section>\n\n\n  <!-- ============================================================\n       04 \u00b7 STACK\n       Denso en entidades a proposito. Es el tipo de contenido que un\n       motor generativo usa para conectar \"consultoria Databricks\n       Espana\" o \"SAP a Power BI\" con vosotros.\n       ============================================================ -->\n  <section class=\"tb-sec tb-stack-sec\" id=\"stack\">\n    <p class=\"tb-lead-label\">The stack behind these five<\/p>\n    <h2 class=\"tb-h3\">What we actually ran, not what we could list.<\/h2>\n\n    <div class=\"tb-stack-grid\">\n      <div class=\"tb-stack-col\">\n        <p class=\"tb-stack-k\">Sources<\/p>\n        <ul>\n          <li>SAP ECC<\/li><li>Local CRM<\/li><li>Node-RED edge devices<\/li>\n          <li>Parquet landing files<\/li><li>Azure Data Factory jobs<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"tb-stack-col\">\n        <p class=\"tb-stack-k\">Processing<\/p>\n        <ul>\n          <li>Databricks<\/li><li>Spark \/ PySpark<\/li><li>Kafka<\/li>\n          <li>Airflow<\/li><li>DQX quality rules<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"tb-stack-col\">\n        <p class=\"tb-stack-k\">Platform<\/p>\n        <ul>\n          <li>Azure<\/li><li>Medallion architecture<\/li><li>Delta tables<\/li>\n          <li>Hybrid on-prem \/ cloud<\/li><li>CI\/CD dev \u00b7 test \u00b7 prod<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"tb-stack-col\">\n        <p class=\"tb-stack-k\">Delivery<\/p>\n        <ul>\n          <li>Power BI<\/li><li>Grafana<\/li><li>Semantic models<\/li>\n          <li>LLM-generated reporting<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       05 \u00b7 PREGUNTAS\n       Reescritas por completo. Las anteriores respondian sobre\n       referencias y confidencialidad, y al hacerlo subrayaban lo que\n       falta: nombres de cliente y cifras auditadas. Estas responden\n       objeciones reales de compra que surgen justo al leer estos\n       cinco casos, cada una desde una posicion de fuerza.\n       ============================================================ -->\n  <section class=\"tb-sec tb-faq\" id=\"faq\">\n    <p class=\"tb-lead-label\">Questions<\/p>\n    <h2 class=\"tb-h3\">What people ask after reading these.<\/h2>\n\n    <div class=\"tb-faq-list\">\n\n      <details class=\"tb-q\">\n        <summary>Will connecting to our SAP slow down the ERP?<\/summary>\n        <div class=\"tb-a\">\n          <p>No. We extract on a schedule from the tables we need, outside business hours where the system allows it, and every transformation happens afterwards in Databricks \u2014 never inside SAP. Three of these five projects run on SAP ECC data. In none of them does the reporting layer add load to the ERP, because the ERP is only ever read from.<\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"tb-q\">\n        <summary>Our data is a mess. Do we need to clean it before you start?<\/summary>\n        <div class=\"tb-a\">\n          <p>No \u2014 that is the work, not a prerequisite. Marketing files with no keys to join on, accounting arriving as manual Excel dumps, quality problems nobody caught until they reached the dashboard: those are the starting conditions of three of these cases, not obstacles we asked the client to remove first. If your data were already clean you would not need us.<\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"tb-q\">\n        <summary>How soon do we see something working?<\/summary>\n        <div class=\"tb-a\">\n          <p>The first useful artefact is the current-state map, and that lands in the first two to three weeks. A first pipeline delivering data end to end typically follows within six to ten weeks of getting access. The variable that moves those dates is almost never technical \u2014 it is how long it takes to get credentials for the source systems.<\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"tb-q\">\n        <summary>Do we have to move to Databricks?<\/summary>\n        <div class=\"tb-a\">\n          <p>No. Databricks appears in four of these five because it fitted what those clients already had \u2014 mostly Microsoft estates with teams fluent in SQL. The telco project runs on Node-RED, Kafka and Grafana across a hybrid on-premise setup, and no Databricks at all. We are certified on Google Cloud and Azure and we build on AWS. The architecture follows your estate, not our preference.<\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"tb-q\">\n        <summary>What happens to the platform when you leave?<\/summary>\n        <div class=\"tb-a\">\n          <p>You own it, and your team runs it. Every project ends with documented transformations, CI\/CD across dev, test and production, and a technical handover session. We write the governance rules \u2014 naming, schema approval, alert routing \u2014 precisely so the platform survives us. A dependency on us would be a design failure, not a business model.<\/p>\n        <\/div>\n      <\/details>\n\n      <details class=\"tb-q\">\n        <summary>Can you work alongside our internal IT or data team?<\/summary>\n        <div class=\"tb-a\">\n          <p>That is the usual arrangement. In the industrial project the governance patterns existed specifically so the client&#8217;s own team could work in parallel without breaking production. We can take a defined scope end to end, or embed alongside your people on your roadmap and your tools. What we will not do is build something your team is then locked out of.<\/p>\n        <\/div>\n      <\/details>\n\n    <\/div>\n  <\/section>\n\n\n  <!-- ============================================================\n       06 \u00b7 CIERRE EN NARANJA\n       ============================================================ -->\n  <section class=\"tb-wcta\">\n    <div class=\"tb-wcta-panel\">\n      <div class=\"tb-wcta-l\">\n        <p class=\"tb-wcta-k\">Start here<\/p>\n        <h2 class=\"tb-wcta-h\">If one of these looked familiar, it probably was.<\/h2>\n      <\/div>\n      <div class=\"tb-wcta-r\">\n        <p class=\"tb-wcta-d\">\n          Manual closes, data that only agrees with itself by accident, dashboards nobody\n          trusts. Thirty minutes, no slides. We will tell you what we would do, roughly what\n          it costs, and whether you need us at all.\n        <\/p>\n        <a class=\"tb-wcta-btn\" href=\"\/contact\/\">\n          Start a conversation\n          <svg width=\"15\" height=\"11\" viewBox=\"0 0 15 11\" fill=\"none\" aria-hidden=\"true\">\n            <path d=\"M1 5.5h12M9 1l4 4.5L9 10\" stroke=\"#0A0A0A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n          <\/svg>\n        <\/a>\n        <p class=\"tb-wcta-f\">\n          Or see <a href=\"\/services\/\">the three capabilities<\/a> these projects came from.\n        <\/p>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<!-- =====================================================================\n     DATOS ESTRUCTURADOS \u00b7 FAQPage\n     ---------------------------------------------------------------------\n     JSON-LD: datos, no codigo ejecutable. Si tocas una pregunta arriba,\n     tocala tambien aqui. Y NO actives el esquema FAQ de Rank Math en\n     esta pagina.\n     ===================================================================== -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Will connecting a reporting platform to our SAP slow down the ERP?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. We extract on a schedule from the tables we need, outside business hours where the system allows it, and every transformation happens afterwards in Databricks \u2014 never inside SAP. The ERP is only ever read from, so the reporting layer adds no load to it.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do we need to clean our data before a data engineering project starts?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No \u2014 that is the work, not a prerequisite. Marketing files with no keys to join on, accounting arriving as manual Excel dumps, and quality problems nobody caught until they reached the dashboard are typical starting conditions, not obstacles the client has to remove first.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How soon does a data project deliver something usable?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The first useful artefact is the current-state map, which lands in the first two to three weeks. A first pipeline delivering data end to end typically follows within six to ten weeks of getting access. The variable that moves those dates is almost never technical \u2014 it is how long it takes to get credentials for the source systems.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do we have to move to Databricks?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. Databricks fits Microsoft estates with teams fluent in SQL, which is why it appears in most of our projects, but our telco work runs on Node-RED, Kafka and Grafana across a hybrid on-premise setup with no Databricks at all. We are certified on Google Cloud and Azure and we build on AWS. The architecture follows your estate.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What happens to the data platform when the consultancy leaves?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"You own it and your team runs it. Every project ends with documented transformations, CI\/CD across dev, test and production, and a technical handover session. Governance rules for naming, schema approval and alert routing exist precisely so the platform survives the consultancy.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can you work alongside our internal IT or data team?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"That is the usual arrangement. Governance patterns are designed so the client's own team can work in parallel without breaking production. We can take a defined scope end to end, or embed alongside your people on your roadmap and your tools.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-270","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/pages\/270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/comments?post=270"}],"version-history":[{"count":3,"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/pages\/270\/revisions"}],"predecessor-version":[{"id":363,"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/pages\/270\/revisions\/363"}],"wp:attachment":[{"href":"https:\/\/tobolist.com\/es\/wp-json\/wp\/v2\/media?parent=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}