ThisCalculator

Everyday

Steam Sales Data: Forecast Long-Tail Revenue

Updated · Standard formula, shown below

Steam Sales Data: Forecast Long-Tail Revenue

This guide shows you how to pull your Steam sales data, break it down by age since release, and build a simple forecast for the long-tail revenue your game will earn in the coming months. You’ll need access to your Steamworks backend (the Sales & Revenue Reports page) and a spreadsheet tool like Excel, Google Sheets, or LibreOffice Calc. No advanced statistics are required—just basic formulas and a little patience.

What You’ll Need

  • Steamworks partner account with your game’s sales data (you must be the developer or have analyst access).
  • A spreadsheet application (Excel, Google Sheets, LibreOffice Calc).
  • Your game’s release date (day, month, year).
  • Optional but helpful: wishlist count at launch, historical price changes, and major update dates.

Step-by-Step

  1. Export your sales data from Steamworks. Go to the Steamworks partner site, select your game, then navigate to Reports > Sales & Revenue Reports. Set the date range to start from your release date and end at today. Choose the “Daily” granularity (not monthly) and export as CSV. If the range is too large, export in chunks (e.g., year by year) and combine them.
  2. Clean the data in your spreadsheet. Open the CSV and keep only the columns: Date, Units Sold (net), and Revenue (net after Steam’s cut). Remove any rows that are refunds or chargebacks (they show as negative units) if you want net sales; otherwise keep them to see gross. Ensure the Date column is formatted as a proper date (YYYY-MM-DD) and sort by date ascending.
  3. Calculate days since release. Add a new column called “Days Since Release.” For each row, compute: =DATE(YEAR(A2),MONTH(A2),DAY(A2)) - DATE(YYYY,MM,DD) where YYYY-MM-DD is your release date. Make sure the result is a number (not a date format). For example, if your release date is 2023-01-15 and a row is 2023-01-20, the formula returns 5.
  4. Aggregate sales by week since release. Create a new sheet. In column A, list week numbers: 0, 1, 2, … up to the current week (e.g., 52 weeks if you’ve been out a year). Week 0 means days 0-6 after release, week 1 means days 7-13, etc. Use a formula to calculate the week for each row: =INT(D2/7) where D2 is the days since release. Then use a pivot table or SUMIF to get total units sold and total revenue per week. This smooths out daily noise.
  5. Plot the weekly revenue curve. Make a line chart with weeks on the X-axis and revenue on the Y-axis. You’ll see a spike in the first few weeks, then a decay. This is your long-tail curve. For most games, the shape follows a power-law decay: revenue in week w is roughly proportional to w^(-k) where k is between 1 and 2.
  6. Fit a power-law trendline. In Excel/Sheets, add a trendline to the chart. Choose “Power” as the type. Display the equation on the chart (e.g., y = a * x^b). The exponent b is negative (e.g., -1.3). Note the R² value; if it’s above 0.7, the fit is decent. If not, your sales may have had spikes (sales events, updates) that distort the curve—consider using data from after the first month.
  7. Forecast future weeks. Use the fitted equation to predict revenue for the next 26 weeks (or 52). For each future week number w, compute predicted_revenue = a * w^b. Sum those predictions to get the total expected long-tail revenue over that period. If you want a range, calculate the 80% confidence interval using the standard error of the regression (spreadsheet functions like STEYX can help).
  8. Adjust for known events. If you have a major update or a big sale planned, you can add a one-time boost. A common heuristic: a Steam Daily Deal can bring in 2-5x a normal week’s sales, but it’s unpredictable. For a conservative forecast, ignore these bumps; for an optimistic one, add them manually.
  9. Validate with a holdout. To test your forecast, go back and pretend you’re 3 months ago. Fit the curve using only data up to that point, then compare the predicted next 3 months to what actually happened. If the error is more than 30%, adjust your method (e.g., exclude the first 2 weeks or use a moving average).
  10. Document your assumptions. Write down the date of the forecast, the data range used, the fitted parameters, and any adjustments. This makes it easier to update later and to explain to stakeholders.

Common Mistakes

  • Using monthly data. Monthly bins hide the early spike and make the power-law fit poor. Always use weekly or daily granularity.
  • Including refunds as negative sales. While refunds are part of net revenue, they can create negative weeks that break the log-log fit. Use net units (after refunds) but if you have a week with negative revenue, set it to zero or remove it.
  • Forgetting to account for time zones. Steam reports dates in Pacific Time (PST/PDT). If you compare to your own records, make sure you’re not off by a day.
  • Overfitting to early spikes. The first week often includes pre-purchase sales and launch hype. Exclude the first 1-2 weeks from the fit if you want a stable long-tail estimate.
  • Ignoring price changes. If you changed your price during the period, the revenue curve will have a permanent shift. Fit separate curves for each price period, or normalize revenue by price to get unit sales.

Tips

  • Use units instead of revenue for the fit. Units are less affected by discounts and regional pricing. Forecast units, then multiply by your average revenue per unit (net) to get revenue.
  • Update the forecast monthly. As new data comes in, re-fit the curve. The exponent tends to flatten over time, so your forecast will become more accurate.
  • Compare with similar games. If you know a game with a similar genre and launch size, compare your decay exponent. A typical exponent is around -1.5, but it varies widely.
  • Use the forecast for budgeting. Long-tail revenue is useful for planning server costs, community management, and future development. But always treat it as a rough estimate—actual sales can be 50% higher or lower.
  • Watch for seasonal effects. Steam sales in June and December can create bumps. If you’re forecasting over a year, consider adding a seasonal factor (e.g., 1.5x in summer and 2x in winter) based on historical patterns.

Troubleshooting

  • My data has gaps (weeks with zero sales). This is normal for older games. Keep the zeros in the dataset; the power-law fit will still work. If you have many zeros, consider using a logarithmic moving average.
  • The power-law fit gives R² below 0.5. This means your sales don’t follow a smooth decay—perhaps you had a big viral spike or a major update. Try fitting only the last 6 months of data, or use a linear regression on log(revenue) vs log(week) but exclude the first 4 weeks.
  • My forecast predicts negative revenue. That’s impossible. If your exponent b is positive (increasing sales), your game is still growing—likely due to a recent update or sale. In that case, use a simple average of the last 4 weeks as a flat forecast, or wait for the curve to stabilize.
  • I don’t have the exact release date. Use the date of your first sale from the export. It may be a day or two later than the official release if you had a pre-order period.
  • My spreadsheet can’t handle the data size. Steam exports can be large if you’ve been out for years. Use filters to exclude rows before your release, or use a database tool like SQLite for heavy lifting.

Frequently Asked Questions

How accurate is a power-law forecast?

For most games, a power-law fit gives a rough estimate within ±30% over a 6-month horizon. It’s better than guessing but not precise. The accuracy improves as you get more data and as the game ages.

Should I forecast revenue or units?

Units are more stable because revenue varies with price and regional discounts. Forecast units, then multiply by your average net revenue per unit (total net revenue / total units) to get revenue.

What if my game had a major update that re-spiked sales?

That’s a common pattern. Fit the curve only to data after the update, or treat the update as a separate “launch” and forecast from there. The old data before the update is not representative of the current long tail.

Can I use this method for a free-to-play game?

No. Free-to-play revenue comes from in-game purchases and is driven by player retention, not sales decay. This method only works for paid games with a one-time purchase price.

How far into the future can I forecast?

Forecasting beyond 12 months is unreliable because the curve flattens and external factors (sequel, bundle deals, platform changes) dominate. Stick to 6-12 months for any meaningful confidence.

Do I need to include Steam’s cut in the revenue?

Yes, use net revenue after Steam’s 30% cut (or your negotiated rate). That’s what you actually receive. The export includes both gross and net; use the net column.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.