Il Metodo Brutale dello sconto: la simulazione che ti dice se il Natale ti sta uccidendo

Sconti e margini in calo

This post has already been read 6 times!

C’è un momento, durante la pianificazione delle campagne natalizie, in cui qualcuno propone uno sconto del 20%, qualcun altro suggerisce di arrivare al 30% per contrastare la concorrenza e il responsabile marketing comincia a preparare banner, newsletter, campagne Meta e Google Ads.

Tutti sembrano avere un’opinione sulla percentuale di sconto. Quasi nessuno, però, pone la domanda economicamente più importante: quanti prodotti in più dobbiamo vendere per compensare il margine che stiamo regalando ai clienti?

È qui che comincia il Metodo Brutale dello sconto.

Non è un metodo per decidere se fare o meno una promozione, perché gli sconti possono essere strumenti commerciali perfettamente razionali, ma un modello quantitativo per stabilire quando una campagna promozionale smette di essere un investimento e diventa un modo particolarmente efficiente per ridurre la marginalità.

Il Natale è un ottimo momento per applicarlo, perché concentra in poche settimane una quantità significativa di decisioni commerciali, aspettative di fatturato e pressioni competitive. In questo periodo, la tentazione di aumentare gli sconti per inseguire i concorrenti può diventare particolarmente forte, soprattutto quando le vendite sembrano dipendere dalla capacità di proporre prezzi sempre più aggressivi.

Il problema è che una promozione può funzionare molto bene dal punto di vista commerciale e rivelarsi un insuccesso dal punto di vista economico.

Il mercato cresce, ma questo non significa che crescano i tuoi margini

Partiamo da alcuni dati.

Secondo le stime dell’Osservatorio eCommerce B2c Netcomm – School of Management del Politecnico di Milano, diffuse il 4 novembre 2026, durante la settimana del Black Friday gli italiani spenderanno online circa 4,3 miliardi di euro, con una crescita del 6% rispetto al 2025. La stima comprende 44,3 milioni di pacchi in circolazione nei 13 giorni di offerte.

Un altro dato merita particolare attenzione: la percentuale media di sconto applicata dai merchant nel 2026 è stimata intorno al 25%.

Sono numeri che descrivono un mercato promozionale estremamente competitivo, nel quale una parte consistente della domanda viene concentrata in finestre commerciali caratterizzate da forti riduzioni di prezzo.

Fonte: Osservatorio eCommerce B2c, Politecnico di Milano, novembre 2026.

La crescita del mercato, tuttavia, non coincide necessariamente con la crescita della redditività della singola azienda.

Un negozio online può aumentare gli ordini, raggiungere un nuovo record di fatturato e contemporaneamente ottenere un risultato economico peggiore rispetto a un periodo senza promozioni, soprattutto quando la riduzione del prezzo non viene compensata da un incremento sufficientemente elevato delle quantità vendute.

È una distinzione fondamentale per chi lavora nel marketing: il fatturato misura il valore delle vendite, mentre il margine di contribuzione misura quanto quelle vendite contribuiscono effettivamente a coprire i costi fissi e a generare risultato operativo.

Confondere le due grandezze significa rischiare di festeggiare una campagna che, dal punto di vista economico, è stata un insuccesso.

Il primo numero da conoscere: il margine di contribuzione unitario

Immaginiamo un e-commerce che vende un prodotto al prezzo ordinario di 100 euro.

Per semplicità, consideriamo i seguenti costi variabili medi per unità venduta:

Voce Importo
Prezzo di vendita 100 €
Costo di acquisto del prodotto 45 €
Preparazione e gestione ordine 6 €
Costo medio atteso dei resi 4 €
Commissioni di pagamento 2% del prezzo

I costi variabili, esclusa la commissione percentuale sul prezzo, ammontano quindi a 55 euro.

La commissione di pagamento è pari a 2 euro.

Il margine di contribuzione unitario è:

[math]\displaystyle \begin{aligned} MC=P-CV-fP \end{aligned}[/math]

dove [math]P[/math] rappresenta il prezzo, [math]CV[/math] i costi variabili non proporzionali al prezzo e [math]f[/math] la commissione percentuale.

Nel nostro caso:

[math]\displaystyle \begin{aligned} MC=100-55-2=43\ euro \end{aligned}[/math]

Ogni prodotto venduto a prezzo pieno contribuisce quindi con 43 euro alla copertura dei costi fissi e alla generazione del risultato operativo.

Supponiamo che l’azienda venda normalmente 1.000 unità.

Il margine di contribuzione complessivo è:

[math]\displaystyle \begin{aligned} MC_0=1.000\times43=43.000\ euro \end{aligned}[/math]

Questi 43.000 euro rappresentano il nostro riferimento economico.

Una precisazione è necessaria per utilizzare correttamente il modello: il prezzo di vendita e i costi devono essere espressi su una base fiscale coerente. In particolare, per un’impresa che recupera l’IVA sugli acquisti, il calcolo della marginalità dovrebbe normalmente essere effettuato utilizzando prezzi e costi al netto dell’IVA recuperabile. I 100 euro dell’esempio rappresentano quindi un prezzo netto, non necessariamente il prezzo esposto al consumatore.

Anche il costo medio dei resi deve riflettere il costo economico effettivamente sostenuto, considerando trasporti, gestione, svalutazioni e quota di prodotti che non possono essere rimessi in vendita.

La domanda diventa: se introduciamo uno sconto, quante unità dobbiamo vendere per mantenere almeno lo stesso margine di contribuzione?

La formula che il marketing manager dovrebbe avere sempre davanti

Indichiamo con:

  • [math]P[/math] = prezzo originale;
  • [math]d[/math] = percentuale di sconto;
  • [math]CV[/math] = costi variabili unitari non proporzionali al prezzo;
  • [math]f[/math] = commissione percentuale sul prezzo;
  • [math]Q_0[/math] = quantità venduta prima della promozione;
  • [math]Q_1[/math] = quantità necessaria dopo la promozione.

Il nuovo prezzo sarà:

[math]\displaystyle \begin{aligned} P_1=P(1-d) \end{aligned}[/math]

Il margine unitario iniziale è:

[math]\displaystyle \begin{aligned} MC_{u,0}=P(1-f)-CV \end{aligned}[/math]

Dopo lo sconto, il margine unitario diventa:

[math]\displaystyle \begin{aligned} MC_{u,1}=P(1-d)(1-f)-CV \end{aligned}[/math]

Il margine complessivo prima della promozione è:

[math]\displaystyle \begin{aligned} MC_0=Q_0\cdot MC_{u,0} \end{aligned}[/math]

Per mantenere lo stesso margine complessivo, la quantità necessaria dopo lo sconto deve soddisfare:

[math]\displaystyle \begin{aligned} Q_1\cdot MC_{u,1}=MC_0 \end{aligned}[/math]

Da cui ricaviamo:

[math]\displaystyle \begin{aligned} \boxed{Q_1=\frac{Q_0\cdot MC_{u,0}}{MC_{u,1}}} \end{aligned}[/math]

Questa è la formula del break-even promozionale sui volumi.

Per calcolare l’incremento percentuale necessario rispetto alle vendite iniziali dobbiamo invece utilizzare:

[math]\displaystyle \begin{aligned} \boxed{ Incremento\%= \left(\frac{Q_1}{Q_0}-1\right)\cdot100 } \end{aligned}[/math]

La distinzione è importante: il primo risultato indica quante unità dobbiamo vendere, mentre il secondo misura quanto devono crescere le quantità rispetto alla situazione iniziale.

Questa non è la formula del classico break-even aziendale, cioè il volume necessario per coprire i costi fissi, ma una soglia di pareggio promozionale che ci permette di mantenere lo stesso margine di contribuzione complessivo ottenuto prima dello sconto.

Il modello non ci dice quanto venderemo realmente, perché per quello servirebbe una stima della domanda, ma stabilisce quanto dobbiamo vendere affinché la promozione non peggiori il risultato economico di partenza.

Ed è una differenza enorme.

La simulazione: quanto deve crescere il volume delle vendite?

Torniamo al nostro e-commerce, con prezzo ordinario di 100 euro, costi variabili di 55 euro e commissione di pagamento del 2%.

Il margine unitario iniziale è 43 euro e il volume di riferimento è 1.000 unità.

Calcoliamo ora il risultato per diversi livelli di sconto.

Sconto Nuovo prezzo Margine unitario Volumi necessari Incremento richiesto
0% 100 € 43,00 € 1.000 0%
10% 90 € 33,20 € 1.295 +29,5%
20% 80 € 23,40 € 1.838 +83,8%
25% 75 € 18,50 € 2.324 +132,4%
30% 70 € 13,60 € 3.162 +216,2%
40% 60 € 3,80 € 11.316 +1.031,6%

I numeri raccontano una storia piuttosto scomoda.

Con uno sconto del 10%, l’azienda deve vendere quasi il 30% in più per mantenere lo stesso margine complessivo.

Con uno sconto del 20%, deve aumentare le quantità vendute di quasi l’84%.

Con uno sconto del 25%, deve più che raddoppiare i volumi.

E con uno sconto del 40%, il margine unitario si riduce a soli 3,80 euro: servono oltre undicimila unità per replicare il risultato economico ottenuto vendendone mille a prezzo pieno.

Il fatturato potrebbe perfino aumentare considerevolmente, ma la sostenibilità economica dell’operazione diventerebbe molto fragile.

Leggi anche 👉  La Gamification e l'Economia Comportamentale nel Contesto del Micro-E-commerce

Questi sono risultati di un caso simulato, non benchmark universali. I valori dei costi sono ipotesi illustrative, da sostituire con quelli effettivi dell’impresa.

Proprio per questo il modello è utile: permette di inserire dati aziendali reali e ottenere una soglia decisionale specifica.

Il punto di non ritorno: quando lo sconto rende ogni vendita meno conveniente

Esiste un altro calcolo interessante, che permette di determinare lo sconto massimo oltre il quale il margine unitario diventa negativo.

La condizione da rispettare è:

[math]\displaystyle \begin{aligned} P(1-d)(1-f)-CV>0 \end{aligned}[/math]

Risolvendo rispetto a [math]d[/math]:

[math]\displaystyle \begin{aligned} \boxed{d<1-\frac{CV}{P(1-f)}} \end{aligned}[/math]

Inserendo i nostri dati:

[math]\displaystyle \begin{aligned} d<1-\frac{55}{100(1-0,02)} \end{aligned}[/math]

[math]\displaystyle \begin{aligned} d<1-\frac{55}{98} \end{aligned}[/math]

Il risultato è circa:

[math]\displaystyle \begin{aligned} \boxed{d<43,88\%} \end{aligned}[/math]

Significa che, con questa struttura di costo, oltre uno sconto del 43,88% ogni unità venduta genera un margine di contribuzione negativo.

Non importa quanto sia accattivante il banner, quanto sia elevato il traffico o quanti ordini arrivino durante la notte: ogni vendita aggiunge una perdita di contribuzione rispetto ai costi variabili considerati.

Naturalmente, possono esistere ragioni strategiche per vendere temporaneamente sotto il costo economico ordinario, ad esempio liquidare scorte obsolete, recuperare liquidità o evitare ulteriori costi di magazzino.

In questi casi, tuttavia, l’operazione deve essere valutata considerando il valore recuperato rispetto all’alternativa di non vendere, includendo eventuali costi evitati e il valore residuo delle scorte.

Non è più una normale promozione commerciale: è una decisione di gestione delle scorte.

La parte che manca: i clienti compreranno davvero abbastanza?

Finora abbiamo calcolato quanti prodotti dobbiamo vendere, ma non abbiamo ancora risposto alla domanda più interessante: quanti prodotti venderemo effettivamente?

Qui entra in gioco l’elasticità della domanda rispetto al prezzo.

In economia, l’elasticità-prezzo della domanda misura la variazione percentuale della quantità domandata in risposta a una variazione percentuale del prezzo.

La sua espressione è:

[math]\displaystyle \begin{aligned} \varepsilon= \frac{\%\ variazione\ quantità} {\%\ variazione\ prezzo} \end{aligned}[/math]

Per la domanda ordinaria, l’elasticità è generalmente negativa: quando il prezzo diminuisce, la quantità richiesta tende ad aumentare.

Per costruire una simulazione semplificata possiamo utilizzare una funzione di domanda a elasticità costante:

[math]\displaystyle \begin{aligned} \boxed{ Q_1=Q_0\left(\frac{P_1}{P_0}\right)^\varepsilon } \end{aligned}[/math]

Dove [math]\varepsilon[/math] rappresenta l’elasticità-prezzo, con valore negativo.

Immaginiamo di utilizzare un’elasticità pari a -2.

Con uno sconto del 20%, il nuovo prezzo è 80 euro e la domanda prevista diventa:

[math]\displaystyle \begin{aligned} Q_1=1.000\times0,8^{-2} \end{aligned}[/math]

[math]\displaystyle \begin{aligned} Q_1=1.562,5\ unità \end{aligned}[/math]

La campagna genererebbe quindi un incremento teorico delle quantità pari al 56,25%.

Ma ricordiamo che il break-even richiedeva un aumento dell’83,8%.

La promozione non sarebbe sufficiente.

Il margine complessivo previsto sarebbe:

[math]\displaystyle \begin{aligned} MC_1=1.562,5\times23,40 \end{aligned}[/math]

[math]\displaystyle \begin{aligned} MC_1=36.562,50\ euro \end{aligned}[/math]

Rispetto ai 43.000 euro iniziali, perderemmo 6.437,50 euro di margine di contribuzione.

Ecco il punto: la campagna potrebbe registrare un incremento importante degli ordini e risultare comunque economicamente peggiore della situazione iniziale.

L’elasticità utilizzata in questo esempio è un’ipotesi di simulazione, non una stima osservata sul mercato. In un progetto reale dovrebbe essere stimata utilizzando dati storici, possibilmente distinguendo per prodotto, segmento di clientela, canale e periodo promozionale.

Inoltre, una relazione statistica tra prezzo e quantità vendute non dimostra automaticamente un rapporto causale: durante le promozioni cambiano spesso anche visibilità pubblicitaria, disponibilità dei prodotti, stagionalità e composizione della clientela.

Per questo motivo, quando i dati lo consentono, è preferibile utilizzare test controllati o modelli che permettano di isolare l’effetto del prezzo dagli altri fattori.

L’elasticità cambia tutto: tre scenari a confronto

Un unico valore di elasticità può rendere la simulazione troppo rigida, soprattutto quando il comportamento dei clienti varia sensibilmente tra prodotti e categorie.

Consideriamo quindi tre scenari ipotetici:

Scenario Elasticità Interpretazione
Domanda poco sensibile -0,8 La riduzione del prezzo genera una risposta limitata
Domanda moderatamente sensibile -1,5 Le quantità crescono in misura più significativa
Domanda molto sensibile -2,5 La riduzione del prezzo produce un aumento più marcato della domanda

Con uno sconto del 20%, i risultati sarebbero:

Elasticità Volumi previsti Incremento quantità Margine previsto
-0,8 1.195 +19,5% 27.963 €
-1,5 1.398 +39,8% 32.713 €
-2,0 1.563 +56,3% 36.563 €
-2,5 1.747 +74,7% 40.880 €

Anche nello scenario più favorevole, con elasticità pari a -2,5, il margine rimane inferiore ai 43.000 euro iniziali.

Per raggiungere il pareggio con uno sconto del 20%, l’elasticità dovrebbe essere sufficientemente elevata da generare almeno 1.838 unità vendute.

Risolvendo la funzione di domanda:

[math]\displaystyle \begin{aligned} 1.838=1.000\times0,8^\varepsilon \end{aligned}[/math]

otteniamo un’elasticità di circa:

[math]\displaystyle \begin{aligned} \varepsilon=-2,75 \end{aligned}[/math]

Questa è un’informazione molto più utile della semplice previsione di un aumento degli ordini: ci dice quale risposta della domanda sarebbe necessaria per rendere economicamente sostenibile la promozione.

Il magazzino potrebbe impedirti di raggiungere il pareggio

C’è un altro elemento che il modello economico di base non considera: la capacità effettiva dell’impresa di soddisfare la domanda.

Se con uno sconto del 25% servono 2.324 unità per mantenere il margine iniziale, ma il magazzino contiene soltanto 1.800 prodotti disponibili, il pareggio teorico diventa irraggiungibile.

In questo caso, anche una domanda sufficientemente elastica non sarebbe sufficiente a rendere conveniente la promozione.

Il vincolo può riguardare le scorte, ma anche la capacità di preparare gli ordini, la disponibilità dei corrieri, i tempi di consegna o il budget pubblicitario necessario per generare il traffico aggiuntivo.

Una simulazione manageriale completa dovrebbe quindi considerare almeno tre condizioni:

  • il margine unitario dopo lo sconto deve rimanere positivo, salvo specifiche strategie di liquidazione;
  • i volumi previsti devono essere sufficienti a raggiungere il break-even promozionale;
  • la capacità produttiva, logistica e commerciale deve consentire di soddisfare quei volumi.

Un modello può dirci che una campagna è conveniente dal punto di vista teorico, ma non può trasformare un magazzino vuoto in duemila ordini disponibili.

Simulazione Python: calcolare il break-even e verificare la convenienza

Passiamo dal foglio di calcolo al codice.

Il seguente script permette di modificare prezzo, costi variabili, commissioni, volumi iniziali, sconti ed elasticità, ottenendo automaticamente il volume necessario per il pareggio economico e quello previsto dalla funzione di domanda.

Il codice distingue inoltre il margine unitario, il margine complessivo e la differenza rispetto alla situazione iniziale.

# ============================================================
# IL METODO BRUTALE DELLO SCONTO
# Simulazione del margine, del break-even e dei volumi
# ============================================================

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


# ------------------------------------------------------------
# 1. PARAMETRI DELLA SIMULAZIONE
# ------------------------------------------------------------

prezzo_iniziale = 100.00
costo_variabile = 55.00
commissioni_percentuali = 0.02

volumi_iniziali = 1000

elasticita = -2.0

capacita_massima = 2500

# Livelli di sconto da simulare
sconti = np.arange(0, 0.45, 0.05)

# Eventuale investimento pubblicitario incrementale.
# Impostare un valore maggiore di zero per includere
# il costo aggiuntivo della campagna promozionale.
investimento_extra = 0.00


# ------------------------------------------------------------
# 2. MARGINE DI CONTRIBUZIONE INIZIALE
# ------------------------------------------------------------

# Margine unitario prima dello sconto:
# prezzo al netto delle commissioni - costo variabile

margine_unitario_iniziale = (
    prezzo_iniziale * (1 - commissioni_percentuali)
    - costo_variabile
)

# Margine complessivo della situazione di partenza

margine_baseline = (
    volumi_iniziali * margine_unitario_iniziale
)

print("SITUAZIONE INIZIALE")
print("-" * 55)

print(f"Prezzo iniziale: {prezzo_iniziale:.2f} €")
print(f"Costo variabile unitario: {costo_variabile:.2f} €")
print(f"Commissioni: {commissioni_percentuali:.1%}")
print(
    f"Margine unitario iniziale: "
    f"{margine_unitario_iniziale:.2f} €"
)
print(f"Volumi iniziali: {volumi_iniziali}")
print(f"Margine complessivo iniziale: {margine_baseline:,.2f} €")


# ------------------------------------------------------------
# 3. SIMULAZIONE DEI DIVERSI LIVELLI DI SCONTO
# ------------------------------------------------------------

risultati = []

for sconto in sconti:

    # Prezzo dopo lo sconto
    nuovo_prezzo = prezzo_iniziale * (1 - sconto)

    # Margine unitario dopo lo sconto
    nuovo_margine_unitario = (
        nuovo_prezzo * (1 - commissioni_percentuali)
        - costo_variabile
    )

    # Domanda prevista secondo l'elasticità costante:
    # Q1 = Q0 * (P1/P0)^elasticità
    #
    # La formula utilizza il rapporto tra nuovo prezzo
    # e prezzo iniziale.

    volumi_previsti = (
        volumi_iniziali
        * (nuovo_prezzo / prezzo_iniziale) ** elasticita
    )

    # Volumi effettivamente realizzabili.
    # La capacità massima rappresenta il numero totale
    # di unità vendibili nel periodo considerato.

    volumi_realizzabili = min(
        volumi_previsti,
        capacita_massima
    )

    # Volumi necessari per raggiungere il margine iniziale.
    # Si considera anche l'eventuale investimento extra.

    if nuovo_margine_unitario > 0:

        volumi_break_even = (
            margine_baseline + investimento_extra
        ) / nuovo_margine_unitario

        # Incremento percentuale necessario rispetto
        # ai volumi iniziali

        incremento_necessario = (
            (volumi_break_even / volumi_iniziali) - 1
        ) * 100

        # Margine ottenibile con i volumi realizzabili,
        # al netto dell'eventuale investimento extra

        margine_previsto = (
            volumi_realizzabili * nuovo_margine_unitario
            - investimento_extra
        )

        # Incremento effettivo dei volumi previsto

        incremento_effettivo = (
            (volumi_realizzabili / volumi_iniziali) - 1
        ) * 100

    else:

        # Se il margine unitario è nullo o negativo,
        # il break-even non è raggiungibile aumentando i volumi.

        volumi_break_even = np.nan
        incremento_necessario = np.nan

        margine_previsto = (
            volumi_realizzabili * nuovo_margine_unitario
            - investimento_extra
        )

        incremento_effettivo = (
            (volumi_realizzabili / volumi_iniziali) - 1
        ) * 100

    # Differenza rispetto alla situazione iniziale

    differenza_baseline = margine_previsto - margine_baseline

    # Valutazione economica della promozione

    if margine_previsto >= margine_baseline:
        esito = "Conveniente"
    else:
        esito = "Non conveniente"

    # Salvataggio dei risultati

    risultati.append({
        "Sconto (%)": sconto * 100,
        "Prezzo": nuovo_prezzo,
        "Margine unitario": nuovo_margine_unitario,
        "Volumi break-even": volumi_break_even,
        "Incremento necessario (%)": incremento_necessario,
        "Volumi previsti": volumi_previsti,
        "Volumi realizzabili": volumi_realizzabili,
        "Incremento effettivo (%)": incremento_effettivo,
        "Margine previsto": margine_previsto,
        "Differenza vs baseline": differenza_baseline,
        "Esito": esito
    })


# ------------------------------------------------------------
# 4. CREAZIONE DEL DATAFRAME
# ------------------------------------------------------------

df = pd.DataFrame(risultati)


# ------------------------------------------------------------
# 5. STAMPA DEI RISULTATI
# ------------------------------------------------------------

print("\n\nRISULTATI DELLA SIMULAZIONE")
print("-" * 110)

# Formattazione per una lettura più agevole

pd.options.display.float_format = "{:,.2f}".format

print(df.to_string(index=False))


# ------------------------------------------------------------
# 6. GRAFICO: MARGINE PREVISTO E MARGINE BASELINE
# ------------------------------------------------------------

plt.figure(figsize=(10, 6))

plt.plot(
    df["Sconto (%)"],
    df["Margine previsto"],
    marker="o",
    linewidth=2,
    label="Margine previsto"
)

plt.axhline(
    y=margine_baseline,
    linestyle="--",
    linewidth=2,
    label="Margine iniziale"
)

plt.xlabel("Sconto (%)")
plt.ylabel("Margine complessivo (€)")
plt.title("Effetto dello sconto sul margine complessivo")

plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()


# ------------------------------------------------------------
# 7. GRAFICO: VOLUMI PREVISTI E CAPACITÀ MASSIMA
# ------------------------------------------------------------

plt.figure(figsize=(10, 6))

plt.plot(
    df["Sconto (%)"],
    df["Volumi previsti"],
    marker="o",
    linewidth=2,
    label="Volumi previsti"
)

plt.plot(
    df["Sconto (%)"],
    df["Volumi realizzabili"],
    marker="s",
    linewidth=2,
    label="Volumi realizzabili"
)

plt.axhline(
    y=capacita_massima,
    linestyle="--",
    linewidth=2,
    label="Capacità massima"
)

plt.axhline(
    y=volumi_iniziali,
    linestyle=":",
    linewidth=1.5,
    label="Volumi iniziali"
)

plt.xlabel("Sconto (%)")
plt.ylabel("Unità vendute")
plt.title("Domanda prevista e capacità operativa")

plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()


# ------------------------------------------------------------
# 8. GRAFICO: INCREMENTO NECESSARIO E INCREMENTO EFFETTIVO
# ------------------------------------------------------------

plt.figure(figsize=(10, 6))

plt.plot(
    df["Sconto (%)"],
    df["Incremento necessario (%)"],
    marker="o",
    linewidth=2,
    label="Incremento necessario per il break-even"
)

plt.plot(
    df["Sconto (%)"],
    df["Incremento effettivo (%)"],
    marker="s",
    linewidth=2,
    label="Incremento effettivo previsto"
)

plt.xlabel("Sconto (%)")
plt.ylabel("Incremento dei volumi (%)")
plt.title("Volumi necessari e volumi previsti")

plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()


# ------------------------------------------------------------
# 9. GRAFICO: DIFFERENZA RISPETTO AL BASELINE
# ------------------------------------------------------------

plt.figure(figsize=(10, 6))

plt.bar(
    df["Sconto (%)"].astype(str),
    df["Differenza vs baseline"]
)

plt.axhline(
    y=0,
    linestyle="--",
    linewidth=1.5
)

plt.xlabel("Sconto (%)")
plt.ylabel("Differenza di margine (€)")
plt.title("Quanto margine si guadagna o si perde con lo sconto")

plt.grid(axis="y", alpha=0.3)
plt.tight_layout()
plt.show()


# ------------------------------------------------------------
# 10. SINTESI AUTOMATICA DELLA SIMULAZIONE
# ------------------------------------------------------------

migliore = df.loc[
    df["Margine previsto"].idxmax()
]

peggiore = df.loc[
    df["Margine previsto"].idxmin()
]

print("\n\nSINTESI MANAGERIALE")
print("-" * 65)

print(
    f"Miglior risultato: sconto del "
    f"{migliore['Sconto (%)']:.0f}%"
)

print(
    f"Margine previsto: "
    f"{migliore['Margine previsto']:,.2f} €"
)

print(
    f"Differenza rispetto al baseline: "
    f"{migliore['Differenza vs baseline']:,.2f} €"
)

print()

print(
    f"Peggior risultato: sconto del "
    f"{peggiore['Sconto (%)']:.0f}%"
)

print(
    f"Margine previsto: "
    f"{peggiore['Margine previsto']:,.2f} €"
)

print(
    f"Differenza rispetto al baseline: "
    f"{peggiore['Differenza vs baseline']:,.2f} €"
)

# Verifica del primo livello di sconto
# che determina una perdita di margine rispetto al baseline.

perdite = df[
    df["Differenza vs baseline"] < 0
]

if not perdite.empty:
    primo_sconto_in_perdita = perdite.iloc[0]["Sconto (%)"]

    print(
        f"\nIl primo sconto che genera una perdita "
        f"rispetto al baseline è del "
        f"{primo_sconto_in_perdita:.0f}%."
    )
else:
    print(
        "\nNessuno degli sconti simulati genera "
        "una perdita rispetto al baseline."
    )

 

SITUAZIONE INIZIALE
-------------------------------------------------------
Prezzo iniziale: 100.00 €
Costo variabile unitario: 55.00 €
Commissioni: 2.0%
Margine unitario iniziale: 43.00 €
Volumi iniziali: 1000
Margine complessivo iniziale: 43,000.00 €


RISULTATI DELLA SIMULAZIONE
--------------------------------------------------------------------------------------------------------------
 Sconto (%)  Prezzo  Margine unitario  Volumi break-even  Incremento necessario (%)  Volumi previsti  Volumi realizzabili  Incremento effettivo (%)  Margine previsto  Differenza vs baseline           Esito
       0.00  100.00             43.00           1,000.00                       0.00         1,000.00             1,000.00                      0.00         43,000.00                    0.00     Conveniente
       5.00   95.00             38.10           1,128.61                      12.86         1,108.03             1,108.03                     10.80         42,216.07                 -783.93 Non conveniente
      10.00   90.00             33.20           1,295.18                      29.52         1,234.57             1,234.57                     23.46         40,987.65               -2,012.35 Non conveniente
      15.00   85.00             28.30           1,519.43                      51.94         1,384.08             1,384.08                     38.41         39,169.55               -3,830.45 Non conveniente
      20.00   80.00             23.40           1,837.61                      83.76         1,562.50             1,562.50                     56.25         36,562.50               -6,437.50 Non conveniente
      25.00   75.00             18.50           2,324.32                     132.43         1,777.78             1,777.78                     77.78         32,888.89              -10,111.11 Non conveniente
      30.00   70.00             13.60           3,161.76                     216.18         2,040.82             2,040.82                    104.08         27,755.10              -15,244.90 Non conveniente
      35.00   65.00              8.70           4,942.53                     394.25         2,366.86             2,366.86                    136.69         20,591.72              -22,408.28 Non conveniente
      40.00   60.00              3.80          11,315.79                   1,031.58         2,777.78             2,500.00                    150.00          9,500.00              -33,500.00 Non conveniente
SINTESI MANAGERIALE
-----------------------------------------------------------------
Miglior risultato: sconto del 0%
Margine previsto: 43,000.00 €
Differenza rispetto al baseline: 0.00 €

Peggior risultato: sconto del 40%
Margine previsto: 9,500.00 €
Differenza rispetto al baseline: -33,500.00 €

Il primo sconto che genera una perdita rispetto al baseline è del 5%.

 

Leggi anche 👉  Meta One: come calcolare ROI, break-even e incrementalità di un abbonamento

Commento dei risultati della simulazione

Il risultato di partenza è:

Indicatore Valore
Prezzo iniziale 100,00 €
Margine unitario iniziale 43,00 €
Volumi iniziali 1.000
Margine complessivo 43.000,00 €

Il margine unitario di 43 € deriva da:

[math]\displaystyle \begin{aligned} 100-(100\times 0{,}02)-55=43 \end{aligned}[/math]

Il negozio genera quindi 43.000 € di margine di contribuzione prima di applicare qualsiasi promozione.

Cosa raccontano i risultati

Con uno sconto del 5%, il prezzo scende a 95 € e il margine unitario passa da 43 € a 38,10 €. L’elasticità ipotizzata determina un incremento dei volumi da 1.000 a circa 1.108 unità, ma per mantenere il margine iniziale ne servirebbero almeno 1.129. La promozione genera una perdita di circa 784 €.

Con uno sconto del 10%, il margine unitario scende a 33,20 €. I volumi previsti raggiungono 1.235 unità, mentre il break-even richiederebbe circa 1.295 vendite. La perdita sale a circa 2.012 €.

Con uno sconto del 20%, il prezzo scende a 80 € e il margine unitario si riduce a 23,40 €. La domanda cresce del 56,25%, ma non abbastanza da compensare la riduzione del margine unitario. Il risultato è un margine complessivo di 36.562,50 €, con una perdita di 6.437,50 € rispetto alla situazione iniziale.

Con uno sconto del 30%, i volumi previsti superano le 2.000 unità, ma il margine unitario è ormai sceso a 13,60 €. Il margine complessivo si ferma a 27.755,10 €, con una perdita di oltre 15.000 €.

Con uno sconto del 40%, la situazione diventa particolarmente critica. La domanda teorica raggiungerebbe 2.777,78 unità, ma la capacità massima consente di venderne soltanto 2.500. Il margine complessivo precipita a 9.500 €, con una perdita di 33.500 € rispetto al baseline.

La tabella che conta davvero

Sconto Volumi necessari Volumi previsti Differenza di margine
0% 1.000 1.000 0 €
5% 1.129 1.108 −784 €
10% 1.295 1.235 −2.012 €
15% 1.519 1.384 −3.830 €
20% 1.838 1.563 −6.438 €
25% 2.324 1.778 −10.111 €
30% 3.162 2.041 −15.245 €
35% 4.943 2.367 −22.408 €
40% 11.316 2.500 −33.500 €

Il dato più interessante non è semplicemente che gli sconti riducono il margine, ma che la distanza tra volumi necessari e volumi previsti cresce rapidamente. A partire dal 30%, il break-even richiede quantità che superano anche la capacità massima del negozio.

Tre conclusioni manageriali

  • L’aumento delle vendite non equivale a un miglioramento della redditività. Anche quando i volumi crescono sensibilmente, il margine complessivo può diminuire.
  • La capacità operativa è un vincolo economico. Non serve prevedere una domanda teorica di 2.778 unità se il magazzino o la struttura commerciale possono gestirne soltanto 2.500.
  • Lo sconto deve essere valutato prima della campagna. Il break-even consente di sapere quante unità aggiuntive servono, mentre l’elasticità permette di stimare se quell’incremento sia plausibile.

Il Natale nasconde un altro rischio: vendere oggi quello che avresti venduto domani

C’è un aspetto che rende le campagne natalizie particolarmente insidiose e che il semplice break-even non riesce a intercettare.

Una parte degli acquisti promozionali potrebbe non essere domanda aggiuntiva, ma domanda anticipata.

Un cliente che acquista un prodotto durante il Black Friday potrebbe semplicemente aver anticipato un acquisto che avrebbe effettuato a dicembre, magari a prezzo pieno.

Dal punto di vista del singolo evento promozionale, l’ordine viene registrato come una vendita aggiuntiva. Dal punto di vista dell’intero periodo natalizio, potrebbe non esserci stata alcuna crescita della domanda complessiva.

È il fenomeno della cannibalizzazione temporale.

Per questo motivo un marketing manager non dovrebbe limitarsi a confrontare le vendite della settimana promozionale con quelle della settimana precedente, perché una simile analisi rischia di attribuire alla campagna risultati che dipendono dalla semplice anticipazione degli acquisti.

Leggi anche 👉  La Rivoluzione AI nei Pagamenti E-commerce: Come Visa e Mastercard costruiscono il Nuovo 'Lock-in' Digitale

Dovrebbe osservare almeno l’intera finestra commerciale, confrontando:

  • quantità vendute nel periodo promozionale;
  • quantità vendute nelle settimane successive;
  • margine di contribuzione complessivo;
  • percentuale di clienti realmente nuovi;
  • quota di ordini anticipati rispetto agli acquisti ordinari;
  • costo di acquisizione dei clienti;
  • variazione delle vendite a prezzo pieno dopo la promozione.

Una campagna che produce un picco spettacolare a novembre, ma riduce le vendite a prezzo pieno di dicembre, potrebbe aver semplicemente spostato il fatturato da un periodo all’altro, peggiorando la redditività complessiva.

Per verificare questo effetto è utile confrontare il periodo promozionale e quello successivo con un gruppo di controllo, quando possibile, oppure utilizzare un modello che tenga conto della stagionalità e dell’andamento atteso delle vendite in assenza della promozione.

Il dato da osservare non è soltanto quanto abbiamo venduto durante il Black Friday, ma quanto margine aggiuntivo abbiamo generato sull’intera stagione commerciale.

Il costo della pubblicità deve entrare nel conto

C’è un’altra variabile che può modificare sensibilmente il risultato: il costo necessario per generare i volumi aggiuntivi.

Immaginiamo che, per ottenere gli ordini necessari a compensare uno sconto del 20%, l’azienda debba investire ulteriori 8.000 euro in advertising.

Non sarebbe corretto confrontare il margine promozionale con quello iniziale ignorando questo investimento, perché le vendite aggiuntive non sono state ottenute gratuitamente.

Indichiamo con [math]F[/math] il costo pubblicitario incrementale.

Il margine di contribuzione complessivo iniziale rimane:

[math]\displaystyle \begin{aligned} MC_0=Q_0\cdot MC_{u,0} \end{aligned}[/math]

Per mantenere lo stesso risultato economico, dopo la promozione dobbiamo ottenere:

[math]\displaystyle \begin{aligned} Q_1\cdot MC_{u,1}-F=MC_0 \end{aligned}[/math]

Da cui:

[math]\displaystyle \begin{aligned} \boxed{ Q_1=\frac{MC_0+F}{MC_{u,1}} } \end{aligned}[/math]

Nel nostro esempio, con uno sconto del 20%, un margine unitario di 23,40 euro e un investimento aggiuntivo di 8.000 euro, il volume necessario diventa:

[math]\displaystyle \begin{aligned} Q_1=\frac{43.000+8.000}{23,40} \end{aligned}[/math]

[math]\displaystyle \begin{aligned} Q_1=2.179,49\ unità \end{aligned}[/math]

Rispetto alle 1.838 unità necessarie senza advertising aggiuntivo, dobbiamo quindi vendere circa 342 prodotti in più.

La pubblicità può certamente generare valore, ma il suo costo deve essere inserito nel modello economico insieme alla riduzione del prezzo, altrimenti il risultato della simulazione sarà sistematicamente troppo ottimistico.

Il modello decisionale: cinque domande prima di autorizzare uno sconto

Il Metodo Brutale può diventare una piccola procedura operativa da utilizzare durante la pianificazione delle campagne.

Prima di approvare una promozione, il marketing manager dovrebbe verificare cinque condizioni.

Il margine unitario rimane positivo?

Se il nuovo prezzo non copre i costi variabili, la promozione richiede una giustificazione strategica specifica, perché ogni vendita aggiuntiva riduce il margine complessivo rispetto ai costi considerati.

Quanto devono aumentare i volumi?

Il break-even promozionale deve essere calcolato prima di decidere la percentuale di sconto, non dopo aver osservato i risultati della campagna.

L’aumento previsto è realistico?

L’elasticità della domanda deve essere stimata, possibilmente utilizzando dati storici e test controllati, anziché essere scelta per rendere conveniente la promozione.

Quanto costa generare il volume aggiuntivo?

Se per ottenere centinaia di ordini aggiuntivi dobbiamo aumentare gli investimenti pubblicitari, sostenere costi logistici supplementari o ricorrere a personale aggiuntivo, queste spese devono entrare nel calcolo.

La domanda è realmente nuova e possiamo soddisfarla?

Dobbiamo verificare se stiamo acquisendo nuovi clienti oppure anticipando acquisti futuri, controllando contemporaneamente che le scorte e la capacità operativa siano sufficienti per gestire il volume previsto.

Queste cinque domande spostano la discussione dal semplice valore dello sconto alla sostenibilità economica dell’intera operazione.

Non dobbiamo chiederci quanto sconto possiamo permetterci

Il marketing promozionale viene spesso giudicato attraverso indicatori come numero di ordini, fatturato, conversion rate e ROAS.

Sono metriche importanti, ma nessuna di queste, isolatamente, dimostra che una campagna abbia creato valore economico.

Un ROAS elevato, per esempio, non garantisce la redditività se il margine unitario è stato drasticamente ridotto. Allo stesso modo, un aumento del conversion rate può accompagnarsi a una diminuzione del contributo economico per ordine.

La metrica che dovrebbe accompagnare queste valutazioni è il margine di contribuzione incrementale, calcolato considerando tutti i costi variabili e gli investimenti aggiuntivi necessari per ottenere le vendite.

Il punto non è eliminare gli sconti, né sostenere che il prezzo pieno sia sempre la scelta migliore. Esistono prodotti con elevata elasticità, scorte da smaltire, clienti da acquisire e strategie di penetrazione che possono rendere una riduzione di prezzo economicamente sensata.

Il punto è sapere quale risultato stiamo cercando, quali condizioni devono verificarsi affinché la promozione funzioni e quanto dobbiamo investire per ottenere quel risultato.

Una campagna natalizia può essere un successo commerciale anche quando il margine unitario diminuisce, ma soltanto se l’incremento della domanda, la qualità dei nuovi clienti e il contributo economico complessivo compensano il sacrificio sul prezzo.

Perché se vendi il doppio, ma guadagni meno, non hai necessariamente fatto una grande campagna di Natale.

Potresti semplicemente aver regalato ai tuoi clienti una parte del margine che avresti potuto conservare.

E questo, per un marketing manager data-driven, è un regalo decisamente poco intelligente.

Fonti e riferimenti

Per la parte di contesto di mercato utilizzerei queste fonti, da mantenere nel post anche nelle successive edizioni natalizie:

📚 Pricing, margini e redditività delle strategie di marketing

Uno sconto non può essere valutato isolatamente: occorre considerare la risposta della domanda, il margine generato, i costi di acquisizione e l’effettiva incrementalità delle vendite. Questi articoli approfondiscono gli strumenti quantitativi e le decisioni manageriali che aiutano a valutare la sostenibilità economica delle strategie commerciali.

Pubblicità

You may also like...