-1

Sorry for the loaded question, but I am asking in earnest. I'm new around these parts. When one of my coworkers told me there was a Stack Exchange site for cooking I immediately hopped on to investigate.

I love the idea. I think the concept really has legs. Buuuut... it looks like we are in our third(?) year now and activity seems very low to me.

Is SA dying or am I just overreacting and trying to compare us to the larger sites?

If it is dying, how do we revive it? Is there a more general Stack Exchange resource available on this topic? "How to drive activity on a SE site in 5 easy steps" I suppose the obvious answer is "ask more questions." What else can we do?

There is fairly recent precedence for beta communities being shut down (http://blog.stackoverflow.com/2012/04/when-a-site-grows-quiet/). I realize we are not in that stage anymore, but are we in danger of something like this happening to SA?

7

You're overreacting and trying to compare us to larger sites. Our activity is not declining over time, it's just not as high as the very biggest sites. And we're not even the smallest.

I see this is the only StackExchange site you've really been active on, and you're pretty new here, so I suspect you're looking at the more famous sites for comparison. No other sites are like StackOverflow. Even SuperUser, ServerFault, and Ask Ubuntu (an official OS support site) are an order of magnitude lower activity. It doesn't mean they're not successful.

If the activity's not high enough for you, and you want to do something about it, ask questions or find people who will. By far the most common problem StackExchange sites have is too many people with answers and not enough people with questions. The most active users (I'm no exception) have answered way more than they've asked.

  • Yes, this is the first SE site I've really cared to dig in to. I think the encouraging bit in your post is the "activity is not declining over time" part. That's good to know. Thanks for sharing. – Preston Mar 8 '13 at 15:34
4

Look at the traffic stats. We are around the 15th place in a network with dozens of sites, ahead of established sites like Photography and even Meta SO, which, you should agree, has a pretty active community. The mod stats you cannot see also show a healthy, slowly rising amount of questions and answers posting.

Two days ago I compared us in chat with a sleepy, small province town, as opposed to the big metropoles of the Triad. But just because a town is small, it doesn't mean it is dying. All processes required for the community to be self-sustaining are present, they just happen at a much slower speed. We are accustomed to this, and don't mind it. In fact, we would probably start getting grumpy if our idyllic site started getting as hectic as the large ones :)

Another sign that we are not dying: we had a new moderator elected just a few days ago. You can rest assured that the Stack Exchange team knows more about the state of each of the sites than any of us. If they thought that Cooking is dying, they wouldn't have gone through the election process, which I think is logically connected to growth.

  • Another good point. 15th is not bad at all. Very cool. Thanks. – Preston Mar 8 '13 at 18:13
  • 1
    See actual data in the answer I posted.... 8.2 questions per day, so far this year. – SAJ14SAJ Mar 8 '13 at 21:00
4

I have used the StackExchange API to pull some data from early this calendar year, counting questions by date.

Here is the trend: Graph of 2013 question trending

The bottom line is that once the holiday season passed, our questions per day have gone down, and are not a huge number in general.

Our average questions per day for the analyzed period is 8.2 questions, although that is influenced by the higher peak at the beginning of the year.

Here is the detail.

1/1/2013 12 
1/2/2013 10 
1/3/2013 19 
1/4/2013 18 
1/5/2013 13 
1/6/2013 17 
1/7/2013 25 
1/8/2013 24 
1/9/2013 10 
1/10/2013 15 
1/11/2013 9 
1/12/2013 8 
1/13/2013 12 
1/14/2013 21 
1/15/2013 11 
1/16/2013 6 
1/17/2013 7 
1/18/2013 7 
1/20/2013 5 
1/21/2013 6 
1/22/2013 2 
1/19/2013 3 
1/24/2013 7 
1/23/2013 2 
1/25/2013 6 
1/26/2013 7 
1/27/2013 9 
1/28/2013 9 
1/29/2013 3 
1/30/2013 7 
1/31/2013 5 
2/1/2013 11 
2/2/2013 9 
2/3/2013 2 
2/4/2013 12 
2/5/2013 3 
2/6/2013 4 
2/7/2013 4 
2/8/2013 5 
2/9/2013 5 
2/10/2013 5 
2/11/2013 7 
2/12/2013 9 
2/14/2013 9 
2/15/2013 8 
2/16/2013 5 
2/13/2013 2 
2/17/2013 3 
2/18/2013 6 
2/19/2013 6 
2/20/2013 8 
2/21/2013 9 
2/22/2013 4 
2/23/2013 9 
2/24/2013 6 
2/25/2013 12 
2/26/2013 4 
2/27/2013 7 
2/28/2013 7 
3/1/2013 7 
3/2/2013 9 
3/3/2013 7 
3/4/2013 6 
3/5/2013 6 
3/6/2013 5 
 TOTAL   536 

I apologize for the ugly formatting, but Markdown is decidedly data unfriendly, doesn't support table HTML tags, and I got tired of fighting with it.


I am adding the actual code used to create this data set, in case anyone sees a problem with it. Note that I ran it in LINQPAD (using the C# program option) for convenience so it doesn't look like a typical C# program. It uses the ServiceStack.Text library for JSON processing. The rest of the references are pure .NET.

void Main()
{
    var baseUrl = "http://api.stackexchange.com/2.1/questions?fromdate=1356998400&todate=1362614400&order=asc&sort=activity&site=cooking&filter=!6XZr46PUugHGn&pagesize=100";

    IEnumerable<Question> allQ = new List<Question>();

    var more = true;
    WebClient client = new WebClient();
    var page = 0;
    while (more) {
        var content = Util.GetUrl(baseUrl + (page == 0 ? "" : "&page=" + page ));

        var data = content.FromJson<Response>();    

        allQ = allQ.Concat(data.items);
        more = data.has_more;

        if (data.has_more) {
            page += 1;
        }

        Console.WriteLine("Got page {0}, Count={1}, More={2}", page, data.items.Count(), more);     
    }

    var analysis = 
        from q in allQ      
        group q by q.Created.HasValue ? q.Created.Value.Date  : DateTime.MinValue into day      
        select new { 
            date = day.Key.ToString("d"),
            count = day.Count(),
            titles = from m in day select m.title   
        };


    LINQPad.Extensions.Dump(analysis);
}

public class Response {
   public Question[] items { set; get; }
   public int quota_remaining { set; get; }
   public int quota_max { set; get; }
   public bool has_more { set; get; }
}

public class Question {
   public string question_id { set; get; }
   public string creation_date { set; get; }   
   public string last_activity_date { set; get; }
   public int score { set; get; }
   public int answer_count{ set; get; }
   public string owner{ set; get; }
   public string title{ set; get; }
   public string[] tags{ set; get; }
   public int view_count{ set; get; }
   public string link{ set; get; }
   public bool is_answered{ set; get; }

    public DateTime? Created { get { return AsDate(creation_date); } }   

    public static DateTime? AsDate(string arg) {
        long d;
        var ok = long.TryParse(arg, out d);
        if (!ok) { return null; }

        var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
        return epoch.AddSeconds(d);
   }
}



public class Util {

    public static string GetUrl(string url) {
        // Download url.
        using (WebClient client = new WebClient())
        {
            client.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";
            byte[] data = client.DownloadData(url);
            byte[] decompress = Decompress(data);
            string text = System.Text.Encoding.UTF8.GetString(decompress);

            Console.WriteLine("   URL: {0}", url);
            Console.WriteLine("   Size from network: {0}", data.Length);
            Console.WriteLine("   Size decompressed: {0}", decompress.Length);
            Console.WriteLine("   First chars:       {0}", text.Substring(0, 5));

            return text;
        }
}

    static byte[] Decompress(byte[] gzip)
    {
        // Create a GZIP stream with decompression mode.
        // ... Then create a buffer and write into while reading from the GZIP stream.
        using (GZipStream stream = new GZipStream(new MemoryStream(gzip), CompressionMode.Decompress))
        {
            const int size = 4096;
            byte[] buffer = new byte[size];
            using (MemoryStream memory = new MemoryStream())
            {
            int count = 0;
            do
            {
                count = stream.Read(buffer, 0, size);
                if (count > 0)
                {
                memory.Write(buffer, 0, count);
                }
            }
            while (count > 0);
            return memory.ToArray();
            }
        }
    }
}
  • I just discovered this results per day tool. However, the results here do not reconcile with mine. The thing is, I pulled the individual question titles (too much data to upload directly here), so don't know what that query is doing . It certainly does not return 1000 rows as it should--it returns 91. – SAJ14SAJ Mar 8 '13 at 21:14
  • 1
    The holiday spike is unsurprising - it happens all over the internet. Try looking on Google Trends for things like recipes or dinner ideas. – Cascabel Mar 8 '13 at 21:47
  • 1
    @Jefromi The surprising part is that it lasted past January 1... I am not making a value judgement on this data, just saying this is the actual level of question activity. Truthfully, I had been wondering myself if this site continues to be viable, but never wanted to ask because poking dragons is unwise. – SAJ14SAJ Mar 8 '13 at 21:49
4

Our traffic is following a roughly exponential curve upward, same as the more popular sites. This is a fact. We just didn't start off with anywhere near the traffic of Stack Overflow or the Gaming site.

So no, the site is not dying; in fact, it's grown vastly in terms of page views/unique visits. You're not the first person to ask, but the answer is pretty much always the same.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .