Why our growth statistics and finances are open
Neocities is an Open Company startup, and are committed to openness as a defining element in how we create value.
In the past, companies would not open source their software because they considered it dangerous to their business to do so. It took a long time to convince companies to use open source software, but today virtually all companies adopt and use open source software for building their infrastructure, and that's good for everybody.
Despite this, most companies today still treat their backend infrastructure and business operations as proprietary. The result is an erosion of user trust, where users become dependant on proprietary services that have bugs they can't help fix, financial sustainability problems they can't discover, and limitations they can't understand. We believe this is the biggest problem facing startups today.
We do not feel that opening of our finances is as risky as is currently believed, and that the increased trust we gain from doing it more than makes up for the risk. So we have decided to open our growth statistics and finances.
We believe the trust relationship we build with our users from being honest and accountable in our operations is better for us in the long-term than being proprietary and secretive. So we invite our users to share in our failings and successes. It is our hope that this will help to improve Neocities as a service, and that it inspires other startups to share this information in the future, for their own benefit and the benefit of their users.
Note that we do not disclose everything publicly. For example, we do not currently reveal the locations of our servers, the identities of our users, investors (if they choose to be anonymous) or any salaries or dividends (in our case, member ownership percentages) we choose to issue. There are very legitimate security and privacy considerations to consider when providing open data, and we understand and respect that.
If you have any questions regarding our finances or ideas for improving our business model, please don't hesitate to contact us.
General Stats
Total Hits (sites hosted on Neocities) | <%= @stats[:total_hosted_site_hits].to_comma_separated %> |
Total Views (sites hosted on Neocities) | <%= @stats[:total_hosted_site_views].to_comma_separated %> |
Total Sites | <%= @stats[:total_sites] %> |
Total Unbanned Sites | <%= @stats[:total_unbanned_sites] %> |
Total Banned Sites | <%= @stats[:total_banned_sites] %> |
Total NSFW Sites | <%= @stats[:total_nsfw_sites] %> |
Total Unbanned NSFW Sites | <%= @stats[:total_unbanned_nsfw_sites] %> |
Total Banned NSFW Sites | <%= @stats[:total_banned_nsfw_sites] %> |
Monthly Statistics
Year | Month | Sites Created | Change | Total | Supporters |
---|---|---|---|---|---|
<%= stat[:date].year %> | <%= stat[:date].strftime('%B') %> <% if Time.now.month == stat[:date].month && Time.now.year == stat[:date].year %> current <% end %> | <%= stat[:sites_created] %> | <% if i != 0 && i != @stats[:monthly_stats].length-1 %> <%= (((stat[:sites_created].to_f - @stats[:monthly_stats][i-1][:sites_created]) / @stats[:monthly_stats][i-1][:sites_created]) * 100).round(2) %>% <% end %> | <%= stat[:total_from_start] %> | <%= stat[:supporters] %> |
Supporters
Current Recurring Monthly Revenue (after fees): <%= format("$%.2f", @stats[:monthly_revenue]) %> (<%= format("$%.2f", @stats[:monthly_revenue]*12) %>/year)
Active Supporters: <%= @stats[:subscriptions].select {|s| s[:status] == 'active' }.length %>
Cancelled: <%= @stats[:cancelled_subscriptions] %>
Burn Rate
Approximate server expenses (burn rate): <%= format("$%.2f", @stats[:expenses]) %>/mo
Revenue Goals
Neocities pays for itself:
<%= format '%.2f', @stats[:percent_until_profit] %>% of goal ($<%= format('%.2f', @stats[:monthly_revenue]) %> / $<%= format('%.2f', @stats[:expenses]) %>)
Neocities earnings rise above US poverty threshold:
<%= format '%.2f', @stats[:poverty_threshold_percent] %>% of goal ($<%= format('%.2f', @stats[:monthly_revenue]) %> / ($<%= format('%.2f', @stats[:poverty_threshold]) %> / 12 months + $<%= @stats[:expenses] %>)) * 100
Neocities earns average US developer salary:
<%= format '%.2f', @stats[:percent_until_developer_salary] %>% of goal ($<%= format('%.2f', @stats[:monthly_revenue]) %> / ($<%= format('%.2f', @stats[:average_developer_salary]) %> / 12 months + $<%= @stats[:expenses] %>)) * 100