Media AdTech Case Study

Advertising Forecasting & Inventory

Come ho contribuito al gestionale che permette di prevedere e gestire l'inventory pubblicitario online per grandi testate editoriali. Un frontend React/TypeScript su dati aggregati in Elasticsearch e backend Node.js: gli spazi adv di testate come Corriere della Sera e Gazzetta dello Sport diventano disponibilita interrogabili in tempo quasi reale.

Mariano Matera RCS (Corriere della Sera) Sviluppo frontend / full-stack 8 min lettura
Gestionale di forecasting dell'inventory pubblicitario online per RCS - dashboard di disponibilita spazi adv
Vista di sintesi del gestionale di forecasting dell'inventory pubblicitario (progetto RCS, Corriere della Sera).
Centralizzato

Gestione inventory

Forecasting

Previsione disponibilita

Enterprise

Gruppo editoriale primario

Il Contesto

Il progetto e stato realizzato per RCS (Corriere della Sera), gruppo editoriale italiano di primaria importanza, e copre l'inventory pubblicitario online di testate come Corriere della Sera e Gazzetta dello Sport. In una concessionaria di questa scala l'inventory, cioe lo stock di spazi pubblicitari disponibili, e un asset finanziario a tutti gli effetti: ogni posizione (homepage, sezioni verticali, formati video, native) ha un volume di impression atteso che varia per giorno, fascia oraria, dispositivo e geografia.

Il team commerciale deve poter rispondere a una domanda semplice ma costosa da calcolare: "per questa campagna, su queste sezioni, in queste date, quante impression posso ancora vendere senza sovrascrivere prenotazioni gia confermate?". Ho lavorato come sviluppatore frontend / full-stack sul gestionale che risponde a questa domanda, con focus sulla UI di forecasting e sul layer di interrogazione dei dati. Per riservatezza non vengono divulgati volumi, tariffe o dati di vendita reali.

Il Problema

Prima di un gestionale dedicato, la previsione di disponibilita dell'inventory poggiava su strumenti frammentati ed estrazioni manuali. Questo generava tre criticita ricorrenti, tipiche delle concessionarie editoriali di grandi dimensioni:

  • Frammentazione dei dati: le impression erogate vivevano nei log dell'ad server, le prenotazioni in un altro sistema, i dati anagrafici delle sezioni in un terzo. Ricostruire la disponibilita reale di una posizione richiedeva incrociare fonti diverse a mano.
  • Lentezza nella risposta al cliente: ogni richiesta di availability per una campagna significativa poteva richiedere ore, con il rischio concreto di promettere spazi gia impegnati (overbooking) o di lasciare invenduto inventory disponibile.
  • Forecasting non interrogabile in tempo reale: le proiezioni vivevano in fogli e report statici, non in un'interfaccia che il commerciale potesse interrogare in autonomia filtrando per testata, sezione, formato e periodo.

L'obiettivo era centralizzare la gestione dell'inventory in un unico gestionale e trasformare il forecasting da report statico a vista interattiva, in modo che chiunque in area commerciale potesse stimare la disponibilita residua su un orizzonte di settimane o mesi senza passare dall'IT.

La Soluzione

L'architettura ad alto livello e quella classica di un gestionale data-intensive: un layer di aggregazione che precalcola i dati pesanti, un'API che li espone in modo coerente e un frontend che li rende navigabili e interrogabili.

Layer di aggregazione su Elasticsearch

Il cuore della performance e Elasticsearch: i volumi di impression e le prenotazioni vengono indicizzati e pre-aggregati per dimensione (testata, sezione, formato, periodo, dispositivo). Calcolare la disponibilita residua non significa scansionare miliardi di righe a runtime, ma interrogare aggregazioni gia pronte. Le query di forecasting sfruttano date histogram e aggregazioni annidate per restituire serie temporali di disponibilita in millisecondi, anche su orizzonti lunghi.

Backend Node.js e modello dati su MySQL

Un backend Node.js orchestra le query Elasticsearch, applica le regole di business (overbooking, priorita, sezioni escluse) e normalizza i risultati in un contratto API stabile per il frontend. I dati anagrafici e relazionali - listino sezioni, configurazioni, prenotazioni confermate - vivono su MySQL, mentre Elasticsearch resta la fonte per le interrogazioni analitiche ad alto volume.

Frontend React/TypeScript con stato prevedibile

L'interfaccia e una SPA in React tipizzata end-to-end con TypeScript. Lo stato applicativo - filtri attivi, selezione di testata e sezioni, risultati di forecasting, prenotazioni in corso di simulazione - e gestito con Redux Toolkit, scelta deliberata per un dominio dove molte viste condividono e mutano gli stessi dati. Il commerciale costruisce uno scenario (campagna, sezioni, date) e vede la disponibilita aggiornarsi, con tabelle e grafici di proiezione che rendono leggibile l'inventory residuo posizione per posizione.

Tecnologie Chiave

Lo stack e stato scelto per reggere volumi editoriali enterprise mantenendo un frontend tipizzato e manutenibile nel tempo.

TypeScript

Tipizzazione end-to-end del dominio inventory: contratti API e modelli condivisi senza ambiguita.

TypeScript

Elasticsearch

Aggregazioni e date histogram sull'inventory: forecasting in millisecondi su grandi volumi di impression.

Elasticsearch

MySQL

Sorgente relazionale per anagrafiche sezioni, configurazioni e prenotazioni confermate.

MySQL

Node.js

Backend che orchestra le query, applica le regole di overbooking e normalizza i risultati per la UI.

Node.js

React

SPA del gestionale: viste di forecasting, tabelle dense e grafici di disponibilita interattivi.

React

Redux Toolkit

Stato applicativo prevedibile dove filtri e risultati di forecasting sono condivisi tra molte viste.

Redux Toolkit

Il Risultato

Il gestionale ha portato la previsione e la gestione dell'inventory in un unico strumento interrogabile dall'area commerciale. I risultati sintetizzati di seguito sono indicativi e stimati, riferiti a un progetto enterprise soggetto a riservatezza: non rappresentano metriche di vendita verificate del cliente.

Centralizzato

Gestione inventory in un unico gestionale, fine della frammentazione tra sistemi.

Forecasting

Previsione disponibilita interattiva per testata, sezione, formato e periodo.

Enterprise

In produzione per un gruppo editoriale italiano di primaria importanza.

Nota: le voci sopra sono indicative e stimate, su progetto soggetto a riservatezza. Volumi di impression, tariffe e dati di vendita reali non vengono divulgati.

Sfide Tecniche

Forecasting reattivo su volumi editoriali

La sfida principale era restituire una proiezione di disponibilita su orizzonti lunghi senza far attendere il commerciale. Calcolare a runtime la disponibilita residua di una sezione su mesi di impression sarebbe stato proibitivo. La soluzione e stata spostare il peso sull'indicizzazione: dati pre-aggregati in Elasticsearch per le dimensioni rilevanti e query basate su date histogram e aggregazioni annidate, cosi che il backend Node.js componesse la risposta combinando aggregati gia pronti invece di scansionare i dati grezzi. Il risultato e un forecasting che risponde in modo interattivo anche cambiando i filtri di continuo.

Stato complesso e tipizzato lato frontend

La seconda sfida era gestire un frontend dove molte viste leggono e modificano gli stessi dati: filtri, selezione di sezioni, scenario di campagna simulato e risultati di forecasting devono restare coerenti. Affidarsi allo stato locale dei componenti avrebbe generato duplicazione e bug di sincronizzazione. La scelta e stata Redux Toolkit come singola fonte di verita, con tutto il dominio descritto in TypeScript: i tipi rendono espliciti i contratti tra API e UI e fanno emergere a compile time gli errori che altrimenti sarebbero arrivati a runtime davanti al commerciale.

Servizi Correlati

Se hai un gestionale data-intensive da costruire o modernizzare, questi contenuti approfondiscono metodo e ambito di intervento:

Per il profilo professionale e l'esperienza nello sviluppo di gestionali e dashboard vedi la pagina Chi sono; per gli altri lavori vedi il portfolio completo.

Hai un Gestionale Simile da Costruire?

Se stai progettando un gestionale data-intensive - forecasting, dashboard enterprise, applicazioni su grandi volumi di dati - posso aiutarti a definire architettura, stack e tempi con una consulenza gratuita e senza impegno.

Richiedi Consulenza Gratuita
Scrivimi su WhatsApp