Stripe Sigma: query SQL sui dati
Stripe Sigma trasforma la Dashboard Stripe in un data warehouse interrogabile via SQL standard. Permette di creare report custom, dashboard interne e analisi avanzate sui dati di pagamento senza esportare nulla esternamente.
Cos'è Sigma e come funziona
Sigma offre un'editor SQL con accesso a tutte le tabelle Stripe: charges, customers, subscriptions, invoices, disputes, payouts e altre 50+ tabelle. I dati sono aggiornati in near real-time (latenza tipica di pochi minuti) e le query usano dialetto Presto/Trino. È possibile salvare query, schedularle e ricevere risultati via email.
Casi d'uso tipici
Sigma è utile per: report finanziari personalizzati (LTV, CAC, churn), riconciliazione con il proprio ERP, analisi cohort di subscriber, monitoraggio dispute trend e segmentazione clienti. Permette anche di esportare i risultati in CSV o di integrarli in BI tool come Looker o Metabase tramite scheduled query.
Schema tabelle principali e relazioni
Le tabelle più' usate sono: charges (singola transazione), customers (anagrafica), subscriptions e subscription_items, invoices e invoice_line_items, refunds, disputes, payouts, balance_transactions (movimento atomico saldo). I JOIN avvengono su id; ad es. per LTV per customer: SELECT customer, SUM(amount)/100 FROM charges WHERE status='succeeded' GROUP BY customer ORDER BY 2 DESC. Per cohort analysis usa date_trunc('month', from_unixtime(created)). I balance_transactions sono la fonte di verita' per riconciliazione contabile perché' includono ogni movimento (charge, refund, fee, payout).
Scheduled query e integrazione BI
Le scheduled query inviano risultati via email in formato CSV. Per BI esterni (Looker, Metabase, Tableau) configura una scheduled query che salva su S3 o invia webhook, oppure usa connettori specifici (es. Fivetran ha Stripe source connector). Sigma è eccezionale per ad-hoc analysis ma non sostituisce un data warehouse per use case enterprise. Best practice: usa Sigma per data exploration e prototyping query, poi consolida le metriche più' usate in dashboard BI con dati replicati.
Esempi query operativi
Query utili comuni: 1) MRR mensile: SELECT date_trunc('month', from_unixtime(created)) m, SUM(amount)/100 FROM subscriptions WHERE status='active' GROUP BY 1; 2) Churn rate: confronto subscriptions attivi inizio mese vs fine mese; 3) Top 10 customer per LTV: SELECT customer, SUM(amount) FROM charges WHERE status='succeeded' GROUP BY 1 ORDER BY 2 DESC LIMIT 10; 4) Dispute trend: SELECT DATE(from_unixtime(created)), COUNT(*) FROM disputes GROUP BY 1; 5) Payment method mix: GROUP BY payment_method_details.card.brand. Library di query consolidate riduce learning curve per nuovi team member.
Limiti Sigma e quando passare a data warehouse
Sigma è eccellente per query ad-hoc e dashboard semplici ma ha limiti: 1) Query timeout 15 min (no aggregazioni cross-merchant complesse); 2) No persistent tables (no caching risultati intermedi); 3) No write (read-only); 4) Storage limitato a tabelle Stripe (no join con CRM esterno). Quando superi questi limiti, considera replicare dati Stripe in Snowflake/BigQuery con Fivetran/Airbyte e fare analytics li'. Per business sopra 1M ARR e team data 2+ persone, data warehouse dedicato è tipicamente necessario.
Sigma cookbook: query starter pack
Stripe pubblica un Sigma cookbook con 30+ query starter pronte da usare/modificare: 1) Daily revenue trend; 2) Customer retention cohort; 3) Top 100 customer by LTV; 4) Failed payment analysis (decline code distribution); 5) Subscription churn predictor; 6) Refund rate by product; 7) Dispute breakdown by reason; 8) Payout reconciliation per banca; 9) Tax collected per giurisdizione; 10) Connect platform performance. Accessibile in Dashboard -> Sigma -> Templates. Modifica template per tuo use case specifico. Best practice: salva query custom come 'Saved query' con nome descrittivo, schedula i 5-10 più importanti come weekly email digest al team finance/operations.
Procedura passo-passo
- Attiva Sigma dalla Dashboard in Reports -> Sigma (Pay-as-you-go o piano fisso).
- Esplora lo schema database nella sidebar per capire tabelle e colonne disponibili.
- Scrivi la prima query con SQL standard (es. SELECT * FROM charges WHERE created > now() - interval '7 days').
- Salva la query come Saved Query per riutilizzarla.
- Schedula l'invio dei risultati via email a colleghi o team.
- Esporta in CSV per analisi esterne in Excel o BI tool.
- Integra con Looker/Metabase tramite API se serve dashboarding avanzato.
Errori comuni e come risolverli
- Query troppo pesanti: timeout dopo 15 minuti; usa filtri temporali e LIMIT.
- Confusione tra timestamp: molti campi sono in unix timestamp; usa to_iso8601(from_unixtime(created)).
- Mancanza di JOIN appropriati: i charge non hanno customer email diretta; serve JOIN con customers.
- Sigma vs Reporting API: Sigma è interattivo, Reporting API è programmatico; scegli in base al caso d'uso.
Domande frequenti
D: Quanto costa Sigma?
R: Pay-as-you-go a 0,02 USD per query row, oppure piano fisso da 100 USD/mese.
D: Posso modificare i dati con Sigma?
R: No, è read-only; per modifiche usa l'API Stripe.
D: Sigma supporta JOIN tra tabelle?
R: Sì, supporta JOIN standard SQL su tutte le tabelle.
D: I dati sono real-time?
R: Quasi: latenza media 2-5 minuti dall'evento.
Hai bisogno di aiuto?
Se vuoi integrare Stripe con il team di G Tech Group, scrivici tramite il modulo di contatto.