Archivi categoria: Tecnologia

A/B Test spiegato al Nerd che vuole rimorchiare su Tinder

Ti sei appena comprato l’ultimo profumo, l’addome non è proprio scolpito, la barba è perfetta, ma l’unico match che sei riuscito ad ottenere su Tinder è con il profilo finto della Mucca Carolina iscritta dal tuo amico Marco anche noto come “Il Capraro”.

Inizi a riflettere che forse c’è un problema.

Questa strategia del rimorchio non sta funzionando, evidentemente.

Decidi di affidarti al tuo amico, il mago della conquista, il re del rimorchio dai tempi di MySpace e Netlog, per gli amici “Er Trivella”.

Dopo una veloce chiacchierata ed un paio di birre, Er Trivella, decide di aiutarti, ma solo se sei disposto a pagargli da bere in caso di successo.

Subito si accorge che la tua selezione di foto profilo a petto nudo con la mutanda “Uomo” comprata in pacchi da 10 al mercato non può andar bene, così come deve essere aggiornata l’altra tutta sfocata e con il volto devastato dagli shoot di Ibiza 2k12.

“Terapia d’urto” queste le parole di “Er Trivella” in un momento di grande sconforto e compassione nei tuoi confronti.

Shopping selvaggio tra Piazza Italia e OVS, foto con la reflex in modalità automatico fatte dall’amica fotografa e frasi random di Fabio Volo.

Subito dopo l’aggiornamento del profilo iniziano i match e stenti a crederci.

Tu però non vuoi offrire da bere, pensi sia tutto frutto del caso, che “Er Trivella “ sia stato fortunato.

Con le vecchie foto profilo -> 100 tentativi ->1 match

Con le nuove foto profilo ->100 tentativi -> 10 Match

Guardi Er Trivella e con un po’ di sfacciataggine dici

“Guarda secondo me è solo un caso, con le nuove foto di profilo è stata solo fortuna, l’ipotesi che sia cambiato qualcosa è falsa”

Er Trivella ti guarda negli occhi, non gli pare vero, lui vuole che gli paghi da bere e con calma risponde:

“Ok allora facciamo così se è vero che è stata solo fortuna non cambia nulla tra la situazione prima e la situazione successiva.

Noi abbiamo 200 tentativi in totale giusto?”

Tu:”Si”

Er Trivella:”Facciamo delle simulazioni.

Prendiamo 200 foglietti scriviamo sopra questi il nome della tipa e se hai avuto successo o meno.

1 se hai avuto successo e 0 se non è andata bene”.

Alla strana richiesta realizzi questi 200 foglietti.

Er Trivella:”Ora per un bel po’ di volte mischiamo i 200 foglietti, associamo i primi 100 alla vecchia condizione (Test A) e gli ultimi 100 a quella nuova (Test B).

Una volta fatto calcoliamo la differenza tra i casi di successo tra il nuovo caso B’ ed il nuovo caso A’, chiameremo questo valore “Delta Rimorchio”.

Ti ricordi nel caso originale questa differenza era di 0.09?” (10/100-1/100)

“Una volta calcolato il “Delta Rimorchio” la seconda volta, rimischiamo i foglietti e ripetiamo l’operazione un certo numero di volte (un numero di volte n, con n molto grande).

Ora se quello che hai detto ha senso le volte in cui rimischiando i foglietti il delta rimorchio è uguale o maggiore al delta rimorchio iniziale dovrà essere abbastanza frequente, essendo questa differenza un caso”

Tu:”Certo, ha senso”

Er Trivella: “Potremmo valutare la cosa dividendo il numero di volte in cui “Delta rimorchio è maggiore o al più uguale” per il numero di volte che abbiamo rimischiato i foglietti” (questo valore sarà il nostro p-value dei dati).

Er Trivella:”Più questo rapporto sarà grande e più le tue ipotesi saranno corrette, ma più questo valore è piccolo e più probabile che la tua ipotesi sia falsa.”

Tu:”Quanto piccolo?”

Er Trivella:”Se voglio rifiutare la tua ipotesi con il 95% di confidenza questo dovrà essere più piccolo di 0.05.”

 

Tu ed Er Trivella scoprite che:

  • Il numero di volte che mischiando i foglietti hai ottenuto risultati migliori è stata solo 1 su 100 il p-value è 0.01
  • l’ipotesi che fosse tutta fortuna è falsa
  • tocca pagare da bere

Gli A/B test sono estremamente frequenti soprattutto nel Digital Marketing, ma non sempre la loro valutazione è di facile interesse, questo articolo con lo script allegato è solo una simpatica introduzioni, molte ipotesi sono state semplificate, per una rigorosa trattazione consiglio sempre il Ross.

Inoltre bisogna sempre valutare il costo della sperimentazione, il miglioramento che si ottiene dal test A o dal test B non solo deve essere statisticamente significativo, ma anche economicamente significativo.

Per Economicamente Significativo intendo che il costo della sperimentazione è giustificato dal guadagno che il miglioramento genera, un punto estremamente difficile e non sempre rispettato.

Grazie per aver letto l’articolo!

Se ti piace ri-condividilo 🙂

Un abbraccione

Andrea

 

ps Devo formattare meglio il codice è sempre un po’ un trauma per me districarmi tra il notebook jupyter e il codice html, inizierò anche a pubblicare questi script sul mio profilo GitHub 🙂

 

In [4]:
import numpy as np

import pandas as pd

 

In [5]:
#Rappresentiamo attraverso due array di 1 e 0 i nostri due scenari di analisi

old_pic=np.array([True] * 1 + [False] * 99)

new_pic=np.array([True] * 10 + [False] * 90)

 

 

In [6]:
#Definiamo la statistica oggetto di analisi come 

#la differenza i successi con le nuove foto e i successi con le vecchie

#in rapporto al numero di tentativi effettuati

def frac_abs_success(a,b):

"""Compute fraction of Democrat yay votes."""

afrac = np.sum(a) /len(a)

bfrac= np.sum(b) /len(b)

ababs=abs(afrac-bfrac)

return ababs

def permutation_sample(data1, data2,func):

"""Generiamo una permutazione definiti due data set."""

 

# Concateniamo i datasets: data

data = np.concatenate((data1,data2))

 

# Definiamo l'array delle permutazioni permuted_data

permuted_data = np.random.permutation(data)

 

#  Dividiamo in due insiemi A' B' l'array delle permtazioni: perm_sample_1, perm_sample_2

perm_sample_1 = permuted_data[:len(data1)]

perm_sample_2 = permuted_data[len(data1):]

delta_rim=func(perm_sample_1,perm_sample_2)

 

return delta_rim

 

In [7]:
#Realizziamo n permutazioni dei nostri due insiemi A* B*

n=1000

#per ogni permutazione calcoliamo il valore della statistica di analisi

#la differenza tra il secondo ed il primo insieme

def draw_rep_stat(data,data2, func, size):

"""Draw bootstrap replicates."""

 

# Initialize array of replicates: bs_replicates

stat_replicates = np.empty(size)

 

# Generate replicates

for i in range(size):

stat_replicates[i] = permutation_sample(data,data2,func)

 

return stat_replicates

 

In [16]:
test_set=draw_rep_stat(old_pic, new_pic,frac_abs_success,n)

 

print(len(test_set))

#Calcoliamo il p-value dei dati 

#n è il numero di permutazioni che realizziamo 

p = np.sum(test_set >= frac_abs_success(old_pic,new_pic)) / len(test_set)

print('p-value =', p)

 

 

 

1000

p-value = 0.01

 

Annunci

Lascia un commento

Archiviato in Ingegneria, riflessioni, Tecnologia

PCA spiegazione per fidanzati/mariti sfortunati prt 2

Non so se la mia spiegazione sulla PCA fosse chiara,non lo so, e ci riprovo.

E’ una tecnica che viene utilizzata molto frequentemente nel campo del Machine Learning, PCA sta a significare Principal Component Analysis.

Ora Immagina.

Per qualche sfortunata ragione, tu devi regalare una borsa alla tua ragazza/moglie/amante (e io nemmeno ai nemici lo auguro).

Immagina.

Tu e la tua conoscenza sul mondo delle borse.

Immagina.

Tu e la tua conoscenza che spazia dal trolley che usi dall’ultima gita a Praga del liceo, che tua madre e la tua ragazza vorrebbero buttare ma per te è ancora funzionante nonostante quella macchina enorme dovuta agli eccessi del tuo amico tale “ER Bresaola”, e finisce allo zaino tecnico porta pc, con esclusione della 24 ore che ti ha regalato Zio Gianni “perché ormai sei grande”.

Immagina.

TU, proprio TU, devi acquistare una borsa, o in romano ‘na borZa.

Photo by Artem Bali on Unsplash

Inizi a classificare i prodotti:

  • Range di costo (5-5000 €)
  • Marca (Cinese Sotto Casa-Mercato di Merce Parallela-Amazon-Alta Moda)
  • Colore(Blu-Rosso-Nero)(In almeno 216 tonalità diverse per colore)
  • Dimensione (Clutch-Trousse-Hobo Bag-Shopping Bag) (miserabile pensavi che si usasse il metro o il cm come da Sistema Internazionale di Unità di Misura)
  • Dove comprarla (Km Da casa tua 0-100km)
  • Come pagarla (Cash-Finanziamento a 20 anni-Bitcoin-Vai a Rubare perché sei povero)
  • Periodo di Analisi Intraperiodale (Primavera-Estate-Autunno-Inverno)
  • Periodo di Analisi Interperiodale (Outlet-Ultima Uscita)

Almeno 8 variabili di scelta, dura eh?

Purtroppo non puoi sottrarti dall’acquisto perché deve farti perdonare.

Non sai il motivo, lo ignori, ma c’è, in quanto uomo sbagli a prescindere e DEVI farti perdonare.

La PCA, ti aiuta a semplificare il problema ed i dati di input per la tua fatidica scelta.

Nel problema in esame alcune variabili sono in qualche modo ridondanti e assimilabili, ad esempio:

  • Come Pagarla
  • Marca
  • Range Di Costo

potrebbero essere aggregate in un’unica nuova variabile.

E’ molto probabile che se vai dal cinese sotto casa puoi aggregare sotto un unico cappello le variabili “Cash-Cinese Sotto Casa-5€” così come se vai ad effettuare l’acquisto in-quella-maison-che-non-va-nominata “Vai a Rubare perché sei povero- maison-che-non-va-nominata-5000€” possono anche loro essere aggregate.

Questo è quello che fa la tecnica PCA.

Stiamo quindi scartando le caratteristiche ridondanti?

No, anche perchè sappiamo benissimo che alla minimo passo falso si  rischia di aprire un caso di stato, tu nella tua classificazione  hai preso in considerazione TUTTE le variabili, ma le hai trasformate attraverso questa tecnica.

Questa domanda è importante perchè nel vecchio articolo parlavo di riduzione, ma questo non significa che scartiamo determinate varibili(in termini matematici stiamo effettuando una combinazione lineare)

La PCA permette di costruire delle nuove variabili aggregate significative nel processo di classificazione basandosi su quelle precedenti.

Con l’esempio precedente siamo passati da 8 variabili a 6.

Inoltre con la nuova trasformazione abbiamo identificato una variabile che può variare sensibilmente da borsa a borsa, questo elemento è di fondamentale importanza perché abbiamo identificato un elemento che permette di differenziare ed identificare (labeling) le varie tipologie.

Dal punto di vista matematico abbiamo identificato la nuova variabile caratterizzata dalla maggior varianza.

E’ per questo che si chiama “Componente Principale”, perchè è la variabile con varianza maggiore.

Ora che sappiamo come classificare le borse quale comprare?

Questo punto esula la tecnica PCA.

Nelle teoria classica del pensiero economico questo problema per l’uomo razionale non si porrebbe.

  • Volume da trasportare
  • Identificazione del costo minimo in rapporto al volume (€/cm3)

Purtroppo, non funziona così tranne nel mondo degli ingegneri, una analisi basata sugli acquisti storici della fidanzata/moglie/amante risolverebbe il problema, ma non è semplice.

“Essere ingegnere è praticamente una malattia. A una donna, moglie d’ingegnere si potrebbe chiedere:  “Signora, suo marito come sta? E’ ancora ingerere?” E lei potrebbe risponere: “No, adesso sta un po’ meglio” -Luciano de Crescenzo – I pensieri di Bellavista

Un’analisi delle frequenze delle caratteristiche degli acquisti passati, magari modellizzata attraverso il teorema di Bayes, potrebbe portarvi ad acquistare la “borsa più frequente” che non è quella “che la farebbe più felice”.

Quello che potete però fare è assegnare dei pesi alle varie variabili e quindi fare un’analisi delle frequenze pesate.

Un metodo potrebbe essere quello di assegnare un peso maggiore alle borse utilizzate il sabato sera, rispetto a quelle utilizzate tutti i giorni.

Scegliete successivamente il modello di borsa con la frequenza pesata maggiore e, con una certa probabilità, avrete scelto l’alternativa che massimizza l’obiettivo (o in altri termini minimizza l’errore).

La descrizione della PCA di questo articolo è estremamente qualitativa e semplifica molte ipotesi alla base. Nel precedente è possibile vedere come cambia la correlazione tra le variabili ed il p-value con un piccolo script in Python.

Quello che farò nell’ultimo post dedicato a questo strumento statistico sarà realizzare una spiegazione estremamente tecnica e sintetica corredata da un’opportuno script in Python.

Grazie per aver letto l’articolo!

Un abbraccio

Andrea

ps se ci sono errori scrivimi pure 🙂

Lascia un commento

Archiviato in Ingegneria, Tecnologia

Non solo Teoria

Ho ricevuto dei feedback negativi sull’ultimo post molto interessanti, sia da Filippo che da Francesco, organizzerò una cena a Formia per trattarli meglio. Una bella grigliata, una bottiglia di vino, un confronto in amicizia (in realtà io vorrei anche provare questo vermouth artigianale –>  https://amzn.to/2v0oles  che mi ha suggerito Luigi della Caffetteria, si dovrebbe trovare intorno ai 18/20€) ed imparare a fare un Negroni decente.

Ma non è di questo che voglio parlarvi!

Voglio parlarvi della dicotomia tra pratica e teoria.

Che sia il medico, che sia qualsiasi altra professione, studiare soltanto non è sufficiente, c’è bisogno di pratica.

Ma la pratica a sua volta ha bisogno di studio per affinare la tecnica.

Voi non vi fareste mai operare da un medico che ha studiato tutto sui libri ma non ha esperienza pratica, ne fareste fare esperienza sulla vostra pelle ad un medico che non ha studiato nulla.

Io tendo ad essere molto teorico, a studiare un problema in tutte le sue sfaccettature prima di arrivare al risultato finale e questa tendenza può essere estremamente negativa se non la si compensa con un po’ di pratica.

Questo è verissimo soprattutto con Python.

 

“La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. Noi abbiamo messo insieme la teoria e la pratica: non c’è niente che funzioni e nessuno sa il perchè”-Albert Einstein *

Durante le prossime settimane riuscirò a dedicare 20h a Python e l’errore che potrei commettere è quello di stare solo sui libri o sui corsi online e focalizzarmi sulla teoria.

Per evitare questo ho creato delle etichette per le attività che registro attraverso la Tecnica del Pomodoro.

Queste etichette servono per un piccolo programma (uno script) che riceve come input le informazioni su come ho distribuito il tempo nell’ultima settimana e mi restituisce la % di completamento, sulla base di una proporzione che deve esserci tra Pratica, Teoria e Comunicazione del Lavoro Svolto, in sintesi:

  • Lavoro 10 h
  • Studio 6 h
  • Marketing 4h

Lo script è molto grezzo e perfettibile, potevo sfruttare dei cicli for e renderlo più leggibile (vi ringrazio in anticipo per ogni feedback positivo su cosa va potenziato e negativo su cosa va migliorato).

 

La prima parte del programma mi aggiorna sul come sta procedendo l’esperienza con Python, uno script di cui vi avevo già parlato, la seconda parte è quella che valuta il “mix”.

 

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure, se ti è piaciuto ricondividilo! 🙂

 

In [2]:
import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np
from datetime import datetime, timedelta


va='Python'
tvoi='Length'

csvname="logs2.csv"
#read the csv	
columns_name=['Year', 'Month', 'Day', 'Time', 'Length', 'Start', 'End', 'Activity']
dfraw=pd.read_csv(csvname,names=columns_name,sep=',',skiprows=1,skipfooter=0, index_col=False)


dfraw[tvoi] = dfraw[tvoi].astype('str')
mask = (dfraw[tvoi].str.len() == 6) 
dfraw = dfraw.loc[mask]

dfraw[tvoi]=dfraw[tvoi].str.strip()

dfraw[tvoi]=pd.to_datetime(dfraw[tvoi], format='%M:%S')
dfraw['Date'] = dfraw.apply(lambda row: datetime(row['Year'], row['Month'], row['Day']), axis=1)


pythondf=dfraw[(dfraw['Activity'].str.contains("Python",na=False)) | (dfraw['Activity'].str.contains("python",na=False))] 
numacti=pythondf.groupby('Date').count()
numacti=numacti['Activity']
numacti=numacti.divide(2)
cumulata=numacti.cumsum()


day=pd.concat([numacti, cumulata], axis=1)
day.columns=['pgiorno','cumulata']
maxh=cumulata.max()
plt.plot(day.index,day['cumulata'])
plt.xticks(rotation=90)
plt.title('Totale ore di studio e lavoro con Python (%d ore)' %(maxh))
plt.tight_layout()
plt.show()
In [26]:
#Questa parte è per l'analisi della settimana 
python_work=10
python_study=6
sutdy='study'
marketing='marketing'

python_marketing=4
total=python_work+python_study+python_marketing

#Selezioniamo solo gli ultimi giorni oggetto di analisi 
days=7
cutoff_date= pythondf['Date'].iloc[-1]- pd.Timedelta(days=days)
print(cutoff_date)
last_7days= pythondf[pythondf['Date'] > cutoff_date] 
#Qualsiasi attivita' che non abbia come label "marketing" o "study" "datacamp" "ripasso" "libro" é considerata "work"
#Per del codice migliore cercherò nei prossimi log di avere solo tre label study work marketing come metag
study_mask=(last_7days['Activity'].str.contains("ripasso",na=False) | last_7days['Activity'].str.contains("datacamp",na=False)) | (last_7days['Activity'].str.contains("Libro",na=False))
pythondf_study=last_7days[study_mask]

pythondf_marketing=last_7days[last_7days['Activity'].str.contains("marketing",na=False)]


pythondf_work=last_7days[~study_mask]

#Ricordando che i pomodori sono slot da 30 min 
#dobbiamo contare per categoria il numero di pomodori e dividere per 2
#Qui sotto si poteva realizzare un ciclo for, scusate la pigrizia, suggerimenti ben accetti 

print("Weekly % of Python Working",round(pythondf_work['Activity'].count()/2/python_work*100,2))
print("Weekly % of Python Study", round(pythondf_study['Activity'].count()/2/python_study*100,2))
print("Weekly % of Python Marketng",round(pythondf_marketing['Activity'].count()/2/python_marketing*100,2))
2018-07-18 00:00:00
Weekly % of Python Working 45.0
Weekly % of Python Study 58.33
Weekly % of Python Marketng 0.0

 

*fonte da verificare

Lascia un commento

Archiviato in riflessioni, Salute e Benessere, Scritti sparsi, Tecnologia

Innovazione PI-Campus e riflessioni

Il piano di ieri era quello di andare a tornare in giornata da Roma per l’evento del PI-Campus con Carlo Gualandri e Roberto Bonanzinga.

La realtà però è sempre diversa e così, dopo l’evento, mi sono ritrovato a mezzanotte all’inizio del concerto dei Punkreas all’Acrobax in giacca, camicia e pantalone (la foto con occhiaie rende meglio).


Sveglia alle 07 e treno del ritorno per la CaliFormia alle 8:30, fortunatamente ho dormito a casa di due InnLaber, Giorgia e Stefano, Innlab 13.

Il livello qualitativo dell’evento del PI-Campus era elevatissimo, sia per gli oratori che per i partecipanti.

Carlo è stato il fondatore di:

  1. virgilio.it
  2. Fineco
  3. Gioco Digitale

Roberto invece ha lavorato per 7 anni in una delle società di Venture Capital più importanti d’Europa Balderton Capital ed ha investito in:

  • Banjo
  • BlingNation
  • Contentful
  • Depop
  • FutureAdLab
  • LIfeCake
  • SaatchiArt
  • Storylane
  • Tictail
  • Vivino
  • Wooga

A questo aggiungo che è stato veramente un piacere rivedere buona parte della comunità romana di InnovAction Lab ed in particolare essere aggiornato sui loro progetti, i loro successi e, capita, insuccessi (ndr. purtroppo si notava l’assenza di Guglielmo Innlab ’12, Salvucci Innlab ’12, De Carlo Innlab ’13 e Giulio Innlab ’14).

Dall’evento, sia durante la conferenza di Carlo e Roberto, sia durante il successivo aperitivo, sono nate e ri-nate molte riflessioni:

  • Se fondi un’azienda o startup il valore creato per il cliente sarà nella tecnologia innovativa o nel servizio.  Un errore che spesso noto (e che ho commesso anche io con Wheelab) è il focus sui problemi tecnologici e non sui problemi inerenti all’organizzazione del servizio che si vuole offrire
  • Commettere errori è accettabile (non positivo), nel momento in cui stai testando delle ipotesi della tua idea, se commetti errori senza aver elaborato delle ipotesi stai sprecando tempo e denaro, probabilmente nemmeno tuo, ma quello di altri. Su questo punto Roberto è stato chiarissimo “Quando decido in quale startup investire il foglio excel mi interessa per capire come allocheranno nei prossimi 12 mesi i soldi che gli darò, questo è un mestiere fondato sulle eccezioni”
  • La vecchiaia ti porta irreparabilmente ad avere meno energie e, si spera, più esperienza. L’esperienza ti permette di commettere meno errori e conseguentemente risparmiare energie.
  • I founder sono fondamentali, passerai molto più tempo con loro che con tua moglie (ma sarà sempre lei la risposta alla domanda di Ruben(Innlab ’12):  “Cosa ti toglie il fiato in questo periodo?”)
  • Se un determinato processo umano in azienda è ripetuto con una certa frequenza è possibile automatizzarlo?
  • Costruire un’azienda è difficilissimo, farlo in Italia ancora di più, non c’è nessun premio per chi partecipa ad una maratona con una borsa piena di mattoni e non riesce a terminarla, se ci sono ambienti più favorevoli bisogna spostarsi
  • Silvio Gulizia, Innlab 13, caro amico, ha scoperto che esiste un BBQ InnLab che si tiene ogni anno il primo venerdì dopo ferragosto e quest’anno è alla sesta edizione, meglio tardi che mai
  • Per la sesta edizione del BBQ Innlab si stanno già organizzando con le macchine da Bari
  • I tramonti di Roma sono un’emozione immensa, ieri il cielo era terso ed al calar del sole uno spicchio di luna illuminava la Capitale, chi corre con i mattoni lo fa’ per amore, lo capisco pienamente

 


Dopo l’evento, il tutto casualmente, siamo scappati in un’altra villa del PI-Campus a giocare a biliardino, un bagno di sangue, sono vergognosamente fuori allenamento. Successivamente siamo andati al concerto dei Punkreas per l’uscita del loro nuovo EP all’Acrobax.

Sono tornato temporaneamente da Londra e di cose da raccontare ce ne sono tantissime, appena ho un attimo di respiro le racconterò tutte, purtroppo Maggio con tutte queste comunioni è un momento duro, a tratti durissimo.

Lascia un commento

Archiviato in Startup, Tecnologia

DataCamp.com considerazioni sul “DataScientist Career Track with Python”

Ieri, 30 Dicembre, ho finito il “Career Track da Data Scientist con Python” su DataCamp.com.

E’ stata una bella avventura durata per la precisione 226 ore(monitorate con la tecnica del Pomodoro).

DataCamp

Ero troppo pigro da rimuovere la parola “Working” 

Il piano di studi  è composto da 20 corsi, ai quali ho aggiunto due su SQL e PostgreSQL .

 

Il percorso è costato 180$, in realtà con 180$ ho accesso ad un anno di corsi, quindi potrei anche seguirne altri (e dopo Febbraio farò così) e scadrà ad Agosto 2019.

E’ stato veramente interessante ed ho scoperto ua disciplina che mi appassiona tantissimo fondendo più materie.

Quello che ho apprezzato del percorso è stata la struttura per moduli, inoltre ogni 5 minuti di teoria seguivano almeno tre esercizi pratici e non era prevista una conoscenza iniziale di Python, per quanto delle basi di programmazione le avessi acquisite studiando un po’ di C con Arduino.

Lo consiglio?

Si, se la materia interessa, ma successivamente è necessario dedicarsi a dei propri progetti per implementare e consolidare quegli insegnamenti che altrimenti possono essere dimenticati in fretta.

Una nota negativa, sul sito c’è scritto che tutto il piano di studi duri 67h, non ho la più pallida idea di come abbiano fatto i conti, sarebbero 3,35 h per corso, ma, basato sulla mia esperienza personale, non credo sia una stima veritiera.

Gli sforzi ed il tempo necessario per maturare i concetti spiegati sono molto maggiori.

Adesso è tempo di mettere in pratica tutto quello che ho studiato!

Gennaio, oltre alla preparazione per l’esame di stato e la ricerca di un posto di lavoro, lo dedicherò alla realizzazione su Git Hub di un mio personale portfolio.

In realtà ho anche promesso a Diego che avrei scritto un paio di articoli sul suo blog in cui spiegavo cosa fossero in Statistica i test di verifica delle ipotesi e gli errori legati a questi test.

Anche perché come potete vedere dai due grafici, quasi tutto il tempo dedicato in questi mesi su Python è stato dedicato allo studio su DataCamp(226h su 290h totali) piuttosto che a qualche progetto da DataScientist.

 

Python31 12

Un abbraccio e buon anno

Lascia un commento

Archiviato in Ingegneria, Tecnologia

Riflessioni su un approccio di Design Thinking proposto dall’ IDEO

Il numero di Settembre di HBR era focalizzato sul Design Thinking, a causa della sessione estiva l’ho letto in ritardo.

Un articolo che mi ha fatto riflettere è stato “Design to action”, scritto dal CEO della IDEO. Nell’articolo si discuteva di come il cambiamento nelle abitudini o nell’accettazione di una nuova strategia richiedesse una gradualità di azione.

L’Apple quando lanciò sul mercato il primo Ipod sapeva che l’introduzione dei giochi, delle varie app come quella per correre, non potevano ne dovevano avvenire in un unico momento.

Questo perché gli utenti inizialmente avrebbero dovuto accettare un nuovo prodotto che cambiava le loro abitudini di ascolto. Soltanto una volta che questo cambiamento era stato accettato potevano introdurre nuove funzionalità.

Lo stessa filosofia di approccio era stata adotatta dal progettista (o designer se preferite) del Palm Pilot Jeff Hawkins. Il palmare inizialmente doveva fare poche cose Rubrica-Calendario- Note perché altrimenti i clienti non sarebbero riusciti ad accettare un cambio di abitudini troppo rapido.

Secondo gli autori l’accettazione di una nuova strategia all’interno di una azienda, può e deve seguire un iter simile.

Spesso c’è uno scarso “Commitment” (perdonatemi, manon riesco a trovare un termine che renda l’idea in italiano) da parte dei manager nei confronti delle strategie definite da parte dei consulenti aziendali (indipendentemente se interni o esterni).

Le obiezioni più frequenti da parte dei dirigenti nei confronti delle nuove strategie sono:

  1. Questa strategia non è in linea con i problemi che riteniamo critici
  2. Questi non sono gli scenari che avremmo considerato
  3. Queste non sono le analisi che avremmo condotto
  4. Questa non è la soluzione che avremmo scelto

In questo modo l’esecuzione della strategia diventa un’eccezione piuttosto che una regola ed il problema è tanto più marcato quanto più la strategia si allontana dallo status quo.

La soluzione proposta dal CEO dell’IDEO si struttura attraverso un processo interattivo ed iterativo che si può articolare come segue:

  • Il consulente analizza una serie di problemi e ne discute con l’executive “Guarda questi sono i problemi che pensiamo essere critici, in quest’ordine di priorità, che ne pensi? Cosa ci sta sfuggendo?”
  • Sulla base di questa “sintesi” con chi poi implementerà la strategia, il designer avanza nel processo identificando dei possibili scenari da analizzare successivamente.

Anche in questo caso, attraverso l’interazione con l’executive, il designer può valutare la risposta, il feedback e capire se ha identificato tutti gli scenari o c’è qualche lacuna

  • Definiti in comune gli scenari da approfondire il designer inizia a scavare nelle analisi e, successivamente, la definizione della strategia diventa una formalità.

Personalmente non sono convinto di due punti:

  • della semplificazione nella definizione della strategia finale
  • delle dinamiche e condizionamenti che si potrebbero generare da un eccesso di feedback

E’ un articolo molto sintetico, di un processo molto più articolato ed alcune dinamiche vengono analizzate in questo libro, quindi un corretto approccio per avere una visione più chiara sarebbe leggere tutto il libro e non solamente quattro pagine sulla Harvard Business Review.

Mi torna alla mente è la massima di Henry Ford che affermava “Se avessi chiesto ai miei clienti cosa volevano, mi avrebbero chiesto probabilmente un cavallo più veloce”.

Inoltre il metodo, almeno per come è stato descritto, non sembrerebbe adatto a cambi drastici di direzione in tempi rapidi quando invece può essere richiesto da un mercato estremamente dinamico e volatile.

Ma sono delle mie personalissime considerazioni anche un po’ acerbe.

Lascia un commento

Archiviato in Scritti sparsi, Startup, Tecnologia

Is Italy the next EU Tech Hub? NO, sorry, maybe Eu Tech Burp

 

E’ da un po’ che non mi faccio vivo a causa un periodo di esami intenso (che poteva anche andare meglio #mapazienza).

Durante il periodo esami mi ha incuriosito molto una mail  di CB Insights in cui domandavano “Is Italy the next EU Tech Hub? Deals Grow 208%” (scusate lo spoiler ma la risposta è NO!)

italy

Porcamiseria! E’ tantissimo e io non me ne sono accorto!

Così mi sono iscritto alla versione di prova di CB Insights e ho fatto le pulci, sommariamente, per capire effettivamente dove era la fregatura e quale fosse la reale situazione.

Tre punti:

  • L’arco di riferimento è troppo breve un anno può essere caratterizzato da una anomalia, quello che andrebbe verificato è un periodo di riferimento maggiore, se si vuole trovare una risposta seria
  • Tech dovrebbe essere una tipologia di investimenti, almeno da quello che ho capito dal sito CB Insights (che distinguono in altre categorie come Mobile, CleanTeach, IOT), “dovrebbe” perché non ho letto e trovato velocemente una nota metodologica dell’indagine
  • Non fa riferimento agli investimenti fatti da Business Angels,o almeno non si capisce, puntualizzo questa cosa perché andando a selezionare i dati è possibile analizzarli basandosi su cinque categorie (VC, Corportate VC, Private Equity, Angel, Other)

Così ho voluto studiare velocemente lo scenario europeo dal 2011 al 2014 considerando 2 indicatori (Valore dell’Investimento, Numero degli investimenti) e 8 nazioni. Non contento ho buttato uno sguardo anche alle exit degli ultimi 5 anni, concentrandomi sulle acquisizioni e lasciando perdere le IPO, conclusione? Prima uno sguardo ai grafici.

(cliccandoci si possono ingrandire)

Num InvestimentiValore Investimenti

Exit

L’Italia ha ancora da pedalare e guardando ai nostri cugini tutto si può dire tranne che nel Belpaese sia scoppiata la moda delle startup.

 

ps Sono abbastanza convinto della bontà dei dati e con i tempi disponibilili ho anche effettuato una revisione là dove vi erano valori anomali (vedi l’andamento della Svizzera, nel dettaglio il 2012)

Ho escluso dall’analisi i Fondi di Private Equity e gli investimenti classificati per “Other”.

Non ho analizzato le Exit per Spagna e Svezia perchè era terminato il Trial 🙂

Fonte dati: Database CB Insights

Lascia un commento

Archiviato in Startup, Tecnologia