Stacked bar graph goodwill
I collected and looked at the amount of spacha from 2020/1/1 to 2020/6/30
--Office unit --Most of the spachas are in Japanese yen, which is common to all offices ――Most of the total amount of Japanese Yen spacha is for Nijisanji and hololive. ――The total amount for Nijisanji and the total amount for hololive are about the same. --Most of the total amount of foreign currency spacha is spacha to hololive distributors ――However, when converted to Japanese yen, the total amount of spacha in foreign currencies is very small compared to the total amount of spacha in Japanese yen. --The most foreign currencies are dollars, New Taiwan dollars, and Hong Kong dollars. ――Personal opinion: Hololive has an image of focusing on overseas expansion, but the impression that this also appeared in Spacha --Distributor unit --Looking at the total amount of spacha, there are many hololive distributors in the top --Kiryu Coco Chairman, Uruha Rushia, etc. ――When it comes to Nijisanji, Mr. Kuzunoha and Mr. Mirei Gunmichi are ranked high in total. ――However, most of these two are Japanese yen, for example, if it is dollar, the ranking will be lower than other rivers --In the case of hololive, Kiryu Coco Chairman, Uruha Rushia, and Usada Pekora are in the top total. ――However, in dollars, the ranking of Mr. Toru Shia decreased, and others decreased slightly ――On the other hand, Korone-san, Akua-san, Matsuri-san, and Towa-san have a higher percentage of foreign currencies than other rivers. ――Mr. Kagura had the highest overseas ratio of the total amount. ――For overseas distributors, there are many currencies of that country ――For example, Nijisanji KR ₩
For the method of acquiring comment data, please refer to the reference article listed in the past article. The structure of the comment data is described in detail in the following article. https://zetta777.hatenablog.com/entry/2019/11/09/200816
According to this structure, the data of the spacha amount is acquired.
Many currencies other than the Japanese yen are thrown at Spacha. Here, for the currency that existed on the data I used, specify the currency rate with ** fixed value **.
currency_to_rate = {'¥': 1, 'SGD': 80, 'CA$': 80, 'NT$': 3.65, '$': 110, 'A$': 75, '€': 125, 'PHP': 2.15, 'MX$': 5, \
'HK$': 14, '₩': 0.1, 'RUB': 1.5, 'NZ$': 70, 'ARS': 1.5, 'CHF': 114, '£': 134, 'PEN': 30, 'CLP': 0.13, 'PLN': 27.5, \
'HUF': 0.35, 'R$': 20, 'RON': 25, '₹': 1.43, 'SEK': 11.5, 'NOK': 11.5, 'UYU': 2.5, 'BOB': 15.5, 'BYN': 45, \
'CRC': 0.185, 'ZAR': 6.5, 'ISK': 0.77, 'COP': 0.0295, 'DKK': 16.25, 'PYG': 0.0156, 'CZK': 4.55, 'GTQ': 13.94, \
'HRK': 16.29, 'HNL': 4.3, 'UGX': 0.029, 'RSD': 1.04, 'BGN': 62, 'NIO': 3.1, 'DOP': 1.82}
Of course, since it is a fixed value, I think there is a discrepancy with the rate at the time when the spacha was thrown, but I do not consider this effect here. The amount of spacha is described in purchaseAmountText of the json file of YouTube comment, and it is expressed by "currency information + amount" such as "¥ 100" for yen and "$ 5" for dollar. If you disassemble this and apply the above currency rate, you can convert it to Japanese yen value.
#Remove extra strings
def remove(string, remove_targets=[',', '\xa0']):
tmp = str(string)
for target in remove_targets:
tmp = tmp.replace(target, '')
return tmp
repatter = re.compile(r'[^0-9]*')
df['tmp'] = df.purchaseAmountText.map(remove)
df['Ccy'] = df.tmp.apply(lambda price: repatter.match(price).group())
df['LocalPrice'] = df.apply(lambda row: float(row.tmp.replace(row.Ccy, '')), axis=1)
df['JPY'] = df.LocalPrice * channel_to_df[key].Ccy.map(currency_to_rate)
--Time: 2020/1/1 ~ 2020/6/30 --Target channel: Same as the previous article. Specifically, VTuber belonging to the following offices --Nijisanji - hololive - 74 inc. - upd8 --Nori Pro - Kizuna AI - ZERO Project - AVATAR 2.0 Project --Other individuals --Sana Channel --Shigure Ui --Gatchman V --Ito Life --Tenso Hiyo --Kohanai --Kagura Mea --Saint Relia --Kazenomiya Festival / Matsuri Channel --Target video --All videos that Spacha can get ――However, please note that we have not validated whether the comment information can be obtained correctly from the video. ――In addition, you have not acquired or cannot acquire spachas such as comment hiding, video deletion, private broadcasting and men's limited broadcasting.
Stacked bar graphs are stacked for each office and distributor, and each bar corresponds to currency. In addition, the number under the currency is the total amount of the spacha of that currency after conversion to Japanese yen. Basically, the unit of the total amount is yen, and it is displayed in units of M ¥ (million yen = 1 million yen) on the graph.
What I found
――The whole and Japanese yen (two on the right of the bar graph) are about the same as Nijisanji (blue) and hololive (orange). --Hololive occupies most of the other bars (foreign currency) ――However, the ratio of foreign currency to spacha is small (Japanese yen is about 1700M, and even the most foreign currency dollar is about 54M). --In foreign currencies, there are many dollars, NT \ $ (New Taiwan dollars), and HK \ $ (Hong Kong dollars).
What I found --Looking at the total amount of spacha, there are many hololive distributors in the top
Top 10 distributors of spacha amount
ChannelName | Kind | JPY | Ccy |
---|---|---|---|
Kanata Ch.Amane Kanata | Hololive Japan | 37343515.3 | ALL |
Miko Ch.Sakuramiko | Hololive Japan | 38886890.4 | ALL |
Korone Ch.Inugami Korone | Hololive Japan | 44731483.4 | ALL |
Aqua Ch.Minato Aqua | Hololive Japan | 45809937.8 | ALL |
Marine Ch.Treasure bell marine | Hololive Japan | 50261733.4 | ALL |
Kuzuha Channel | Nijisanji Japan | 51129800.4 | ALL |
Flare Ch.Shiranui flare | Hololive Japan | 54643720.4 | ALL |
Pekora Ch.Usada Pekora | Hololive Japan | 64229276.1 | ALL |
Rushia Ch.Uruha Rushia | Hololive Japan | 65885208.3 | ALL |
Coco Ch.Kiryu Coco | Hololive Japan | 92221894.7 | ALL |
The foreign currency rate is the total amount of Spacha foreign currency / the total amount of all Spacha currencies.
What I found
――Mr. Kagura had the highest overseas ratio of the total amount. --Foreign currency rate is high for overseas distributors ――For overseas distributors, there are many currencies of that country ――For example, Nijisanji KR ₩
Top 10 distributors of Spacha's foreign currency rate
ChannelName | Foreign | ¥ | ForeignRate |
---|---|---|---|
Japanese HANJO! TV | 181921.1 | 93910 | 0.6595 |
신유야 / Yuya Shin 【NIJISANJI KR】 | 107003.8 | 47060 | 0.6945 |
Aadya【NIJISANJI EN】 | 35494.7 | 11728 | 0.7516 |
채아라 / Ara Chae 【NIJISANJI KR】 | 298770.0 | 91438 | 0.7657 |
Moona Hoshinova hololive-ID | 373024.2 | 76940 | 0.8290 |
Ayunda Risu Ch. hololive-ID | 1065439.7 | 190670 | 0.8482 |
이시우 / Siu Lee 【NIJISANJI KR】 | 198800.0 | 26668 | 0.8817 |
KITSUNEKON | 447854.0 | 58960 | 0.8837 |
위피 / Wiffy 【NIJISANJI KR】 | 42911.5 | 3500 | 0.9246 |
유루리 / Ruri Yu 【NIJISANJI KR】 | 7829.5 | 400 | 0.9514 |
Among distributors with a total amount of spacha of 1 million yen or more, the top 10 distributors with a foreign currency rate of spacha
ChannelName | Foreign | ¥ | ForeignRate |
---|---|---|---|
Kana Sukoya [Nijisanji] Kana Sukoya | 2179453.4 | 15367825 | 0.1242 |
Suisei Channel | 3675447.1 | 25509246 | 0.1259 |
Mel Channel Night sky Mel channel | 364995.4 | 1847979 | 0.1649 |
Korone Ch.Inugami Korone | 8400464.4 | 36331019 | 0.1878 |
Aqua Ch.Minato Aqua | 10832336.8 | 34977601 | 0.2365 |
Haato Channel Akai Haato | 4379706.3 | 11658443 | 0.2731 |
Choco Ch.Choco Heitsuki | 1756487.1 | 4350998 | 0.2876 |
Towa Ch.Everlasting Towa | 6427437.7 | 13784228 | 0.3180 |
Matsuri Channel Summer Color Festival | 9173428.3 | 18616230 | 0.3301 |
Kagura Mea/ KaguraMea | 3249724.1 | 3817314 | 0.4598 |
What I found
――When it comes to Nijisanji, Kuzunoha (lower blue) and Mirei Gunmichi (lower orange) rank high in total. ――However, most of these two are Japanese yen, for example, if it is dollar, the ranking will be lower than other rivers --In the case of hololive, Kiryu Coco Chairman (lower blue), Uruha Rushia (lower orange), and Usada Pekora (lower green) are ranked high in total. ――However, the dollar is down, and the ranking is down, and others are down slightly. ――On the other hand, Korone-san (lower tea), Akua-san (lower yellow), Matsuri-san (upper pink), and Towa-san (upper yellow) have a higher percentage of foreign currencies than other rivers.
--Nijisanji
――Overall, the foreign currency rate is still low compared to the Japanese yen ――Still, hololive is higher than others. Will overseas profits continue to grow? ――Is there more chance that other offices will get the spill? ――I'm looking forward to the growth of overseas markets. --Overall, there was a tendency for a large number of spachas to be thrown on major announcements and birthday broadcasts. --Mae Kagura's mysterious high foreign currency rate is what? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
The aggregation is almost the same as the link destination of the previous article, and the visualization is omitted because it only organizes the data. .. ..
The comment data of YouTube is described in detail in the following article. https://zetta777.hatenablog.com/entry/2019/11/09/200816
There seem to be many types of Renderers, but to get the spacha amount, you can roughly get it with the following code (I have not checked it in detail ...). Here item corresponds to the item under addChatitemAction in the structure described in the link above. All we are doing is to be able to see the information that describes the amount of spacha for each renderer. .. ..
#Message only
if 'liveChatTextMessageRenderer' in item.keys():
renderer_type = 'liveChatTextMessageRenderer'
renderer = item[renderer_type]
#Spacha only
elif 'liveChatPaidMessageRenderer' in item.keys():
renderer_type = 'liveChatPaidMessageRenderer'
renderer = item[renderer_type]
#Both message and spacha(In some cases)
elif 'liveChatTickerPaidMessageItemRenderer' in item.keys():
renderer_type = 'liveChatTickerPaidMessageItemRenderer'
renderer = item[renderer_type]['showItemEndpoint']['showLiveChatItemEndpoint']['renderer']['liveChatPaidMessageRenderer']
#New member
elif 'liveChatMembershipItemRenderer' in item.keys():
renderer_type = 'liveChatMembershipItemRenderer'
renderer = item[renderer_type]
#New member(I don't know the difference with liveChatMembershipItemRenderer I haven't investigated)
elif 'liveChatTickerSponsorItemRenderer' in item.keys():
renderer_type = 'liveChatTickerSponsorItemRenderer'
renderer = item[renderer_type]['showItemEndpoint']['showLiveChatItemEndpoint']['renderer']['liveChatMembershipItemRenderer']
#I don't know anymore
elif 'liveChatPaidStickerRenderer' in item.keys():
renderer_type = 'liveChatPaidStickerRenderer'
renderer = item[renderer_type]
#I don't know anymore
elif 'liveChatTickerPaidStickerItemRenderer' in item.keys():
renderer_type = 'liveChatTickerPaidStickerItemRenderer'
renderer = item[renderer_type]['showItemEndpoint']['showLiveChatItemEndpoint']['renderer']['liveChatPaidStickerRenderer']
#I don't know anymore
elif 'liveChatPlaceholderItemRenderer' in item.keys():
renderer_type = 'liveChatPlaceholderItemRenderer'
renderer = item[renderer_type]
#I don't know anymore
elif 'liveChatModeChangeMessageRenderer' in item.keys():
renderer_type = 'liveChatModeChangeMessageRenderer'
renderer = item[renderer_type]
purchaseAmountText = renderer['purchaseAmountText']['simpleText'] if 'purchaseAmountText' in renderer.keys() else ''
def plot_stacked_bar(df, ax, title):
#Standardization
for col in df.columns:
df[col] /= df[col].sum()
for i in range(len(df)):
ax.bar(df.columns, df.iloc[i], bottom=df.iloc[:i].sum())
ax.set_title(title)