精华内容
下载资源
问答
  • Tableau项目分析

    千次阅读 2018-11-03 21:32:27
    Tableau项目分析 标签: Tableau Tableau的基础知识: 1、 导入Excel后,拖动需要的表格,对显示的列明进行别名设置。 2、 进入工作表中后,在左边的维度和度量两个区域内,将字段名进行分类。 项目一:教育网站...

    Tableau项目分析

    标签: Tableau


    Tableau的基础知识:

    1、 导入Excel后,拖动需要的表格,对显示的列明进行别名设置。
    image_1crcqvcnr39dd2o14bfb461rcm9.png-80.9kB

    2、 进入工作表中后,在左边的维度和度量两个区域内,将字段名进行分类。
    image_1crcqvsgp150u9end92ao51q63m.png-26.1kB image_1crcr0dndgbc33ofcf1lqd1q3i13.png-25.8kB

    项目一:教育网站指标评估

    image_1crcr23mb12541mfth5r1pii1f4i1g.png-81.5kB

    1、 不同时间段内学生每门课的成绩情况。
    **设计思路:**设计线图。
    操作过程:

    1. 放置行列所需字段名后,对日期、分数字段名进行明确。
      image_1crcr3fn7un74kjjnqk471o192t.png-5.4kB
      image_1crcr3pnqjojkvo1uig1iv630v3a.png-5.4kB image_1crcr43831fd71cc2j3n15folcp3n.png-8.1kB

    2. 选择考试科目字段进行颜色标记,编辑轴的刻度起始值。
      image_1crcr4d2u3qo1pgk17pu17vg117f44.png-32.3kB

    最终呈现:
    image_1crcr4pq4hau1gc7qs41hj31d4c4h.png-45.6kB

    2、 查看不同老师各自的学生各科成绩如何,并且用成绩加以区分。
    设计思路:根据不同城市、学院、教师、学生创建分层结构,并制作仪表盘。
    操作过程:

    1. 按照顺序选择要分层的字段进行组合。
      image_1crcr5uc41nq51of16481u4k15644u.png-45.3kB image_1crcr6csr11nkc2pgav7gvvad5b.png-6.7kB

    2. 选择合适的行列值,并将教师编号及学生编号保留,选择分数字段进行文本标记。
      image_1crcr6tjn12571cuh1lej2kf95j5o.png-52.5kB

    3. 通过标记区域对颜色和标签进行编辑,将不同成绩范围对应不同的颜色,表格数值保留2位。
      image_1crcr7arr18kk1jgnioacnv1e1m65.png-43.8kB

    image_1crcr8blv1f8b1cl5mqm1t0p62c72.png-24.7kB

    image_1crcr8kb1dfspp1p881dee1l5s7f.png-21.6kB

    1. 设置筛选器,快速找到某位老师、某位学生的记录。
      方法一:将字段拖动到筛选器区域内显示。
      image_1crcr9amm9rac53vukse1eo7s.png-24.3kB

    image_1crcr9i6255tlq1o0ogb710f989.png-13.4kB

    方法二:直接点击字段右边的小箭头进行显示。
    image_1crcragcscdk17v619k01dns1v438m.png-17.9kB

    1. 设置仪表板,切换大小,将两张工作表进行布局。
      image_1crcrarme70d1dtdggc8gt1rof93.png-88.8kB

    最终呈现:
    image_1crcrb6d51fmgfn7pe0141sve69g.png-76kB

    3、 在地图上快速的根据“年级”、“考试科目”、“餐饮计划”等各维度来查看学员成绩数据。
    设计思路:创建多层筛选器,制作仪表盘和故事。
    操作过程:

    1. 右键空白处创建参数。
      image_1crcrcgtrfme10iq1tj111s9f8kad.png-36.6kB

    2. 右键空白处创建计算字段。
      image_1crcrf9t6fnpit21n7enc0qe8aq.png-19.9kB

    注意:由于年级是数值格式,此处将其转换成字符串str()。

    1. 显示参数控件,将计算字段替换掉原来的考试科目字段,添加到标记颜色中并显示筛选器。
      image_1crcrfkmndnp1d9o10ss1bag1go2b7.png-31.1kB

    image_1crcrfvatbgvmvk13fmn8078ebk.png-61.2kB

    1. 设置地图,选择经纬度字段作为行列值,选择合适的标记及筛选器,并对显示的工具提示内容进行增减。
      image_1crcrgkj91mjegq5du1hh5126ec1.png-18.7kB

    image_1crcrgv2p1nn3lk410ga1d0on44ce.png-14kB

    1. 创建仪表板。
      image_1crcrh9o7lq8okc1e1b1vsl28ucr.png-112.3kB

    2. 创建故事,将两张仪表板整合在一起。
      image_1crcrhk4r8h71j681dqkf6s107od8.png-68.4kB

    最终呈现:
    image_1crcricn41vrr1pr4kdecmr1kkie5.png-148.8kB

    项目二:网站用户访问行为分析

    image_1crcrk39j5lt1985j37at81hpkei.png-59.3kB

    1、 网站检测时,分析不同媒介,不同页面上独立访问量是多少。
    **设计思路:**创建分层结构,以柱状图的形式显示前10访问量的媒介。
    操作过程:

    1. 将页面内容字段拖到筛选器上进行设置,选择前10。
      image_1crcrkscdrkq6q39poccg1dl9ev.png-15.1kB

    最终呈现:
    image_1crcrm0v9i4u18q719js17hi6dngc.png-42.2kB

    2、 需要根据媒介的类别来查看网站的跳出率的情况。
    **设计思路:**根据题目只需要媒介、跳出率字段,可补充其他字段。
    操作过程:

    1. 补充页面内容、唯一访问量字段。
    2. 页面内容、一级页面、二级页面设置多层筛选器。
      注意:计算的字段替换掉原来页面内容所在的区域。
      最终呈现:
      image_1crcrmq5clgi2ip1nvb1ghvd8qgp.png-64.5kB

    3、 想直观了解网站用户在不同媒介及不同页面中的新访问量与独立访问量的数据。
    **设计思路:**设置散点图、仪表板、故事。
    最终呈现:
    image_1crcrn6311jljia67qv1jr81nduh6.png-65.4kB

    image_1crcrnk7dh2e1g6f1j19qom11gdhj.png-66.9kB

    项目三:零售行业进销存分析

    1、 制作货架视图。
    **设计思路:**点击货架上的产品显示该产品的销售情况及图片
    操作过程:

    1. 在地图菜单下插入背景图片。
      image_1crcroaqlsdoltvku93k21nn9i0.png-87.1kB

    2. 设置行列值后显示图片有两种方法。
      方法一:修改X、Y字段——维度。
      image_1crcron2gn3u14dpj7g1lpm166bid.png-8kB

    方法二:取消勾选分析菜单下的聚合度量。
    image_1crcrou5q1iaa7uijstb1n7s8iq.png-16kB

    最终呈现:
    image_1crcrp7hr1t36nghl4brsrrerj7.png-140.2kB

    2、 制作各门店销售趋势视图。
    **设计思路:**使用面积图显示。
    最终呈现:
    image_1crcrpku31lmmdfp10go1isn1q5bjk.png-114.5kB

    3、 制作各产品图片视图。
    **设计思路:**图片导入Tableau的方法 。
    操作过程:

    1. 将图片导入到Tableau的存储库-形状文件夹下。
      image_1crcrq03egtduqhdbb17ikl9ok1.png-65kB

    2. 在Tableau中设置行值—产品类别,在标记中选择形状后,将产品类别添加到形状中。在编辑形状对话框中,选择重载形状进行图片添加。
      image_1crcrqhgs1ga16eu1kf1skf16tdke.png-36kB

    image_1crcrrep0m823a16ifc5gdgjlb.png-42.6kB

    最终呈现:
    image_1crcrs3nugqlfpg17sk6nq7qjlo.png-52.6kB

    展开全文
  • Hadoop项目实战:新闻离线项目分析

    千人学习 2019-01-13 21:50:13
    本课程为项目实战课,项目各个环节既深入讲解理论知识,又结合项目业务进行实操,从而达到一站式掌握大数据离线项目
  • 共享单车项目分析

    千次阅读 2018-05-14 16:59:41
    项目来源:https://www.kaggle.com/c/bike-sharing-demand一、提出问题在本项目中,参与者被要求将历史使用模式与天气数据相结合,以便预测华盛顿特区的自行车...本次共享单车数据分析项目数据源于Kaggle。获取数据...

    项目来源:https://www.kaggle.com/c/bike-sharing-demand

    一、提出问题

    在本项目中,参与者被要求将历史使用模式与天气数据相结合,以便预测华盛顿特区的自行车租赁计划中的自行车租赁需求。

    二、理解数据

    2.1 收集数据

    一般而言,数据由甲方提供。若甲方不提供数据,则需要根据相关问题从网络爬取,或者以问卷调查形式收集。本次共享单车数据分析项目数据源于Kaggle。获取数据后需要对数据整体进行分析,从而提炼问题,为后续建模奠定基础。

    首先查看Kaggle所提供的数据描述:

    (1)    日期时间:年/月/日/时间,例:2011/1/1 0:00

    (2)    季节:1=春,2=夏,3=秋天,4=冬天

    (3)    假日:是否是节假日(0=否,1=是)

    (4)    工作日:是否是工作日(0=否,1=是)

    (5)    天气:1=晴天、多云等(良好),2=阴天薄雾等(普通),3=小雪、小雨等(稍差),4=大雨、冰雹等(极差)

    (6)    实际温度(℃)

    (7)    感觉温度(℃)

    (8)    湿度

    (9)    风速

    (10)未注册用户租借数量

    (11)注册用户租借数量

    (12)总租借数量

    根据官方数据描述,特征为前9项,分别为日期时间(1)、季节(2)、工作日/节假日(3-4)、天气(5-9)四类;标签为后3项:注册/未注册用户租借数量以及租借总数。因为官方规定的提交文件中要求预测的只有租借总数,因此本项目中只关注租借总数的预测。

    2.2导入并理解数据

    首先导入并查看训练数据和测试数据:

    import pandas as pd
    #导入并查看训练数据和测试数据
    train_data = pd.read_csv('data/train.csv')
    test_data = pd.read_csv('data/test.csv')
    print(train_data.shape)
    print(train_data.info())
    print(test_data.shape)
    print(test_data.info())

    训练数据共12列,10886行,测试数据共9列,6493行,且所有数据完整,没有缺失。相比于训练数据,测试数据缺少注册/未注册用户租借数量以及租借总数3个标签,需要我们通过建模进行预测。

    三、数据处理与分析

    3.1 数据预处理

    在数据处理过程中,最好将训练数据与测试数据合并在一起处理,方便特征的转换。通过查看数据,训练和测试数据均无缺失、不一致和非法等问题。值得注意的是,日期时间特征由年、月、日和具体小时组成,还可以根据日期计算其星期,因此可以将日期时间拆分成年、月、日、时和星期5个特征。

    #第二步:数据预处理
    #合并两种数据,使之共同进行数据规范化
    data = train_data.append(test_data)
    #拆分年、月、日、时
    data['year'] = data.datetime.apply(lambda x: x.split()[0].split('-')[0])
    data['year'] = data['year'].apply(lambda x: int(x))
    data['month'] = data.datetime.apply(lambda x: x.split()[0].split('-')[1])
    data['month'] = data['month'].apply(lambda x: int(x))
    data['day'] = data.datetime.apply(lambda x: x.split()[0].split('-')[2])
    data['day'] = data['day'].apply(lambda x: int(x))
    data['hour'] = data.datetime.apply(lambda x: x.split()[1].split(':')[0])
    data['hour'] = data['hour'].apply(lambda x: int(x))
    data['date'] = data.datetime.apply(lambda x: x.split()[0])
    data['weekday'] = pd.to_datetime(data['date']).dt.weekday_name
    data['weekday'] = data['weekday'].map({'Monday':1,'Tuesday':2,'Wednesday':3,
                                             'Thursday':4,'Friday':5,'Saturday':6,'Sunday':7})
    data = data.drop('datetime',axis=1)
    #重新安排整体数据的特征
    cols = ['year','month','day','weekday','hour','season','holiday','workingday','weather','temp','atemp',
            'humidity','windspeed','casual','registered','count']
    data = data.ix[:,cols]
    #分离训练数据与测试数据
    train = data.iloc[:10886]
    test = data.iloc[10886:]

    3.2 数据分析

    规范数据后,快速查看各影响因素对租借数的影响:

    #第三步:特征工程
    #1、计算相关系数,并快速查看
    correlation = train.corr()
    influence_order = correlation['count'].sort_values(ascending=False)
    influence_order_abs = abs(correlation['count']).sort_values(ascending=False)
    print(influence_order)
    print(influence_order_abs)

    从相关系数可以看出,天气(包括温度、湿度)对租借数存在明显影响,其中temp和atemp的意义及其与count的相关系数十分接近,因此可以只取atemp作为温度特征。此外,year、month、season等时间因素对count也存在明显影响,而holiday和weekday与count的相关系数极小。

    为了更加直观地展现所有特征之间的影响,作相关系数热力图:

    #2、作相关性分析的热力图
    import matplotlib.pyplot as plt
    import seaborn as sn
    f,ax = plt.subplots(figsize=(16,16))
    cmap = sn.cubehelix_palette(light=1,as_cmap=True)
    sn.heatmap(correlation,annot=True,center=1,cmap=cmap,linewidths=1,ax=ax)
    sn.heatmap(correlation,vmax=1,square=True,annot=True,linewidths=1)
    plt.show()

    接下来,深入分析各特征对租借数的影响规律,对每个特征进行可视化:

    #3、每个特征对租借量的影响
    #(1) 时间维度——年份
    sn.boxplot(train['year'],train['count'])
    plt.title("The influence of year")
    plt.show()
    #(2) 时间维度——月份
    sn.pointplot(train['month'],train['count'])
    plt.title("The influence of month")
    plt.show()
    #(3) 时间维度——季节
    sn.boxplot(train['season'],train['count'])
    plt.title("The influence of season")
    plt.show()
    #(4) 时间维度——时间(小时)
    sn.barplot(train['hour'],train['count'])
    plt.title("The influence of hour")
    plt.show()

    (1)年份对租借数的影响


    2012年的租借数明显比2011年高,说明随着时间的推移,共享单车逐渐被更多的人熟悉和认可,使用者越来越多。

    (2)月份对租借数的影响


    月份对租借数影响显著,从1月份开始每月的租借数快速增加,到6月份达到顶峰,随后至10月缓慢降低,10月后急剧减少。这明显与季节有关。

    (3)季节对租借数的影响

    通过各季度箱型图可以看出季节对租借数的影响符合预期:春季天气仍然寒冷,骑车人少;随着天气转暖,骑车人逐渐增多,并在秋季(天气最适宜时)达到顶峰;随后进入冬季,天气变冷,骑车人减少。

    因为月份和季节对租借数的影响重合,且月份更加详细,因此在随后的建模过程中选取月份特征,删除季节特征。

    (4)时间(小时)对租借数的影响


    从时间的分布上来看,每天有两个高峰期,分别是早上8点左右和下午17点左右,正好是工作日的上下班高峰期。而介于两者之间的白天时间变化规律不明显,可能与节假日有关,因此以此为基础需要考虑节假日和星期的影响。

    #星期、节假日和工作日的影响
    fig, axes = plt.subplots(2,1,figsize=(16, 10))
    ax1 = plt.subplot(2,1,1)
    sn.pointplot(train['hour'],train['count'],hue=train['weekday'],ax=ax1)
    ax1.set_title("The influence of hour (weekday)")
    ax2 = plt.subplot(2,2,3)
    sn.pointplot(train['hour'],train['count'],hue=train['workingday'],ax=ax2)
    ax2.set_title("The influence of hour (workingday)")
    ax3 = plt.subplot(2,2,4)
    sn.pointplot(train['hour'],train['count'],hue=train['holiday'],ax=ax3)
    ax3.set_title("The influence of hour (holiday)")
    plt.show()

    可以看出,工作日早晚上班高峰期租借量高,其余时间租借量低;节假日中午及午后租借量较高,符合节假日人们出行用车的规律。

    (5)天气对租借数的影响

    #(5) 天气的影响
    sn.boxplot(train['weather'],train['count'])
    plt.title("The influence of weather")
    plt.show()

    (6)具体天气因素(温度、湿度和风速)的影响

    #(6) 温度、湿度、风速的影响
    cols = ['temp', 'atemp', 'humidity', 'windspeed', 'count']
    sn.pairplot(train[cols])
    plt.show()
    

    作出多个连续变量之间的相关图,可以比较任意两个连续变量之间的关系。图中可以明显看出temp和atemp大致成线性关系,但也存在一组数据显著偏离线性相关趋势,可能与湿度和风速有关。因此,可以认为temp、humidity和windspeed三者共同决定了atemp,因此在后续建模过程中可以删除atemp特征。

    进一步研究温度、湿度和风速对租借数的影响:

    fig, axes = plt.subplots(1,3,figsize=(24,8))
    ax1 = plt.subplot(1,3,1)
    ax2 = plt.subplot(1,3,2)
    ax3 = plt.subplot(1,3,3)
    sn.regplot(train['temp'],train['count'],ax=ax1)
    sn.regplot(train['humidity'],train['count'],ax=ax2)
    sn.regplot(train['windspeed'],train['count'],ax=ax3)
    ax1.set_title("The influence of temperature")
    ax2.set_title("The influence of humidity")
    ax3.set_title("The influence of windspeed")
    plt.show()

    虽然三种天气因素对租借数的影响比较分散,但可以明显看出温度和风速与租借数成正相关,湿度与租借数成负相关。

    3.3 特征工程

    综上所述,本项目提取特征year、month、hour、workingday、holiday、weather、temp、humidity和windspeed共9个特征预测租借总数。其中year、month、hour、workingday、holiday和weather为离散量,且由于workingday和holiday已经是二元属性,因此其余四个需要进行独热编码(one-hot)方式进行转换。

    #特征工程
    #所选取的特征:year、month、hour、workingday、holiday、weather、temp、humidity和windspeed
    #(1) 删除不要的变量
    data = data.drop(['day','weekday','season','atemp','casual','registered'],axis=1)
    #(2) 离散型变量(year、month、hour、weather)转换
    column_trans = ['year','month','hour','weather']
    data = pd.get_dummies(data, columns=column_trans)
    

    四、构建模型

    接下来,需要对数据进行建模预测,分别采用三种典型集成学习模型(普通随机森林、极端随机森林模型和梯度提升树模型)、XGBoost模型和人工神经网络模型。此处均采用模型的默认参数或简单参数,如人工神经网络选用三层神经网络,每层包含神经元数量相同,且均为特征个数。

    #机器学习
    #1、特征向量化
    col_trans = ['holiday', 'workingday', 'temp', 'humidity', 'windspeed',
           'year_2011', 'year_2012', 'month_1', 'month_2', 'month_3', 'month_4',
           'month_5', 'month_6', 'month_7', 'month_8', 'month_9', 'month_10',
           'month_11', 'month_12', 'hour_0', 'hour_1', 'hour_2', 'hour_3',
           'hour_4', 'hour_5', 'hour_6', 'hour_7', 'hour_8', 'hour_9', 'hour_10',
           'hour_11', 'hour_12', 'hour_13', 'hour_14', 'hour_15', 'hour_16',
           'hour_17', 'hour_18', 'hour_19', 'hour_20', 'hour_21', 'hour_22',
           'hour_23', 'weather_1', 'weather_2', 'weather_3', 'weather_4']
    X_train = data[col_trans].iloc[:10886]
    X_test = data[col_trans].iloc[10886:]
    Y_train = data['count'].iloc[:10886]
    from sklearn.feature_extraction import DictVectorizer
    vec = DictVectorizer(sparse=False)
    X_train = vec.fit_transform(X_train.to_dict(orient='record'))
    X_test = vec.fit_transform(X_test.to_dict(orient='record'))
    
    #分割训练数据
    from sklearn.model_selection import train_test_split
    x_train, x_test, y_train, y_test = train_test_split(X_train, Y_train, test_size=0.25, random_state=40)
    
    #2、建模预测,分别采用常规集成学习方法、XGBoost和神经网络三大类模型
    from sklearn.ensemble import RandomForestRegressor
    from sklearn.ensemble import ExtraTreesRegressor
    from sklearn.ensemble import GradientBoostingRegressor
    from xgboost import XGBRegressor
    from sklearn.neural_network import MLPRegressor
    from sklearn.metrics import r2_score
    
    #(1)集成学习方法——普通随机森林
    rfr = RandomForestRegressor()
    rfr.fit(x_train,y_train)
    #print(rfr.fit(x_train,y_train))
    rfr_y_predict = rfr.predict(x_test)
    print("集成学习方法——普通随机森林回归模型的R方得分为:",r2_score(y_test,rfr_y_predict))
    
    #(2)集成学习方法——极端随机森林
    etr = ExtraTreesRegressor()
    etr.fit(x_train,y_train)
    #print(etr.fit(x_train,y_train))
    etr_y_predict = etr.predict(x_test)
    print("集成学习方法——极端随机森林回归模型的R方得分为:",r2_score(y_test,etr_y_predict))
    
    #(3)集成学习方法——梯度提升树
    gbr = GradientBoostingRegressor()
    gbr.fit(x_train,y_train)
    #print(gbr.fit(x_train,y_train))
    gbr_y_predict = gbr.predict(x_test)
    print("集成学习方法——梯度提升树回归模型的R方得分为:",r2_score(y_test,gbr_y_predict))
    
    #(4) XGBoost回归模型
    xgbr = XGBRegressor()
    xgbr.fit(x_train,y_train)
    #print(xgbr.fit(x_train,y_train))
    xgbr_y_predict = xgbr.predict(x_test)
    print("XGBoost回归模型的R方得分为:",r2_score(y_test,xgbr_y_predict))
    
    #(5) 神经网络回归模型
    mlp = MLPRegressor(hidden_layer_sizes=(47,47,47),max_iter=500)
    mlp.fit(x_train,y_train)
    mlp_y_predict = mlp.predict(x_test)
    print("神经网络回归模型的R方得分为:",r2_score(y_test,mlp_y_predict))

    最终模型预测能力如下:


    可以看出,默认配置的随机森林模型和简单参数的人工神经网络R方得分较高。分别采用极端随机森林模型和人工神经网络预测测试数据,上传至Kaggle评分,两者结果相似,其中极端随机森林模型的效果略好,结果如下:


    本项目的得分为均方根对数误差(RMSLE),值越小越好。该比赛官方记录最好得分为0.33756。因此,该模型还有待提高,主要是对模型进行调参。每种机器学习模型均有若干参数,需理解每个参数的意义和作用,采用适当方法进行调参,以期获得最佳参数,提高预测准确率。

    下面以极端随机森林模型为例,进行调参。需要了解模型参数及调参步骤,该部分内容已在另一篇原创文章中详细阐述:https://blog.csdn.net/Caesar1993_Wang/article/details/80337103

    最终通过调参,获得最佳参数(random_state=27,n_estimators=41,max_depth=38,max_features=14),预测结果也有所提高:


    本项目基本流程已经结束,但还有许多可以改进的地方:分别预测注册和未注册的租借数;对连续性特征量进行归一化;使用神经网络对预测模型的参数进行大规模调参。

    展开全文
  • ofo(小黄车)项目分析

    万次阅读 2016-12-27 19:53:19
    ofo(小黄车)项目分析 2016-10-31 20:02尚谈 一、ofo基本情况简介 (一) 成立时间:2015年春   (二) 发起团队:北京大学几个硕士生   (三) 公司实体:西宁转动惯量商贸有限公司   ...

    ofo(小黄车)项目分析

    2016-10-31 20:02尚谈

    ofo(小黄车)项目分析



    一、ofo基本情况简介

    (一) 成立时间:2015年春

     

    (二) 发起团队:北京大学几个硕士生

     

    (三) 公司实体:西宁转动惯量商贸有限公司

     

    (四) 融资情况:2015年底宣布已完成900Pre-A轮融资

     

    (五) 基本业务:大学校园自行车出租与共享——以共享经济+智能硬件,解决最后一公里的出行问题。面对个人丢车、取车不便、以及废旧自行车问题,ofo正在为高校师生创造新的出行方式。“OFO平台”的功用简单而言,就是通过收集、改装一批校园闲置自行车,将其变成校园公共自行车,在方便师生校内出行的同时,有效控制校内自行车的总量,减少“僵尸车”的数量。在实际操作中,车辆还是以OFO运营公司出资投放的车辆为主

     

    (六) 项目依存的技术生态:纯移动互联网纯微信+苹果APP和安卓APP

     

    (七) 关键技术:车身内置的GPS定位(存在管理成本)+机械锁(存在漏洞)+微信端的业务系统(极简主义)

     

    (八) 消费频次与客单:高频低(每周多次使用)+极低客单价(一般校内骑行都是在2毛钱左右的开支)

     

    (九) 红包、优惠券情况:往往都是几十元,最高100元(受邀注册,即可获得100元的低用金,足够使用一个学期),最低的奖励是新注册用户赠送有效期一个月的5元优惠券。

     

    (十) 实名验证机制:有,必须上传学生证或者校内邮箱,完成实名验证

     

    (十一) 运营成本:投放的车辆(200元左右)以及网络运营工作开支(不详)

     

    (十二) 获客效果与订单情况:一般一个大学投放300-500辆车,即可有效获取校园内相当数量的大学生用户(预计在数千,一般情况下有车的学生不会用,但也有好奇的学生会用),目前投入了3万余辆车(含车主共享的约数千辆车,官网截止到2016623日的数字是31441辆),累计获得约30-50万用户,出行交易订单日均约8-12万次。

    (1)按车辆计算:一般投入200辆车,可以满足10倍左右的用户使用,也就是一辆200元左右的车,投入作为获客工具,可以获得10个用户,实际形式上获客成本是20-30

    (2)按其融资额计算:投入数百万资金,获得了30万左右用户,平均获客成本20元左右。与上面的计算方法相差不大。

     

    (十三) 推广中使用的合伙人计划:该营销模式在其微信主菜单中明确列出,主要是领养计划,350元领养一辆,一年后返还,目前效果不明。据网上资料可以看出,领养计划实际上成本很高,每一辆有50元的左右的现金补贴给到合伙人,合伙人一般再返给领养人30元。ofo设计的模式中,围绕这个合作人计划有很多动作。

     

    (十四) 存在的明显业务BUG


    这些bugofo运营中,带来了不少问题,尤其是骑出去回收麻烦这个问题,由于车体本身没有GPS定位功能,运营公司不得不安排人力骑着三轮车满世界转悠,去寻找被用户起到校外的车辆。

     

    (十五) 推广中使用的合伙人计划:主要是领养计划,300元领养一辆,一年后返还,目前效果不明。据网上资料可以看出,领养计划实际上成本很高,每一辆有50元的左右的现金补贴给到合伙人,合伙人一般再返给领养人30元。

     

    二、 ofo用户调研

    根据小黄车发源地北京大学的一项调研[1],进行了分析,相关分析结果如下。

    1)用户性别

    可见性别差异不大

     2用户分布


    可见,随着年级提高,学历水平提高,使用率越来越低。

     

    3)初次使用的感受


    可见多数用户还是比较愿意尝试,说明产品定位比较精准。

    4)用户转化周期


    可见多数学生在目睹校内小黄车日益增多,加上朋友圈的红包轰炸(宣传期红包特别多)之后,还是会转为用户。

    5)用户分享状况


    半数以上用户分享过

     

    6)用户对OFO的了解程度


    可见小黄在商业模式,支付使用方法,定价规则,还是传达的比较清晰的。半数人都在几个关键的方面达到理解的程度。尤其是核心的商业模式这块,传达的非常清楚。

     

    7)用户是否愿意共享出自己的车,加入OFO
    这个题目比较有意思,超七成学生,并不愿意,这说明学生对自己的车还是比较珍爱的,不管是敝帚自珍,还是自己的车比较贵(有些学生购买的是比较昂贵的山地车或者公路车),学生总体来说不愿意共享。这意味着OFO计划中两个共享(宏观校园共享+微观车主共享),至少有一个不容易达成。

    8)用户对身边OFO的存在感的判断
    说明OFO在学生群体中的存在感较为强烈,是高频场景切入效果比较理想。

     9)用户对OFO核心功能的评价
    可见多数学生比较接受和认可OFO的功能价值。

    10)用户对OFO长期接受度的预期
    可见大部分学生是有乐观预期的。

    11)用户对使用OFO的频率变化
    可见随着时间的推移,新用户会来越依赖OFO,进一步说明OFO的场景切入非常成功。

    12)用户对使用OFO的决策因素
    可见超过55%的人是因为临时性需求才使用小黄车。

    13)单独提出的一个使用决策因素:和用户财产关联起来
    可以看出,近八成用户并不觉得小黄车和自己的车有什么一起存在的矛盾,该买自己的车肯定会买的。这个问题和进一步解释了上一个问题,进一步说明小黄车主要是为了借鉴紧急情况下的临时性的用车需求问题。

    14)用户推荐意愿


    可以看出六成以上用户愿意推荐其他同学使用小黄车,这说明小黄车具有相当高的口碑效应,按照这样的逻辑,可以推出该项目在校园里面能够较为快速的被大部分同学关注(特指关注微信,因为最常见的推荐方式是微信公众号的推荐)。

    以一个校园一次主题活动投放200辆车,发展500个种子用户计算(假设用户使用一个月后会推荐其他用户,平均推荐2人关注微信服务号):

    第一个月原始用户=500

    第二个月新增用户=500*64%*2=640

    第三个月新增用户=640*64%*2=819

    第四个月新增用户=819*64%*2=1048

    第五个月新增用户1048*64%*2=1342

    第六个月新增用户=1342*64%*2=1717

    合计:6067

    也就是说,在几乎不进行其他推广方式,只是用户口碑相传(有分享得红包和优惠券的政策因素)的方式,就可以在半年内在一个学校达到超过6000人的微信关注,这一用户浓度,还是相当高的,在一个大学内具有足够的影响力——这或许是OFO项目的真正目的,即用相对低廉的方式高效获取大学校园用户。

     

    15)用户对项目的评价
    这项调查设计能够反映出用户对ofo的认同度、归属感和对项目本身的评价,可以看出大部分用户对项目相当认可,超过65%的用户给出了极高的评价。

    16)对可能放弃使用ofo的用户的消极性假设调查
    选项CD是关于功能性的诉求没有得到满足,可以看出这块用户占据挺大比例,超过六成。自己有车,这个独立因素也占据了近44%,这意味着大二大三用户如果自行购车之后,ofo用户会面临比较大的流失风险。这两类因素累积起来,说明ofo用户流失的风险还是相对比较大的,仅仅做好功能还不够,还要解决可替代性问题,否则用户就会流失。其他因素比例也不小。红包这种小便宜因素,在成为用户之后,并不是特别大的因素,这一点和滴滴出行的红包、优惠券有较大的区别。

    17)对ofo用户的积极性假设调查
    可以看出多数人更在乎的是随时能用,也就是解决应急性、临时性需求,这是一个很关键的痛点,而价格因素则不是很敏感,仅仅不到三分之一的人关注价格因素,CD反映出,用户本身对所谓的人际间的共享或者社交场景并不感兴趣。

    18)针对带小黄车出去是否再骑回来的调查(牵涉运营成本和类似坏账的丢失风险)


    结果显示超过两成的用户并没有很在意不是自己财产的小黄车的“命运”,这种服务包含的契约精神,总是有一定的人不会严格遵守。


    三、ofo项目的真实目的初探

        (一)项目真实目的初探

    从现有证据和观察、调查结果看,这个项目真实的目的可能是探索一个“获客”渠道,也就是用一种共享经济模式探索获得3000万量级的在校大学生这一个重要群体用户的方法,而并不在意从共享业务本身赚钱。理由如下:

    1ofo红包满天飞,绝大部分用户根本无需支付费用就可以至少骑一年的车,即便用完了,可能还有别的优惠券等着,即便花自己的钱,也是少的可怜,每次出行的费用,不过是2-3毛钱。

    2.整个项目的盈利模式这块更像是公益项目。车辆的运营成本很高,一般来说,既然是共享,使用率就会高于私人拥有的车辆,加上用户管理的细心程度不如对自己的车,所以车辆的耗损和折旧会远远高于私人拥有的自行车。再加上寒暑假长期闲置不用,带来的损耗,整体损耗就会更大。这意味着,长期来看车辆运营产生的收益不容乐观。

    可以用一个辆车平均每天被骑行的时间和距离来衡量收益,一般不会超过1个小时,不会超过20公里;或者,可以用订单次数来计算,每天10次左右,每次不过是2毛钱的收入,每辆车每天的贡献在2元左右,但是考虑到学生周六日出去玩,寒暑假不在学校,以及其他假期因素,一年有一半时间产生收入就很不错了(满打满算,一辆车每年贡献300来元的收益)。这主要是因为,大学内的用车情况和滴滴出行模式中的车根本不是一回事,学生用车的场景比较简单,就是上课-下课吃饭-再上课-再下课吃饭-回寝室,出了校门,一般有市政交通方案,这根本不像滴滴出行体系中的专车,几乎可以全天跑在路上接单拉活。
                           (ofo的计费标准)

    3.项目使用了非常商业化的推广手段。各种软文、宣传、宣讲、校园合伙人计划,特别是红包满天飞的推广方式,让一个没有多少内涵可以挖掘的事情弄的微信里面经常有ofo红包爆炸的效果,非常商业化。

    4.从ofo目前一年多的运营来看。商业推广投入较大,发放的红包很多,导致营收很少,进一步的扩张依然需要继续延续这种方式。这种不挣钱,确实不挣钱的方式,本身目的就是值得怀疑其真实目的。


    (二)项目运营者的算盘

    由于在高校进行商业推广活动,并不需要覆盖所有人,而只需要保持一定的用户比例即可,即一所2万人的大学,如果有4000用户,也就是20%的覆盖率,则要达到任何商业推广活动的目的,几乎就够了。按照这个逻辑,ofo继续复制这种模式,则可以在比较短的时间内覆盖到所有高校,发展500-600万级的用户,进而达到将自己拥有的媒体影响力覆盖整个中国大学生群体的目的。这个时候,这种媒体影响力就会是非常有利可图的资源。

     

    (三)项目运营者要面临的风险

    1.诚信风险。我觉得ofo有一点和我们非常像,也是在推广初期选择了名校,且要求进行较为苛刻的实名验证。这是因为该项目天然具有一些显而易见的bug,在契约精神、诚信意识相对较好的名校,这种bug不会被放大,而在一般大学这些bug有可能会被无限制的放大。

    2.社会治安风险。地处三四五线城市大学,社会治安相对北上广深大城市差的多,偷窃自行车是非常常见的社会治安问题。以ofo车辆目前的防盗水平,无法立足。相比较而言,小城市的市内公交性质的自行车,都是政府采购的安全系数非常高的车辆,管理的科学性也非常强,远远不是ofo可以比的。

    3.地域性差异和校园差异。小城市和小学校的学生的临时性出行需求不强烈。和目前名牌大学的校园环境不同,很多普通高校、高职校园规模较小,城市也小,步行可以解决很多问题,其他出行解决方案也较多,所以在这样的学校推广ofo会面临客户群体需求不足的问题。

    综合上面的分析,ofo在全国开展业务的难度比预期要大,用户规模也不会像预期那样高速增长到数百万级,甚至千万级。

     

    (四)项目真实目的如果要变现面临的难度和风险

    无论是通过微信发广告还是通过APP发布界面展示广告和其他弹出广告,都可以获取收益,但是这样做对于ofo这种高频、低客单价、可替代性太高的项目,会显著影响用户的使用感受,进而造成用户忠诚度下降。在我的印象里面,几乎每年的校园创业大赛,都有团队想做类似的项目,解决自行车坟场问题,可见这个问题的顽固性,而ofo今天想用目前的方式解决这个问题,恐怕依然是很困难的,这也难怪其宣传文案中总是强调:着重强调情怀,尤其强调自己在挑战不可能,在颠覆!

     

    四、ofo项目给其他公司的借鉴

      (一)情怀确实非常重要

    在自行车出行这样一个古老的交通方式能玩出花样,没有合适、针对性、精确化的情怀定位显然是不行的,小黄车就抓住了这一点。具体来说ofo用了以下几个情怀点:

    1.环保情怀:绿色出行,开启健康低碳新生活。这是目前绝大部分有文化的人群都非常重视的一个点。

    2.共享情怀:最近几年各种共享经济培育的商业模式,已经做好了共享模式的普及,学生很容易接受这一点。加上这一点和解决自行车坟场结合起来,就更显得情怀满满。

    3.颠覆情怀:ofo很多文案在谈颠覆出行,尽管给人小题大做的感觉,但是对学生来说,这个点,是很多学生认可的点,便于拉近和学生用户的距离。

     

      (二)功能是最底线和基本保障

    从调研数据和实际用户反映来看,作为一个产品,ofo还是设计了非常精准的功能定位——“共享单车,校园代步神器,随时随地有车骑”,切入和解决了“临时性的大学校园用车需求”这个细分市场,为解决这个需求,ofo的车辆使用方式、计费方式、车辆本身的维护方式等都做了针对性的调整。尽管还有一些功能上的bug,但是基本来说,ofo整个产品的基本功能还是满足了多数用户的需求。

     

      (三)传达出的产品核心消息设计特别关键

    小黄车通过一些产品包装、设计传达出了精准的产品核心消息,主要有一下几块:

    1.色彩:ofo产品主色系是校车黄,这个颜色如果用在汽车上,只能校车用,在自行车上没有限制,但用了之后却传达出非常精准的产品核心消息之一,即校园出行工具

    2.形象ofo酷似骑自行车的形象,其标志,同样如此,网站域名也是ofo.so,含有ofo,美中不足的是,这个域名使用的是索马里这个国家的国家顶级域名,显得不够硬气,考虑到是初创公司,买不起ofo.com这样的ABA类型的三字母(50万以上),也可以理解。

     

    3Sloganclaim及配套文案体系:

    全部围绕大学“共享单车”打造,传达出清晰、准确的产品核心消息

    l 随时随地有车骑(主打slogan

    l 携车加入免费使用

    l ofo 共享单车——校园代步神器,随时随地有车骑。

    l 绿色出行,开启健康低碳新生活。共享车主永久免费,普通用户低价使用

     

    4.微信端基础信息设置

    ofo的微信基础信息界面,可以看出ofo在公众账户的基础信息页面,传达出了自己的核心产品消息。



      (四)基于微信生态的分享和奖励机制尤为关键

    名校生群体是一个身份趋同、网络社交高频、分享传播意愿很强的群体,ofo抓住这一点,把滴滴出行的红包策略应用的更为娴熟,以至于做的稍显过火,经常晚上8-10点大学生微信朋友圈红包满天飞。客观上,产品用极少的红包支出(很多情况下,只有1元的虚拟出行费用),换取了潜在客户的关注和有效用户的高速增长。

     

    对其他公司的借鉴有如下几点:

    1.尊重学生的消费理性。名校生多数是非常精明的消费个体,一方面会算计自己的消费支出的合理性,同时十分在意服务商提供服务的真实目的和潜在的陷阱、圈套。ofo项目能在实名验证的前提下,高速发展用户,不得不让我们认可其运营方式的合理性,其中最重要的就是:简明扼要、公开透明的宣示自己的收费方式。这一点,打消了很多用户对ofo真实目的的怀疑和好奇心。

     

    2.抓住学生贪小便宜的心理。贪小便宜是很多人的普遍心态,尤其是对没有收入能力的大学生,一般会对折扣信息、省钱信息比较有兴趣,特别其是看起来的确毫无危险的小便宜。ofo正是抓住这一点,靠发1-5元的红包,就引发了红包满天飞的宣传效果,这其实是在上一点的基础上,自然会发生的延续性动作——只要学生认可了服务没有什么猫腻(不会让自己受损),是一个常规的、正派的商业项目(北大学生创业项目),有实际的功能(功能定位准),还挺有意思(情怀不错),就会放心的分享,让别人用,让别人得到红包,自己也得到更多的红包。

     

      (五)小黄车的“存在感”对业务发展至关重要

    醒目的校车黄,足够数量的投入达到的成排连片的效果,简单明了、黑红分明的喷漆设计,配上尾部挡泥板上的二维码,加上初期种子用户的示范、代言……ofo俨然成了校园里面一道亮丽的风景线,存在感十分强烈。这种线下的存在感,配合上ofo线上的主题文案(风格一直是诗歌体+配图),使得小黄车在大学校园里面存在感十足,经常成为刷屏的主角。



    五、研究总结

    ofo是一个很有意思的项目,值得学生尝试,也值得创业研究者保持关注和研究。本文的任何观点,均是从研究角度出发,不代表对ofo项目任何主观的评价和商业上的任何暗示与引导。如有相关错误和不足,请读者指出并提出批评。

    展开全文
  • 如何进行tcmalloc开源内存管理项目分析与研究V0.2
    如何进行tcmalloc开源内存管理项目分析与研究V0.2

    展开全文
  • 5、需求分析 系统用户有不同的权限,一般用户只能登录点歌系统,只有管理员才能登录后台管理系统。 后台管理的主要功能有:歌曲信息管理、歌手信息管理、用户信息管理、修改密码。 点歌系统的主要功能有:歌曲...
  • 宠物商店项目分析

    千次阅读 2017-05-12 08:09:57
    界面交互设计的原则:  统一性原则  界面风格统一 用相同方式展现相同类型的数据,如:日期类型  交互风格统一 用相同方式完成相同类型的操作,如:录入日期  美观性原则  界面美观大方 ... 
  • 订单中心项目分析与总结

    千次阅读 2018-10-26 19:32:04
    需求背景:随着业务的发展,公司逐步上线了多种产品和业务线,每个业务线除了一些基础的服务(比如支付,资产交割等)使用公共服务外,剩余的部分都是业务线自行处理,这样就形成了各个业务线自己的订单。...
  • Sonar指定Java项目分析文件

    千次阅读 2015-05-17 19:11:28
    Sonar&Maven分析排除自动生成代码
  • 作为一个资深的软件工程师,我经常遇到其他/她开发人员大量的重复问题。过去只靠写博客,现在,我有了四种方式来解决:博客。我的博客 phodal.com 上有 850+ 的博客工具。创造开源...
  • Android实时监控项目主要涉及Socket编程、Android摄像头对预览视频流的采集和处理等。  【1】主要实现功能:通过Android客户端摄像头采集视频数据,并实时地发送到PC端进行显示。  【2】设计思路:1、创建一个...
  • 新浪微博开发之项目分析与设计

    千次阅读 2012-03-29 19:22:19
    由于毕业设计选的课题是基于Android平台的新浪微博...今天首先介绍一下项目的整体概况,以及模块分析与设计! 整体上我是模仿新浪微博官方客户端的样式来设计的!主要分为微博主页,消息提醒,个人资料,发表微博等
  • 最近开始研究一些优秀的JavaWeb开源项目,由于自己是新手,以前遇到开源项目时也处理得不是太好,往往浪费很多时间,希望在本次研究的过程中总结出一套方法论来,因此有了这一系列文章。 二、正文 首次运行 拿到一...
  • Python爬取网络小说数据,小说app产品开发文档1.Python爬取数据过程分析 哪些数据使我们需要的:1.首页数据:分类、排行、推荐书籍。 2.可浏览的数据有:书名,图片,作者,类别,字数,是否已完结。 3.点击进入...
  • Android 推送之Androidpn项目分析(一)

    万次阅读 2012-04-05 20:08:08
    整个项目有如下一些java文件: 由于项目是基于asmack.jar的,因此文件数量已经是不多了。随便一提的是asmack.jar 是用于android上实现聊天室的库 虽然文件有这么多,但是类之间的调用关系,以及类的作用可以...
  • libevent项目分析(一) -- 准备阶段

    千次阅读 2012-02-19 17:53:11
    项目的简介 我理解libevent是一个轻量级的,跨平台+高效的(C语言实现)事件驱动库,类似于ACE项目中的ACE_Reactor,它实现了网络通讯套接口I/O事件,定时器事件,信号事件的监听和事件处理函数回调机制。从项目...
  • 为了方便大家交流,我新建了一个关于开源GIS项目分析的QQ群8755486,有兴趣的朋友快加入吧,我们一起为提高中国开源实力而努力!现在已经有一些博士、硕士、系统分析师、程序员加入了,现阶段分析的项目是SharpMap、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,620
精华内容 53,048
关键字:

项目分析