Author

Topic: Bitcoin transaction fees (feer per KB - in USD) with median, outliers, plots (Read 285 times)

legendary
Activity: 2310
Merit: 4085
Farewell o_e_l_e_o
See? Just pay 3 satoshis per byte and wait a day, rather than a hundred+ for half a day...
You always can get cheaper transaction fees if you can wait for 6 hours. Instant transactions with first confirmation within next 1 or 2 blocks eat up your capital because fee rates to use are always at tip of mempool (never be cheap).
legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
Well done. Its about time to debunk this myth of "high fees", the current storm is nothing whatsoever like late 2017 or early 2018.

And the wallets are racing for the top on their own when everything below is empty. This is what happens when people don't pay attention, don't let a wallet ever decide a fee.


Tx feerate 10 min:   280.9 sat/byte
Tx feerate 1 hrs:    266.5 sat/byte
Tx feerate 6 hrs:    164.0 sat/byte
Tx feerate 12 hrs:   105.9 sat/byte
Tx feerate 1 day:    3.0 sat/byte
Tx feerate 3 days:   1.1 sat/byte


See? Just pay 3 satoshis per byte and wait a day, rather than a hundred+ for half a day...
legendary
Activity: 2310
Merit: 4085
Farewell o_e_l_e_o
legendary
Activity: 2310
Merit: 4085
Farewell o_e_l_e_o
legendary
Activity: 2310
Merit: 4085
Farewell o_e_l_e_o
ABSTRACT

  • Make a plan to move your bitcoin when fee is cheap!
  • It seems we are in the uptrend with fee in last 3 years (2018 - 2020).
  • 2017 is the year with too many high-fee transactions (look at box plots with outliers are displayed in red circles and time series plot for daily median fee)
  • Two highest transactions is in 2013 and 2017 with fee per kB in USD at $296.6 and $230, respectively
  • 99436 blocks or 15.24 % of total blocks have fee per kB at 2+ USD
  • 5 blocks with fee per kB (in USD) >= 200 (1 in 2013 and 4 in 2017)
  • In 2020
    • Median of transaction is $2.3 per kb, with the interquartile range is $1.2 to $4.9.
    • In October: median is $5.1 per kb, with the interquartile range is $3.7 to $7.0. It means most of impatient people are paying more fees (more than 179%) in this month. It is the third highest month in 2020, just behind May and August.
  • Fee (reflects in fee difference) usually increases with bitcoin rises. I guess the reasons can be selling forces are dominantly from people who have available BTC on exchanges with BTC falls (investors hold in this case). In contrast, more investors will accept high fee and move their BTC from personal wallets to exchange wallets to cash out with BTC rises.



Data sources

Plots



For transactions
Code:
Summary for variables: feeperkbusd
     by categories of: year

     year |         N      mean        sd       p50       p25       p75       min       max
----------+--------------------------------------------------------------------------------
     2009 |   32490.0       0.0       0.0       0.0       0.0       0.0       0.0       0.0
     2010 |   67920.0       0.0       0.0       0.0       0.0       0.0       0.0       0.0
     2011 |   59627.0       0.0       0.2       0.0       0.0       0.0       0.0      36.6
     2012 |   54526.0       0.0       0.3       0.0       0.0       0.0       0.0      49.1
     2013 |   63433.0       0.2       1.6       0.1       0.1       0.2       0.0     296.6
     2014 |   58865.0       0.2       0.8       0.1       0.1       0.2       0.0     190.3
     2015 |   54321.0       0.1       0.3       0.1       0.1       0.1       0.0      47.6
     2016 |   54851.0       0.3       0.6       0.3       0.2       0.4       0.0     134.6
     2017 |   55928.0       9.7      19.3       3.7       1.6       8.7       0.0     230.0
     2018 |   54498.0       5.2      13.1       1.4       0.7       2.7       0.0     134.0
     2019 |   54232.0       2.5       2.6       1.5       0.7       3.1       0.0      44.0
     2020 |   41933.0       3.3       3.3       2.0       1.0       4.5       0.0      23.6
----------+--------------------------------------------------------------------------------
    Total |  652624.0       1.8       7.5       0.1       0.0       0.8       0.0     296.6
-------------------------------------------------------------------------------------------

For median of daily transactions
  • I calculated median fees of all transactions for each day
  • Then get summary stats over years

Last 4 years only (2017 - 2020)

Code:
Summary for variables: median
     by categories of: year

    year |         N      mean        sd       p50       p25       p75       min       max
---------+--------------------------------------------------------------------------------
    2009 |     358.0       0.0       0.0       0.0       0.0       0.0       0.0       0.0
    2010 |     365.0       0.0       0.0       0.0       0.0       0.0       0.0       0.0
    2011 |     365.0       0.0       0.0       0.0       0.0       0.0       0.0       0.2
    2012 |     366.0       0.0       0.0       0.0       0.0       0.0       0.0       0.0
    2013 |     365.0       0.2       0.1       0.1       0.1       0.2       0.0       0.6
    2014 |     365.0       0.2       0.1       0.2       0.1       0.2       0.1       0.4
    2015 |     365.0       0.1       0.0       0.1       0.1       0.1       0.0       0.2
    2016 |     366.0       0.3       0.2       0.3       0.2       0.4       0.1       0.7
    2017 |     365.0       9.9      18.6       4.2       1.8       9.0       0.6     153.6
    2018 |     365.0       4.8      12.2       1.2       0.9       2.3       0.3      71.4
    2019 |     365.0       2.4       2.3       1.7       0.8       3.0       0.3      14.2
    2020 |     287.0       3.4       2.8       2.3       1.2       4.9       0.6      12.9
---------+--------------------------------------------------------------------------------
   Total |    4297.0       1.7       7.2       0.1       0.0       1.0       0.0     153.6
------------------------------------------------------------------------------------------

Categorisation of transactions with 2 groups of fee
  • Cutoff: 2 USD/ kB
  • I chose the cutoff based on median of all transactions is at 0.1, p25 = 0, p75 = 0.8. Potential high outliers will be 1.5*0.8+0.8 = 2 USD

Code:
 Fee per KB |                                                                year
   (in USD) |      2009       2010       2011       2012       2013       2014       2015       2016       2017       2018       2019       2020 |     Total
------------+------------------------------------------------------------------------------------------------------------------------------------+----------
< 2 USD/ kb |    32,490     67,920     59,618     54,506     63,150     58,771     54,313     54,763     18,577     35,375     32,462     21,243 |   553,188
            |    100.00     100.00      99.98      99.96      99.55      99.84      99.99      99.84      33.22      64.91      59.86      50.66 |     84.76
------------+------------------------------------------------------------------------------------------------------------------------------------+----------
 2+ USD/ kb |         0          0          9         20        283         94          8         88     37,351     19,123     21,770     20,690 |    99,436
            |      0.00       0.00       0.02       0.04       0.45       0.16       0.01       0.16      66.78      35.09      40.14      49.34 |     15.24
------------+------------------------------------------------------------------------------------------------------------------------------------+----------
      Total |    32,490     67,920     59,627     54,526     63,433     58,865     54,321     54,851     55,928     54,498     54,232     41,933 |   652,624
            |    100.00     100.00     100.00     100.00     100.00     100.00     100.00     100.00     100.00     100.00     100.00     100.00 |    100.00


5 blocks with fee per kB >= $ 200
Code:
        +------------------------------+
        | blockid   feeperkbusd   year |
        |------------------------------|
273641. |  273640      296.6493   2013 |
        |------------------------------|
470190. |  470189      225.7396   2017 |
500440. |  500439      201.0803   2017 |
500522. |  500521       206.068   2017 |
500547. |  500546       229.978   2017 |
        +------------------------------+

In 2020
  • median: Median of fee per kb (in USD) by each date
  • median_y: Median of fee per kb (in USD) for the whole year 2020 so far
  • fee_dif = median - median_y.
  • fee_difpc = (median - median_y)/median*100.
In the plot, the median_y value is presented by a red horizontal line.


Raw results
Median
Code:
Summary for variables: median
     by categories of: month

    month |         N      mean        sd       p50       p25       p75       min       max
----------+--------------------------------------------------------------------------------
   2020m1 |      31.0       1.0       0.2       1.0       0.7       1.2       0.6       1.4
   2020m2 |      29.0       1.5       0.3       1.4       1.2       1.7       1.0       2.2
   2020m3 |      31.0       1.7       0.7       1.5       1.1       2.2       0.8       3.8
   2020m4 |      30.0       1.1       0.8       0.9       0.8       1.1       0.6       5.4
   2020m5 |      31.0       5.8       3.1       5.2       3.4       6.9       2.5      12.9
   2020m6 |      30.0       2.3       1.1       1.9       1.6       2.8       1.1       6.3
   2020m7 |      31.0       4.5       3.1       3.2       2.2       6.1       1.4      12.7
   2020m8 |      31.0       6.8       2.6       6.8       4.6       8.6       2.9      12.5
   2020m9 |      30.0       4.8       2.1       4.0       3.3       5.6       2.2       9.8
  2020m10 |      13.0       5.4       1.8       5.1       3.7       7.0       2.7       8.0
----------+--------------------------------------------------------------------------------
    Total |     287.0       3.4       2.8       2.3       1.2       4.9       0.6      12.9
-------------------------------------------------------------------------------------------

Fee_dif
Code:
Summary for variables: fee_dif
     by categories of: month

    month |         N      mean        sd       p50       p25       p75       min       max
----------+--------------------------------------------------------------------------------
   2020m1 |      31.0      -1.0       0.2      -1.0      -1.2      -0.8      -1.4      -0.6
   2020m2 |      29.0      -0.5       0.3      -0.6      -0.7      -0.3      -0.9       0.2
   2020m3 |      31.0      -0.3       0.7      -0.5      -0.9       0.2      -1.2       1.8
   2020m4 |      30.0      -0.8       0.8      -1.0      -1.2      -0.9      -1.4       3.4
   2020m5 |      31.0       3.8       3.1       3.2       1.4       5.0       0.5      11.0
   2020m6 |      30.0       0.3       1.1      -0.0      -0.4       0.8      -0.9       4.3
   2020m7 |      31.0       2.6       3.1       1.3       0.3       4.1      -0.5      10.8
   2020m8 |      31.0       4.8       2.6       4.9       2.6       6.6       0.9      10.5
   2020m9 |      30.0       2.8       2.1       2.1       1.3       3.7       0.2       7.8
  2020m10 |      13.0       3.5       1.8       3.1       1.8       5.1       0.7       6.0
----------+--------------------------------------------------------------------------------
    Total |     287.0       1.4       2.8       0.3      -0.8       2.9      -1.4      11.0
-------------------------------------------------------------------------------------------

In percent
Code:
     +---------------------+
     |   month   fee_difpc |
     |---------------------|
  1. |  2020m1   -50.73672 |
  2. |  2020m2   -25.70358 |
  3. |  2020m3    -13.5845 |
  4. |  2020m4   -42.70243 |
  5. |  2020m5    195.7841 |
     |---------------------|
  6. |  2020m6    15.97533 |
  7. |  2020m7    129.9602 |
  8. |  2020m8    244.3547 |
  9. |  2020m9    142.0839 |
 10. | 2020m10     175.995 |
     +---------------------+

Bitcoin price and fee difference (in %)
It is overview and next steps, I will move further by looking at smaller rolling windows (weekly median, not periodic median like 1-year or 2-year). Smaller rolling windows can help to see better effects of bitcoin price on median of daily fees and their correlations.

  • In plots, I used multipliers for fee_difpc variables simply to make more visually comparative.
  • Median: calculated as same as above
  • Median_y: calculated for specific period: 2020 only or from 2019 to 2020.

Jump to: