Applying the concept of concerns, you may group together dependent scopes inside a module and include that module in the models as you need. Moreover as your scopes do accept arguments, using a class method is the preferred way in place of scopes. For more, please check Passing in arguments.
def clicks_between(start_date, end_date)
year = Year.new(year) if year.is_a?(Integer)
send('clicks_between', year.start, year.end)
In your model:
class SomeModel < ActiveRecord::Base
class OtherModel < ActiveRecord::Base
Now you can call scopes as usual: