Thursday, October 22, 2015

Data Management and Visualization - Wesleyan University (Coursera) - Week 4 - Ammar Shigri

CODE

import pandas
import numpy
import seaborn
import matplotlib.pyplot as plt

pandas.set_option('display.float_format',lambda x:'%f'%x)



data = pandas.read_csv('20151009gap.csv', low_memory=False)

print(len(data))            #Number of observations (Rows)
print(len(data.columns))    #Number of Variables (Columns)




data['polityscore'] = data['polityscore'].convert_objects(convert_numeric=True)
data['suicideper100th'] = data['suicideper100th'].convert_objects(convert_numeric=True)
data['employrate'] = data['employrate'].convert_objects(convert_numeric=True)
data['incomeperperson'] = data['incomeperperson'].convert_objects(convert_numeric=True)
data['co2emissions'] = data['co2emissions'].convert_objects(convert_numeric=True)


#Making a copy of data to sub5 data frame
sub5=data.copy()

#Filling empty records with avearge value of the column, I am doing this invidually to only numeric columns
#fillna function is used to fill NaN with mean values. This helps to make our analysis more accurate. Thus managing empty spaces.
sub5['polityscore'].fillna((sub5['polityscore'].mean()), inplace=True)
sub5['suicideper100th'].fillna((sub5['suicideper100th'].mean()), inplace=True)
sub5['employrate'].fillna((sub5['employrate'].mean()), inplace=True)
sub5['incomeperperson'].fillna((sub5['incomeperperson'].mean()), inplace=True)
sub5['co2emissions'].fillna((sub5['co2emissions'].mean()), inplace=True)



# categorize quantitative variable based on customized splits using cut function - making a new variable polity4
# splits into 4 groups
sub5['polity4'] = pandas.cut(sub5.polityscore, [-10, -5, 0, 5, 10])
f1 = sub5['polity4'].value_counts(sort=False)
f2 = sub5['polity4'].value_counts(sort=False, normalize=True)

print ('\n\n Polity Score divided into 4 parts, frequesty and percentage of each is given \n\n')
print(f1)
print(f2)


# quartile split (use qcut function & ask for 4 groups - gives you quartile split)
sub5['suicide4']=pandas.qcut(sub5.suicideper100th, 4, labels=["1=0%tile","2=25%tile","3=50%tile","4=75%tile"])
f3 = sub5['suicide4'].value_counts(sort=False)
f4 = sub5['suicide4'].value_counts(sort=False, normalize=True)

print ('\n\n suicide Score divided into 4 parts, frequesty and percentage of each is given \n\n')
print(f3)
print(f4)



# quartile split (use qcut function & ask for 4 groups - gives you quartile split)
sub5['employ4']=pandas.qcut(sub5.employrate, 4, labels=["1=0%tile","2=25%tile","3=50%tile","4=75%tile"])
f5 = sub5['employ4'].value_counts(sort=False)
f6 = sub5['employ4'].value_counts(sort=False, normalize=True)

print ('\n\n employrate Score divided into 4 parts, frequesty and percentage of each is given \n\n')
print(f5)
print(f6)


"""
#basic scatterplot:  Q->Q
scat1 = seaborn.regplot(x="polityscore", y="suicideper100th", data=data)
plt.xlabel('polityscore')
plt.ylabel('Suicide rate per 100th')
plt.title('Scatterplot for the Association Between Suicide Rate and polityscore')



scat2 = seaborn.regplot(x="employrate", y="suicideper100th", data=data)
plt.xlabel('employrate')
plt.ylabel('Suicide rate per 100th')
plt.title('Scatterplot for the Association Between Suicide Rate and employrate')
"""

# quartile split (use qcut function & ask for 4 groups - gives you quartile split)
print ('employment - 4 categories - quartiles')
data['employrate']=pandas.qcut(data.incomeperperson, 4, labels=["1=25th%tile","2=50%tile","3=75%tile","4=100%tile"])
g1 = data['employrate'].value_counts(sort=False, dropna=True)
print (g1)

# bivariate bar graph 
seaborn.factorplot(x='employrate', y='suicideper100th', data=data, kind="bar", ci=None)
plt.xlabel('employrate')
plt.ylabel('suicideper100th')

OUTPUT




From the bar chart and even the scatter plot I see that there does not any direct relationship between the researched variables. Further analysis is required to look into other variables, or may be the combined effect of variables will have to be studied.

Sunday, October 18, 2015

Data Management and Visualization - Wesleyan University (Coursera) - Week 3 - Ammar Shigri

CODE


import pandas
import numpy


pandas.set_option('display.float_format',lambda x:'%f'%x)



data = pandas.read_csv('20151009gap.csv', low_memory=False)

print(len(data))            #Number of observations (Rows)
print(len(data.columns))    #Number of Variables (Columns)




data['polityscore'] = data['polityscore'].convert_objects(convert_numeric=True)
data['suicideper100th'] = data['suicideper100th'].convert_objects(convert_numeric=True)
data['employrate'] = data['employrate'].convert_objects(convert_numeric=True)
data['incomeperperson'] = data['incomeperperson'].convert_objects(convert_numeric=True)
data['co2emissions'] = data['co2emissions'].convert_objects(convert_numeric=True)



#Week 3 - Managing Data Assignment




#Making a copy of data to sub5 data frame
sub5=data.copy()

#Filling empty records with avearge value of the column, I am doing this invidually to only numeric columns

#fillna function is used to fill NaN with mean values. This helps to make our analysis more accurate. Thus managing empty spaces.

sub5['polityscore'].fillna((sub5['polityscore'].mean()), inplace=True)
sub5['suicideper100th'].fillna((sub5['suicideper100th'].mean()), inplace=True)
sub5['employrate'].fillna((sub5['employrate'].mean()), inplace=True)
sub5['incomeperperson'].fillna((sub5['incomeperperson'].mean()), inplace=True)
sub5['co2emissions'].fillna((sub5['co2emissions'].mean()), inplace=True)



# categorize quantitative variable based on customized splits using cut function - making a new variable polity4
# splits into 4 groups
sub5['polity4'] = pandas.cut(sub5.polityscore, [-10, -5, 0, 5, 10])
f1 = sub5['polity4'].value_counts(sort=False)
f2 = sub5['polity4'].value_counts(sort=False, normalize=True)

print ('\n\n Polity Score divided into 4 parts, frequesty and percentage of each is given \n\n')
print(f1)
print(f2)


# quartile split (use qcut function & ask for 4 groups - gives you quartile split)
sub5['suicide4']=pandas.qcut(sub5.suicideper100th, 4, labels=["1=0%tile","2=25%tile","3=50%tile","4=75%tile"])
f3 = sub5['suicide4'].value_counts(sort=False)
f4 = sub5['suicide4'].value_counts(sort=False, normalize=True)

print ('\n\n suicide Score divided into 4 parts, frequesty and percentage of each is given \n\n')
print(f3)
print(f4)



# quartile split (use qcut function & ask for 4 groups - gives you quartile split)
sub5['employ4']=pandas.qcut(sub5.employrate, 4, labels=["1=0%tile","2=25%tile","3=50%tile","4=75%tile"])
f5 = sub5['employ4'].value_counts(sort=False)
f6 = sub5['employ4'].value_counts(sort=False, normalize=True)

print ('\n\n employrate Score divided into 4 parts, frequesty and percentage of each is given \n\n')
print(f5)
print(f6)





OUTPUT


Polity Score divided into 4 parts, frequesty and percentage of each is given 


(-10, -5]    23
(-5, 0]      27
(0, 5]       71
(5, 10]      90
dtype: int64
(-10, -5]   0.107981
(-5, 0]     0.126761
(0, 5]      0.333333
(5, 10]     0.422535
dtype: float64


suicide Score divided into 4 parts, frequesty and percentage of each is given 


1=0%tile     54
2=25%tile    53
3=50%tile    53
4=75%tile    53
dtype: int64
1=0%tile    0.253521
2=25%tile   0.248826
3=50%tile   0.248826
4=75%tile   0.248826
dtype: float64


employrate Score divided into 4 parts, frequesty and percentage of each is given 


1=0%tile     56
2=25%tile    68
3=50%tile    36
4=75%tile    53
dtype: int64
1=0%tile    0.262911
2=25%tile   0.319249
3=50%tile   0.169014
4=75%tile   0.248826
dtype: float64


ANALYSIS
1 - Handling missing data
To handle missing data, I filled the missing records with mean of the column. This was done though the code 

sub5['polityscore'].fillna((sub5['polityscore'].mean()), inplace=True)

This helps to make our analysis more accurate.

2 - Making three new variables
I collapsed polity score, suicide rate and employrate to make 3 new variables names polity4, suicide4 and employ4. The data was split into 4 parts for each variable, I used 2 different methods to accomplish this. The pandas.qcut and pandas.cut functions were used.

3 - Analysis outcome
From the output I see that polity score from 5 to 10 accounts for 42% of the data.
The suicide rate is rather evenly distributed in the four percentages, I will need to look into this more closely to determine new insight.
and finally the employment rate is also evenly distributed, but the lowest is at the 50%. That gives me additional insight to look in that specific area to gain new knowledge or why its lowest at 50 to 75%.



Sunday, October 11, 2015

Data Management and Visualization - Wesleyan University (Coursera) - Week 2 - Ammar Shigri

CODE

import pandas
import numpy


pandas.set_option('display.float_format',lambda x:'%f'%x)



data = pandas.read_csv('20151009gap.csv', low_memory=False)

print(len(data))            #Number of observations (Rows)
print(len(data.columns))    #Number of Variables (Columns)




data['polityscore'] = data['polityscore'].convert_objects(convert_numeric=True)
data['suicideper100th'] = data['suicideper100th'].convert_objects(convert_numeric=True)
data['employrate'] = data['employrate'].convert_objects(convert_numeric=True)
data['incomeperperson'] = data['incomeperperson'].convert_objects(convert_numeric=True)
data['co2emissions'] = data['co2emissions'].convert_objects(convert_numeric=True)


"""
print("count of similar suiciderate distributed over countries, plus percentage of that value")
c1 = data["suicideper100th"].value_counts(sort=False, dropna = False)
print (c1)

p1 = data["suicideper100th"].value_counts(sort=False, normalize=True)
print (p1)


print("count of similar employment rate distributed over countries, plus percentage of that value")
c2 = data["employrate"].value_counts(sort=False, dropna = False)
print (c2)

p2 = data["employrate"].value_counts(sort=False, normalize=True)
print (p2)


print("count of similar income distributed over countries, plus percentage of that value")
c3 = data["incomeperperson"].value_counts(sort=False, dropna = False)
print (c3)

p3 = data["incomeperperson"].value_counts(sort=False, normalize=True)
print (p3)


print("count of similar political score distributed over countries, plus percentage of that value")
c4 = data["polityscore"].value_counts(sort=False, dropna = False)
print (c4)

p4 = data["polityscore"].value_counts(sort=False, normalize=True)
print (p4)


print("count of similar Co2Emissions distributed over countries, plus percentage of that value")
c5 = data["co2emissions"].value_counts(sort=False, dropna = False)
print (c5)

p5 = data["co2emissions"].value_counts(sort=False, normalize=True)
print (p5)


ct1 = data.groupby("suicideper100th").size()
print (ct1)

pt1 = data.groupby("suicideper100th").size()*100/len(data)
print(pt1)
"""



sub1=data[(data['incomeperperson']<=110000) & (data['polityscore']<=10) & (data['employrate']<=60) & (data['suicideper100th']>=1)]



sub2=sub1.copy()


print('\n\n\n\n\n\n\ncriteria-1 / what is polity score when Employrate is less and equal to 60\n')

print('\n\ncount employrate from table with criteria-1\n')
c6 = sub2["employrate"].value_counts(sort=False)
print (c6)


"""
print('percentage suicideper100th from table with criteria-1')
p6 = sub2["suicideper100th"].value_counts(sort=False, normalize=True)
print (p6)
"""


print('\n\ncount polityscore per person from table with criteria-1\n')
c7 = sub2["polityscore"].value_counts(sort=False)
print (c7)

"""
print('\npercentage polityscore per person from table with criteria-1\n')
p7 = sub2["polityscore"].value_counts(sort=False, normalize=True)
print (p7)
"""

print('\n\ncount suicideper100th from the table with criteria-1\n')
c10 = sub2["suicideper100th"].value_counts(sort=False)
print (c10)





sub3=data[(data['incomeperperson']<=110000) & (data['polityscore']<=10) & (data['employrate']>60) & (data['suicideper100th']>=1)]



sub4=sub3.copy()


print('\n\n\n\n\n\n criteria-2 / what is polity score when Employrate is greater than 60\n')

print('\n\n\ncount employrate from table with criteria-1\n')
c8 = sub4["employrate"].value_counts(sort=False)
print (c8)


print('\n\n\ncount polityscore per person from table with criteria-2\n')
c9 = sub4["polityscore"].value_counts(sort=False)
print (c9)

print('\n\n\ncount suicideper100th from the table with criteria-1\n')
c11 = sub4["suicideper100th"].value_counts(sort=False)
print (c11)















OUTPUT from the code


criteria-1 / what is polity score when Employrate is less and equal to 60
count employrate from table with criteria-1
52.099998    1
57.200001    1
56.299999    2
51.299999    1
58.599998    1
59.299999    1
53.099998    1
58.799999    2
46.900002    1
59.900002    3
58.500000    1
34.900002    1
46.400002    1
54.400002    1
37.400002    1
57.900002    1
39.000000    1
40.099998    1
47.799999    1
42.400002    1
47.099998    1
45.700001    1
46.000000    2
47.299999    3
48.599998    2
49.599998    1
50.500000    1
51.400002    1
52.700001    1
53.400002    2
            ..
59.099998    2
48.700001    1
58.900002    3
49.500000    1
41.099998    1
57.599998    1
56.400002    1
50.900002    2
52.500000    1
51.000000    2
42.799999    1
56.799999    1
57.299999    1
59.000000    1
44.299999    1
41.599998    1
50.700001    1
57.500000    2
53.500000    1
58.200001    2
54.599998    1
51.200001    2
55.099998    1
55.400002    1
59.799999    1
55.900002    2
46.200001    1
59.700001    1
42.000000    1
56.500000    1
Name: employrate, dtype: int64
count polityscore per person from table with criteria-1
0.000000       2
1.000000       1
2.000000       1
3.000000       2
4.000000       2
5.000000       4
6.000000       4
7.000000       5
8.000000      11
9.000000      12
10.000000     22
-10.000000     1
-9.000000      3
-8.000000      1
-7.000000      4
-6.000000      1
-4.000000      4
-3.000000      3
-2.000000      2
Name: polityscore, dtype: int64
count suicideper100th from the table with criteria-1
5.888479     1
1.799904     1
2.206169     1
3.741588     1
4.848770     1
5.931845     1
6.597168     1
7.699330     1
15.542603    1
9.216544     1
10.171870    1
11.213970    1
12.367980    1
13.094370    1
14.776250    1
15.953850    1
16.959240    1
17.032646    1
18.583826    1
16.234370    1
20.317930    1
22.404560    1
6.882952     1
26.874690    1
9.875281     1
3.940259     1
10.059320    1
33.341860    1
35.752872    1
2.816705     1
            ..
7.858619     1
8.021970     1
9.211085     1
8.188375     1
5.838315     1
20.162010    1
10.571910    1
7.060184     1
18.954570    1
13.637060    1
3.563325     1
27.874160    1
19.422610    1
6.265789     1
4.417507     1
6.021882     1
7.745065     1
5.213720     1
12.122269    1
4.119620     1
10.645740    1
12.872222    1
15.714571    1
12.216769    1
13.089616    1
7.214221     1
15.538490    1
6.105282     1
20.369590    1
14.091530    1
Name: suicideper100th, dtype: int64
 criteria-2 / what is polity score when Employrate is greater than 60
count employrate from table with criteria-1
62.299999    1
73.199997    1
71.000000    1
73.099998    1
72.000000    1
68.000000    1
62.400002    1
61.799999    1
75.199997    1
60.400002    2
71.699997    1
61.700001    1
62.700001    1
63.900002    1
63.799999    1
78.199997    2
63.700001    1
63.099998    1
60.900002    1
61.500000    3
63.200001    1
63.500000    1
64.500000    1
65.099998    1
66.199997    1
65.900002    1
68.099998    1
65.000000    3
70.400002    2
71.599998    1
72.800003    1
64.199997    1
65.599998    1
75.699997    1
76.000000    1
77.000000    1
78.900002    1
79.800003    1
80.699997    1
81.300003    1
64.900002    1
83.199997    2
81.500000    1
61.000000    2
60.700001    1
71.800003    1
66.000000    1
64.300003    1
67.300003    1
83.000000    1
68.300003    1
68.900002    1
60.500000    1
66.800003    1
71.300003    1
61.299999    1
Name: employrate, dtype: int64
count polityscore per person from table with criteria-2
0.000000       2
1.000000       2
2.000000       1
4.000000       2
5.000000       3
6.000000       6
7.000000       8
8.000000       7
9.000000       2
10.000000     10
-1.000000      4
-10.000000     1
-8.000000      1
-7.000000      6
-6.000000      1
-5.000000      2
-4.000000      2
-3.000000      2
-2.000000      3
Name: polityscore, dtype: int64
count suicideper100th from the table with criteria-1
1.380965     1
2.034178     1
4.414990     1
5.767406     1
6.057740     1
7.443826     1
8.470030     1
9.873761     1
10.100990    1
11.396111    1
8.973104     1
13.548420    1
14.554677    1
16.913248    1
2.234896     1
11.980497    1
25.404600    1
26.219198    1
9.127511     1
1.658908     1
10.550375    1
2.515721     1
4.777007     1
4.751084     1
10.071942    1
9.847460     1
1.922485     1
12.411181    1
13.905267    1
12.019036    1
            ..
14.547167    1
4.961071     1
11.653322    1
8.204222     1
4.409532     1
8.283071     1
8.913363     1
10.171735    1
8.211067     1
8.164005     1
9.257976     1
10.129350    1
1.392951     1
6.369888     1
13.239810    1
14.713020    1
9.927033     1
11.655210    1
4.907702     1
6.288555     1
4.484753     1
12.179760    1
11.115830    1
14.680936    1
12.289122    1
13.117949    1
7.184853     1
6.811439     1
10.937718    1
14.538357    1
Name: suicideper100th, dtype: int64



Description

Definition of variables
1- Employrate (2007 total employees age 15+ (% of population)
Percentage of total population, age above 15, that has been employed during the given year.
2 - Polityscore (2009 Democracy score (Polity) Overall polity score from the Polity IV dataset, calculated by subtracting an autocracy score from a democracy score. The summary measure of a country's democratic and free nature. -10 is the lowest value, 10 the highest.)
3 - Incomeperperson (2010 Gross Domestic Product per capita in constant 2000 US$. The
inflation but not the differences in the cost of living between countries has been taken into account.)
4 - Co2emissions (2006 cumulative CO2 emission (metric tons), Total amount of CO2
emission in metric tons since 1751. CDIAC (Carbon Dioxide Information Analysis Center)
5 - Suicideper100TH 2005 Suicide, age adjusted, per 100 000 Mortality due to self-inflicted injury, per 100 000 standard population, age adjusted

I am particularly interested in finding out How does Suicide rate relate to employment rate, Polity score, IncomePerPerson and Co2emissions.

From the output of the code I was able to observe one interesting fact about the polity score how it relates to employrate.

As you can see when employrate is less than 60, the polityscore is more inclined towards higher values of Polityscore.
where as when the employrate is higher than 60, the polityscore is more evenly distributed from higher to lower values.

This is an interesting find and as I previously assumed that employrate and polityscore are positively co-related, which may not be the case and needs to be investigated.

My core goal is to find how suicide rate relates to other variables. But by doing frequency tables I was able to identify something I was not initially aware of.

I will do further research as the course progresses to identify interesting facts about the data.




Friday, October 2, 2015

Data Management and Visualization - Wesleyan University (Coursera) - Ammar Shigri

Wesleyan UniversityData Management and Visualization
Selecting a research questions?


Dataset

I have selected GapMinder data. It enables me to analyze data across multiple countries.

Question
I am particularly interested in finding out How does Suicide rate relate to employment rate?

Hypothesis

It is believed "employment rate" plus variables such as "income" have a negative correlation with the variable "suicide rate". I would like to test with with data analysis.

I will also analyze relationship of Suicide rate with the following variables

1 - Polityscore 
2 - Incomeperperson
3 - Co2emissions

Definition of variables

1- Employrate (2007 total employees age 15+ (% of population)
Percentage of total population, age above 15, that has been employed

during the given year.
2 - Polityscore (2009 Democracy score (Polity) Overall polity score from the Polity IV dataset, calculated by subtracting an autocracy score from a democracy score. The summary measure of a country's democratic and free nature. -10 is the lowest value, 10 the highest.)
3 - Incomeperperson (2010 Gross Domestic Product per capita in constant 2000 US$. The
inflation but not the differences in the cost of living between countries has been taken into account.)
4 - Co2emissions (2006 cumulative CO2 emission (metric tons), Total amount of CO2
emission in metric tons since 1751. CDIAC (Carbon Dioxide Information Analysis Center)
5 - Suicideper100TH 2005 Suicide, age adjusted, per 100 000 Mortality due to self-inflicted injury, per 100 000 standard population, age adjusted


Literature Search terms

Google scholar - "suicide and unemployment" - "Suicide and income"

Literature References

Suicide and Suicidal Behavior - http://epirev.oxfordjournals.org/content/30/1/133.full
GapMinder data - http://www.gapminder.org/
Unemployment and suicide. Evidence for a causal association? - http://jech.bmj.com/content/57/8/594.full

Literature Summary

After the research I have found that similar research has been conducted and suggest Un-employment rate will result in increase of suicide rates. I would like to look into this as well as explore other relations suicide rate might have with income,Co2, Polityscore.

I want to see how does suicide rate relates to different variables and take my analysis further by looking how it relates to the combined effect of these variables as well. Moving into predictive analysis and forecasting value of Suicide rate.

Tuesday, April 23, 2013

Why your goal to achieve positive growth & profit margin can be as easy as telling a story!



Contents












 How to efficiently manage organizational change?
The only genuine competitive advantage is the ability for an organization to change efficiently. It is a proven fact, that for companies to succeed in todays’ competitive market they need to be innovative, customer centric, competitive and blah blah blah! But what does it all boils down to? If we think a bit critically it is quite obvious that we need to change to deal with the changing challenges. The only thing constant is change itself. For instance, customer preferences will change, products will be commoditized, industry growth will decline etc. The need for change is inevitable; organizations that don’t change will eventually lose the battle. So for a company to be successful it needs to change itself to deal with the new challenges. In other words, the real deal or the genuine competitive advantage is the ability for an organization to change efficiently.
Is just managing change enough? No! Of-course Not! We need to efficiently manage change.  This is what this paper is about “How to efficiently manage organizational change?” in other words, managing change cost efficiently & effectively.
The frameworks and research, shared in this paper, is based on research of individuals that are considered “Rock Stars” in the academia as well as in the industry. Research is based on decades of tedious work and experiments in organizations.
Best part is that by the end of this paper you will realize, that achieving your goal (growth & profit) can be as easy as telling a story.



Even though I am sure we are all convinced that there are plenty of reasons for change. But still it is worthwhile to list some important ones. I came across one of the most important reason for change in an article “How to Kill Creativity”, by Teresa M. Amabile (professor at Harvard Business School). The article states that for creativity to prosper in an organization we need a conscious cultural change. Other reasons for change are mentioned in an extraordinary book “Organizational Behavior” by Michael A. Hitt. These are summarized below.
Reasons for organizational change can be divided into two parts, internal & external pressures for change.
1.      Aspiration-performance discrepancies, the differences between desired and actual performance of an organization.
2.      Organization life-cycle, in the beginning the organization is in entrepreneurial stage then it moves to collectivity, then to formalization and in the last to elaboration stage. Each stage calls for change in the organization; if an organization fails to change it will not be able to move forward. For instance an organization in the collectivity stage will have to incorporate formal processes to resolve and prevent coordination and control problems. Then the organization will move into the next stage of formalization.
3.      Changes in the top management, specifically when new people are brought in the company they have their own vision and perspective. Implementation of new strategy calls for change in the organization.
1.      Technological advances forces companies to adapt new technological advances or they will become outdated and ineffective.
2.      Changes in government regulations can affect the whole economy as well as only a single organization. In any case the organization affected will have to respond appropriately that will usually require change.
3.      Changes in societal values can have a significant impact on consumers, employees and investors. In each case organizations have to respond appropriately.
4.      Shifting political dynamics can have impact on different industries and thus companies have to react accordingly.
5.      Changes in demographics can have an impact on consumer demand or it could also have an impact on workforce composition.
6.      Growing international interdependence, companies cannot ignore the benefits of expanding internationally. Thus organizations have to remain flexible in order to adapt to new international markets.
Thus, there are many practical reasons for organizational change. But before I explain the solution, we must have a clear understanding of the key hurdles for organizational change.  The book “Blue Ocean Strategy” by “W. Chan Kim & Renee Mauborgne” (both professors and co-directors of the INSEAD Blue Ocean Strategy Institute) identifies the key hurdles for organizational change.
This book also mentions a shockingly simple and efficient method to overcome these key hurdles. As you recall our goal is not only change management, rather it is efficient change management.





There are basically four key hurdles for organizational change
1.      Cognitive Hurdle
2.      Resource Hurdle
3.      Motivational Hurdle
4.      Political Hurdle
The key to tackling these hurdles efficiently is “tipping point leadership”. As mentioned in the book “Blue Ocean Strategy”
            “Conventional wisdom asserts that the greater the change, the greater the resources and time you will need to bring about results. Instead, you need to flip conventional wisdom on its head using what we call tipping point leadership.”[1]
Tipping point leadership is described as
            “Tipping point leadership hinges on the insight that in any organization, fundamental changes can happen quickly when the beliefs and energies of a critical mass of people create an epidemic movement towards an idea. Key to unlocking an epidemic movement is concentration, not diffusion.”[2]
            “Tipping point leadership builds on the rarely exploited corporate reality that in every organization, there are people, acts and activities that exercise a disproportionate influence on performance. Hence, contrary to conventional wisdom, mounting a massive challenge is not about putting forth an equally massive response where performance gains are achieved by proportional investments in time and resources. Rather, it is about conserving resources and cutting time by focusing on identifying and then leveraging the factors of disproportionate influence in an organization.”[3]
In simple words it is not necessary that for a large change in an organization we need equally large investment in time and resources, rather we need to identify and leverage on factors that may be people, acts and activities that make a big difference. Basically, getting the maximum bang for the buck.
Now let us discuss each hurdle in detail and also how tipping point leadership can be used to overcome these hurdles.

What is cognitive hurdle? Employees in an organization wedded to the status quo. Due to cognitive hurdle employees are unable to see the need for a change in the organization. Conventionally, CEOs use numbers/data to show the need for change to employees. But this approach is not credible enough, as numbers can be manipulated and misleading. Moreover, the messages communicated through numbers do not stick with employees and are abstract for line managers. In other words this is not an effective method. On the other hand as proven by research in neuroscience and cognitive science, people remember and respond most effectively to what they see and experience. So tipping point leadership does not rely on numbers rather they make people experience the need for change first hand by two ways.

First, Employees should see the worst operational problems first hand. They must see and experience the reality themselves. For example, I will share one of my personal experiences. While working at PTCL I really could not understand why our customers complained about the billing department until I experienced the problems first hand. After my direct experience I could see clearly that PTCL was losing revenue and customer satisfaction due to billing discrepancies. The need for improvement (change) in the billing system was urgently required. I was convinced to do something about the problem. Thus, employees must see and experience the worst problems themselves.

Second, Managers should listen to the complaints of most dissatisfied customers first hand. Management should observe the market first hand and should not rely on market surveys conducted by someone else. The top management should actively communicate and engage with customers directly.

No organization has abundance of resources and usually, when leaders are faced with limited resources “Either they trim their ambitions and demoralize their work force all over again, or they fight for more resources from their bankers and shareholders…..acquiring more resources is often a long, politically charged process”[4] So both of these approaches are not the most efficient methods to deal with the limited resources.

What we should do is,
“Instead of focusing on getting more resources, tipping point leaders concentrate on multiplying the value of the resources they have”[5]

How do we multiply the value for the resources? The author gives us the concept of hot spots, cold spots, and horse trading.

 “Hot spots are activities that have low resource input but high potential performance gains. In contrast, cold spots are activities that have high resource input but low performance impact. In every organization, hot spots and cold spots typically abound. Horse trading involves trading your unit’s excess resources in one area for another unit’s excess resources to fill remaining resource gaps.”[6]

The basic idea is to use available resources more efficiently, but going through this framework organization can identify inefficiency in usage of their current resources. Identify hot and cold spots, concentrate resources on hot shots and engage in horse trading to remove any remaining resources gaps.

In order for employees to act they need to be motivated. So how do we quickly and efficiently motivate employees? As mentioned in “Blue Ocean Strategy” the tipping point leaders focus on three factors kingpins, fishbowl management and atomization. Kingpins are the key influencers in the organization. They are natural leaders and very persuasive. Tipping point leaders concentrate their efforts on “Kingpins”. When the kingpins are convinced and motivated the rest of the employees naturally follow. Next, Kingpins actions or inactions are made transparent to everyone, like a fish is transparent in a fishbowl. By placing Kingpins in a fishbowl, intense performance culture is encouraged. But for fishbowl management to work it must be based on “fair process”.  By “fair process” the author means

“engaging all the affected people in the process, explaining to them the basis of decisions and the reasons people will be promoted or side stepped in the future, and setting clear expectations of what that means to employees’ performance.” [7]

The last step is atomization, in this step the whole challenge is broken into smaller challenges.  That is, the responsibilities and goals for everyone are clear and doable. This prevents employees from thinking that the change is “beyond them”.

Additional to these three factors, it is also worthwhile to know that organizations can easily and quickly motivate their employees through intrinsic motivation. Research has shown intrinsic motivation can be increased considerable even by subtle changes in the work environment. [8]
Changes in the organization may be beneficial for some employees, and it can also have a negative impact on some employees. Thus, these individual will resist change. Political hurdles can fail any strategy, thus it is very important to deal with this hurdle effectively.

            “To overcome these political forces, tipping point leaders focus on three disproportionate influence factors: leveraging angels, silencing devils, and getting a consigliere on their top management team. Angels are those who have the most to gain from the strategic shift. Devils are those who have the most to lose from it. And a consigliere is a politically adept but highly respected insider who knows in advance all the land mines, including who will fight you and who will support you.” [9]

Thus, in short we should leverage from people who will benefit from the change, prepare responses for attacks from people who will be against the change. Moreover, find a consigliere in the organization, who can help to identify these angels and devils and can also identify potential hurdles in implementing the change.

So now we know the reasons, the hurdles of organizational change and their solutions. But one last piece of the puzzle is still missing, communication. For implementing the solutions mentioned we need outstanding communication strategy. Fortunately it’s not that difficult. So ladies and gentlemen here it is the magnificent and mystical last piece of the puzzle that will make this paper whole.
The beautiful concept of “sticky communication” from the book “Made to Stick” by Chip Heath & Dan Heath.
So to make ideas stick (memorable with lasting impact on people) there are two basic steps.
First, find the core of the idea.
Second, communicate the core message based on the six principles,
1.      Message should be simple.
2.      Crafted in an unexpected manner
3.      Concrete without abstraction
4.      Credible
5.      Emotional
6.      Communicated as a story.
Let us examine each in some detail.
Conventionally we have been told that while communicating we must stand up straight, make eye contact, blah blah blah. Then we are also told to use structure such as “Tell’em what you’re going to tell’em. Tell’em, then tell’em what you told’em.”[10] Or we are told to use repetition to communicate. All these make sense except repetition. We do not want to communicate the same message again and again, we need the message to be simple and engaging enough that it sticks the first time it is communicated. So how do we make our big idea of change stick with our employees?
We must strip down the big idea down to its core. The goal is to create something like a proverb that is simple as well as profound. We must force ourselves to prioritize and reach to the most important part of the big idea. The purpose of the core is to guide the coordination of the organization towards a single objective.
Let us consider two examples.
First example shows a great core message and how it works. Once upon a time in a land not too far away, Herb Kelleher (CEO of Southwest airlines) told someone that the secret to running Southwest airlines is just “We are THE low-fare airline”. To show how it works Herb gave an example. He said “Tracy from marketing comes into your office. She says her surveys indicate that the passengers might enjoy a light entr’ee on the Houston to Las Vegas flight. All we offer is peanuts, and she thinks a nice chicken Caesar salad would be popular. What do you say?” and then Kelleher added “You say, ‘Tracy, will adding that chicken Caesar salad make us THE low-fare airline from Houston to Las Vegas? Because if it doesn’t help us become the unchallenged low-fare airline, we’re not serving any damn chicken salad’.” [11]
Thus, a simple and concrete message free from abstraction can guide all company activities towards the most important objective.
Now in the second example we see a not so great core message. PTCL (Pakistan Telecommunication Company Limited) in the past few years has been trying to implement change. The core message “Feel the Difference”. What does that tell me as a manager in PTCL. Does it tell me to feel something different? Or does it tell me to do things differently? Or Do I have to make my customers feel the difference in my organization? Obviously, the message is abstract and does a pretty bad job in guiding me in any direction. The message is left to the perception of the employees and customers. For instance, one marketing executive might perceive it that we are aiming at diversification in product portfolio so that PTCL customers feel the difference. On the other hand, another executive might perceive it that we are trying to be leaders in specific products, so that our shareholders feel the difference in profits. This is same as a soccer game where the players do not know where the goal is. Thus the players end up cancelling out effects of work done by other employees in the same team. Similarly in case of a company its stakeholders (shareholders, customers, suppliers etc.) all are just as confused and frustrated as the core message itself.
Now the easier part of communication, once we have the core message we need to communicate it in a manner that it sticks.
It makes perfect sense that the message should be in simple (non-abstract) language because we want the receiver to understand the message, rather to dig in dictionaries and encyclopedias to come up with non-conclusive meanings.
Communicate the message in an unexpected manner to gain attention of the people and to keep them interested engage their curiosity.

In simple words we want to craft a message that is not common. It should surprise people. Thus gaining attention, but to maintain their interest and attention we need them to be curious about our message. For instance, many times we hate a movie but we stick around till the end just to see “How it turns out?” Curiosity can be a powerful tool if used properly.

Concreteness makes our message memorable. We must explain ideas in terms of human actions and sensory information. Moreover, abstract language should be avoided.

First example, the story of “The fox and the grapes”, when the fox was unable to get the grapes it walked away saying “I am sure they are sour”. The moral of the story “It is easy to despise what you can’t get”. So something about human nature which is intangible and abstract is encoded into a concrete story. This story has stood the test of time. It was written by Aesop (a slave) in ancient Greece more than 2,500 years ago.

Second example, saying that “our company provides world-class customer service” is abstract and in-effective, but saying something like “our customer service is available 24/7” is concrete.
To make an idea believable it has to be credible. Messages from higher authority may be accepted as credible. For instance, within an organization, if the CFO (Chief Financial Officer) says that the profits are decreasing, employees will trust him. The CFO draws credibility due to his authority.

When we don’t enjoy authority we need a message that carries its own credentials. We want people to test our idea themselves, the same philosophy as “try before you buy”. [12] For example, the popular commercial by Wendy’s “Where’s the beef?” showed that beef patty Whopper or in the Big Mac is smaller than the beef patty in Wendy’s single burger. So the commercial highlighted something that was true and people could actually test it themselves if they compare Wendy’s burger with Big Mac or Whopper.

To make people care for our idea we need to stimulate their emotions. We need to make them feel something. First, we do not want them thinking about statistics or numbers, because research has shown that the act of calculation hinder our ability to feel. [13] Second, we show them that our idea of change is associated to things they already care about. For instance, we might show them that the changes in the organization will help them leave offices on time and to spend more quality time with their families.

To make people to act on our ideas we need the right stories that reflect our core message. Stories have tendency to stick as they naturally inherent the stated ideas such as unexpectedness, concreteness and emotional appeal. For example, at Nordstrom there are numerous stories of how employees delighted their customers with their exceptional customer service. A story of an employee who spent three hours on Easter Sunday finding a customer’s house so he could deliver a stuffed rabbit to the customer’s wife in person[14], and similarly many other stories that communicate the core message of customer service to its employees in an unexpected and memorable way. In other words the core message sticks. Compare these stories to an email from the top management something like “we will provide great customer service to customers”, which will probably not even gain any attention, let alone be memorable.




The ability to efficiently change and implement a strategy is the only competitive advantage that is truly long lasting for any company. To efficiently manage change we should follow the principles of “Tipping point leadership”, which suggests that in every organization there are factors that have disproportionate influence on performance. Companies can use these factors to effectively deal with hurdles of implementing change. Moreover, by “fair process”, that is by engaging, explaining and clarifying the need for change to employees, management can create a culture of trust and commitment that motivates employees to implement the change willingly.
Furthermore, we need a communication strategy that will effectively communicate our idea to everyone in the organization. To make our ideas stick (memorable with lasting impact on people) there are two basic steps. First, find the core of the idea. Second, communicate the core message based on the six principles, i.e., the message should be simple, crafted in an unexpected manner, concrete without abstraction, credible, emotional and communicated as a story. The test of a successful communication strategy is that it will make our ideas stick with the front line associates of the organization.
The strategies/tactics listed in this paper are also subject to change, thus managers and leaders should continue to improve and adapt to new strategies to efficiently manage change. But one thing is for sure that stories stick around and using stories for effective communication would probably won’t change.



[1] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 148.
[2] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 150.
[3] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 151.
[4] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 156.
[5] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 156.
[6] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 156.
[7] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 164.
[8] Teresa M. Amabile, How to Kill Creativity (Harvard Business Review, 1998).
[9] W.Chan Kim & Rene’e Mauborgne, Blue Ocean Strategy (Boston: Harvard Business School Press, 2005), 166.
[10] Chip Heath & Dan Heath, Made to Stick (New York: Random House, 2008), 9.
[11] Chip Heath & Dan Heath, Made to Stick (New York: Random House, 2008), 29.
[12] Chip Heath & Dan Heath, Made to Stick (New York: Random House, 2008), 17.
[13] Chip Heath & Dan Heath, Made to Stick (New York: Random House, 2008), 167.
[14] Paul F. Buller Randall S. Schuler, Managing Organizations and People (Mason: Thomson Learning, 2003), 250.